Mercurial > pmdwin
changeset 0:c55ea9478c80
Hello Gensokyo!
author | Emmanuel Gil Peyrot <linkmauve@linkmauve.fr> |
---|---|
date | Tue, 21 May 2013 10:29:21 +0200 |
parents | |
children | 83859b2e2bae |
files | Makefile _udivdi3.c alsa_pcm_api.c alsa_pcm_api.h fmgen.c fmgen/e_expf.c fmgen/op.h fmgen/opna.c fmgen/opna.h fmgen/psg.c fmgen/psg.h fmgen/rhythmdata.c fmgen/rhythmdata.h getopt.c jisx0208.h lfg.c memcpy.S oss_audio.c pmd_play.c pmdwin.cpp pmdwin.h table.c wave_out.c |
diffstat | 23 files changed, 17597 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
new file mode 100644 --- /dev/null +++ b/Makefile @@ -0,0 +1,23 @@ +CC = gcc +CFLAGS += -Ifmgen -Wall -pipe -O2 -fno-math-errno -fno-omit-frame-pointer -fno-asynchronous-unwind-tables +CXXFLAGS += -Ifmgen -Wall -Wno-write-strings -pipe -O2 -fno-math-errno -fno-exceptions -fno-rtti -fno-omit-frame-pointer -fno-asynchronous-unwind-tables + +# Uncomment exactly one of the following: +AUDIO_DRV = oss_audio.o +# AUDIO_DRV = alsa_pcm_api.o +# CFLAGS += -DUSE_ALSA=1 +# AUDIO_DRV = wave_out.o + +all: pmdwin +%.o: %.c + $(CC) $(CFLAGS) -c $< + +%.o: %.cc + $(CXX) $(CXXFLAGS) -c $< + +clean: + rm *.o pmdwin + +pmdwin: pmd_play.o pmdwin.o table.o getopt.o lfg.o $(AUDIO_DRV) fmgen.o + $(CC) -o $@ $^ +
new file mode 100644 --- /dev/null +++ b/_udivdi3.c @@ -0,0 +1,219 @@ +#include <stdint.h> +#define W_TYPE_SIZE 32 +struct DWstruct { + uint32_t low, high; +}; +typedef union { + struct DWstruct s; + int64_t ll; +} DWunion; + +#define add_ssaaaa(sh, sl, ah, al, bh, bl) \ + do { \ + uint32_t __x; \ + __x = (al) + (bl); \ + (sh) = (ah) + (bh) + (__x < (al)); \ + (sl) = __x; \ + } while (0) + +#define sub_ddmmss(sh, sl, ah, al, bh, bl) \ + do { \ + uint32_t __x; \ + __x = (al) - (bl); \ + (sh) = (ah) - (bh) - (__x > (al)); \ + (sl) = __x; \ + } while (0) + +#define umul_ppmm(w1, w0, u, v) \ + __asm__ ("mul{l} %3" \ + : "=a" ((uint32_t) (w0)), \ + "=d" ((uint32_t) (w1)) \ + : "%0" ((uint32_t) (u)), \ + "rm" ((uint32_t) (v))) + +#define udiv_qrnnd(q, r, n1, n0, dv) \ + __asm__ ("div{l} %4" \ + : "=a" ((uint32_t) (q)), \ + "=d" ((uint32_t) (r)) \ + : "0" ((uint32_t) (n0)), \ + "1" ((uint32_t) (n1)), \ + "rm" ((uint32_t) (dv))) + +static inline uint32_t clz_32 (uint32_t x) +{ + unsigned int ret; + __asm__ volatile ("or $1, %1 \n\t" + "bsr %1, %0 \n\t" + "sub $31, %0 \n\t" + "neg %0 \n\t" + :"=a" (ret):"D" (x)); + return ret; +} + +uint64_t __udivmoddi4 (uint64_t n, uint64_t d, uint64_t * rp) +{ + const DWunion nn = {.ll = n }; + const DWunion dd = {.ll = d }; + DWunion rr; + uint32_t d0, d1, n0, n1, n2; + uint32_t q0, q1; + uint32_t b, bm; + + d0 = dd.s.low; + d1 = dd.s.high; + n0 = nn.s.low; + n1 = nn.s.high; + +#if !UDIV_NEEDS_NORMALIZATION + if (d1 == 0) { + if (d0 > n1) { + /* 0q = nn / 0D */ + udiv_qrnnd (q0, n0, n1, n0, d0); + q1 = 0; + /* Remainder in n0. */ + } else { + /* qq = NN / 0d */ + if (d0 == 0) + d0 = 1 / d0; /* Divide intentionally by zero. */ + udiv_qrnnd (q1, n1, 0, n1, d0); + udiv_qrnnd (q0, n0, n1, n0, d0); + /* Remainder in n0. */ + } + if (rp != 0) { + rr.s.low = n0; + rr.s.high = 0; + *rp = rr.ll; + } + } + +#else /* UDIV_NEEDS_NORMALIZATION */ + + if (d1 == 0) { + if (d0 > n1) { + /* 0q = nn / 0D */ + bm = clz_32 (d0); + if (bm != 0) { + /* Normalize, i.e. make the most significant bit of the + * denominator set. */ + d0 = d0 << bm; + n1 = (n1 << bm) | (n0 >> (W_TYPE_SIZE - bm)); + n0 = n0 << bm; + } + udiv_qrnnd (q0, n0, n1, n0, d0); + q1 = 0; + /* Remainder in n0 >> bm. */ + } else { + /* qq = NN / 0d */ + if (d0 == 0) + d0 = 1 / d0; /* Divide intentionally by zero. */ + bm = clz_32 (d0); + if (bm == 0) { + /* From (n1 >= d0) /\ (the most significant bit of d0 is set), + * conclude (the most significant bit of n1 is set) /\ (the + * leading quotient digit q1 = 1). + * + * This special case is necessary, not an optimization. + * (Shifts counts of W_TYPE_SIZE are undefined.) */ + n1 -= d0; + q1 = 1; + } else { + /* Normalize. */ + b = W_TYPE_SIZE - bm; + d0 = d0 << bm; + n2 = n1 >> b; + n1 = (n1 << bm) | (n0 >> b); + n0 = n0 << bm; + udiv_qrnnd (q1, n1, n2, n1, d0); + } + /* n1 != d0... */ + udiv_qrnnd (q0, n0, n1, n0, d0); + /* Remainder in n0 >> bm. */ + } + + if (rp != 0) { + rr.s.low = n0 >> bm; + rr.s.high = 0; + *rp = rr.ll; + } + } +#endif /* UDIV_NEEDS_NORMALIZATION */ + else { + if (d1 > n1) { + /* 00 = nn / DD */ + q0 = 0; + q1 = 0; + /* Remainder in n1n0. */ + if (rp != 0) { + rr.s.low = n0; + rr.s.high = n1; + *rp = rr.ll; + } + } + else { + /* 0q = NN / dd */ + bm = clz_32 (d1); + if (bm == 0) { + /* From (n1 >= d1) /\ (the most significant bit of d1 is set), + * conclude (the most significant bit of n1 is set) /\ (the + * quotient digit q0 = 0 or 1). + * + * This special case is necessary, not an optimization. */ + + /* The condition on the next line takes advantage of that + * n1 >= d1 (true due to program flow). */ + if (n1 > d1 || n0 >= d0) { + q0 = 1; + sub_ddmmss (n1, n0, n1, n0, d1, d0); + } else { + q0 = 0; + } + q1 = 0; + if (rp != 0) { + rr.s.low = n0; + rr.s.high = n1; + *rp = rr.ll; + } + } + else { + uint32_t m1, m0; + /* Normalize. */ + b = W_TYPE_SIZE - bm; + d1 = (d1 << bm) | (d0 >> b); + d0 = d0 << bm; + n2 = n1 >> b; + n1 = (n1 << bm) | (n0 >> b); + n0 = n0 << bm; + udiv_qrnnd (q0, n1, n2, n1, d1); + umul_ppmm (m1, m0, q0, d0); + if (m1 > n1 || (m1 == n1 && m0 > n0)) { + q0--; + sub_ddmmss (m1, m0, m1, m0, d1, d0); + } + q1 = 0; + /* Remainder in (n1n0 - m1m0) >> bm. */ + if (rp != 0) { + sub_ddmmss (n1, n0, n1, n0, m1, m0); + rr.s.low = (n1 << b) | (n0 >> bm); + rr.s.high = n1 >> bm; + *rp = rr.ll; + } + } + } + } + + const DWunion ww = { {.low = q0,.high = q1} }; + return ww.ll; +} + +uint64_t __umoddi3 (uint64_t u, uint64_t v) +{ + uint64_t w; + __udivmoddi4 (u, v, &w); + return w; +} + +uint64_t __udivdi3 (uint64_t n, uint64_t d) +{ + return __udivmoddi4 (n, d, (uint64_t *) 0); +} +
new file mode 100644 --- /dev/null +++ b/alsa_pcm_api.c @@ -0,0 +1,417 @@ +#include <stdint.h> +#include <stdlib.h> +#include <string.h> +#include <fcntl.h> +#include <unistd.h> +#include <errno.h> +#include "alsa_pcm_api.h" +int snd_pcm_hw_params_any(int snd_fd, snd_pcm_hw_params_t *params); +int snd_pcm_hw_params_set_access(int snd_fd, snd_pcm_hw_params_t *params, snd_pcm_access_t access); +int snd_pcm_hw_params_set_format(int snd_fd, snd_pcm_hw_params_t *params, snd_pcm_format_t format); +int snd_pcm_hw_params_set_channels(int snd_fd, snd_pcm_hw_params_t *params, unsigned int val); +int snd_pcm_hw_params_set_rate(int snd_fd, snd_pcm_hw_params_t *params, unsigned int val, int dir); +int snd_pcm_hw_params_set_buffer_size(int snd_fd, snd_pcm_hw_params_t *params, snd_pcm_uframes_t val); +#define MASK_SIZE (SND_MASK_MAX / 32) +#define MASK_OFS(i) ((i) >> 5) +#define MASK_BIT(i) (1U << ((i) & 31)) + +static inline +snd_interval_t *hw_param_interval(snd_pcm_hw_params_t *params, int var) +{ + return ¶ms->intervals[var - SNDRV_PCM_HW_PARAM_FIRST_INTERVAL]; +} + +static inline +const snd_interval_t *hw_param_interval_c(const snd_pcm_hw_params_t *params, int var) +{ + return (const snd_interval_t *)hw_param_interval((snd_pcm_hw_params_t*) params, var); +} + +size_t snd_pcm_hw_params_sizeof(void) +{ + return sizeof(snd_pcm_hw_params_t); +} + +static void snd_interval_any(snd_interval_t *i) +{ + i->min = 0; + i->openmin = 0; + i->max = -1; + i->openmax = 0; + i->integer = 0; + i->empty = 0; +} + +static inline int snd_interval_empty(const snd_interval_t *i) +{ + return i->empty; +} + +static inline int snd_interval_checkempty(const snd_interval_t *i) +{ + return (i->min > i->max || + (i->min == i->max && (i->openmin || i->openmax))); +} + +/* Return the minimum value for field PAR. */ +int _snd_pcm_hw_param_get_min(const snd_pcm_hw_params_t *params, + int var, unsigned int *val, int *dir) +{ + const snd_interval_t *i = hw_param_interval_c(params, var); + if (dir) + *dir = i->openmin; + if (val) + *val = i->min; + return 0; +} + +/* Return the maximum value for field PAR. */ +int _snd_pcm_hw_param_get_max(const snd_pcm_hw_params_t *params, + int var, unsigned int *val, int *dir) +{ + const snd_interval_t *i = hw_param_interval_c(params, var); + if (dir) + *dir = - (int) i->openmax; + if (val) + *val = i->max; + return 0; +} + +static void _snd_pcm_hw_param_any(snd_pcm_hw_params_t *params, int var) +{ + snd_interval_any(hw_param_interval(params, var)); + params->cmask |= 1 << var; + params->rmask |= 1 << var; +} + +int snd_pcm_hw_params_any(int snd_fd, snd_pcm_hw_params_t *params) +{ + unsigned int k; + memset(params, 0, sizeof(*params)); + for (k = SNDRV_PCM_HW_PARAM_FIRST_MASK; + k <= SNDRV_PCM_HW_PARAM_LAST_MASK; k++) { + snd_mask_t *mask = ¶ms->masks[k - SNDRV_PCM_HW_PARAM_FIRST_MASK]; + memset(mask, 0xff, sizeof(*mask)); + params->cmask |= 1 << k; + params->rmask |= 1 << k; + } + for (k = SNDRV_PCM_HW_PARAM_FIRST_INTERVAL; + k <= SNDRV_PCM_HW_PARAM_LAST_INTERVAL; k++) + _snd_pcm_hw_param_any(params, k); + params->rmask = ~0U; + params->cmask = 0; + params->info = ~0U; + return(ioctl(snd_fd, SNDRV_PCM_IOCTL_HW_REFINE, params)); +} + +int snd_pcm_hw_params_store(int snd_fd, snd_pcm_hw_params_t *params) +{ + ioctl(snd_fd, SNDRV_PCM_IOCTL_HW_REFINE, params); + if (ioctl(snd_fd, SNDRV_PCM_IOCTL_HW_PARAMS, params) < 0) + return -1; + if (ioctl(snd_fd, SNDRV_PCM_IOCTL_PREPARE) < 0) + return -1; //-errno; + return 0; +} + +snd_pcm_sframes_t snd_pcm_writei(int snd_fd, const void *buffer, snd_pcm_uframes_t size) +{ + struct snd_xferi xferi; + xferi.result = 0; + xferi.buf = (char*) buffer; + xferi.frames = size; + if (ioctl(snd_fd, SNDRV_PCM_IOCTL_WRITEI_FRAMES, &xferi) < 0) + return -1; + return xferi.result; +} + +snd_pcm_sframes_t snd_pcm_writen(int snd_fd, void **bufs, snd_pcm_uframes_t size) +{ + struct snd_xfern xfern; + xfern.result = 0; + xfern.bufs = bufs; + xfern.frames = size; + if (ioctl(snd_fd, SNDRV_PCM_IOCTL_WRITEN_FRAMES, &xfern) < 0) + return -1; + return xfern.result; +} + +int snd_pcm_prepare(int snd_fd) +{ + return ioctl(snd_fd, SNDRV_PCM_IOCTL_PREPARE); +} + +int snd_pcm_recover(int snd_fd, int err, int silent) +{ + if (err > 0) + err = -err; + switch (err) { + case -EINTR: + return 0; + case -EPIPE: + if (ioctl(snd_fd, SNDRV_PCM_IOCTL_PREPARE) < 0) + return -1; //-errno; + return 0; + } + return err; +} + +int snd_pcm_status(int snd_fd, snd_pcm_status_t *status) +{ + if (ioctl(snd_fd, SNDRV_PCM_IOCTL_STATUS, status) < 0) + return -1; + return 0; +} + +static int hw_param_update_var(int snd_fd, snd_pcm_hw_params_t *params, + int var, int changed) +{ + if (changed < 0) + return changed; + if (changed) { + params->cmask |= 1 << var; + params->rmask |= 1 << var; + } + if (params->rmask) { + changed = ioctl(snd_fd, SNDRV_PCM_IOCTL_HW_REFINE, params); + if (changed < 0) + return changed; + if (snd_interval_empty(hw_param_interval_c(params, var))) + return -ENOENT; + } + return 0; +} + +static int snd_interval_refine(snd_interval_t *i, const snd_interval_t *v) +{ + int changed = 0; + if (snd_interval_empty(i)) + return -ENOENT; + if (i->min < v->min) { + i->min = v->min; + i->openmin = v->openmin; + changed = 1; + } else if (i->min == v->min && !i->openmin && v->openmin) { + i->openmin = 1; + changed = 1; + } + if (i->max > v->max) { + i->max = v->max; + i->openmax = v->openmax; + changed = 1; + } else if (i->max == v->max && !i->openmax && v->openmax) { + i->openmax = 1; + changed = 1; + } + if (!i->integer && v->integer) { + i->integer = 1; + changed = 1; + } + if (i->integer) { + if (i->openmin) { + i->min++; + i->openmin = 0; + } + if (i->openmax) { + i->max--; + i->openmax = 0; + } + } else if (!i->openmin && !i->openmax && i->min == i->max) + i->integer = 1; + if (snd_interval_checkempty(i)) { + i->empty = 1; + return -EINVAL; + } + return changed; +} + +int _snd_pcm_hw_param_get(const snd_pcm_hw_params_t *params, + int var, unsigned int *val, int *dir) +{ + const snd_interval_t *i = hw_param_interval_c(params, var); + if (snd_interval_empty(i) || !(i->min == i->max || ((i->min + 1 == i->max) && i->openmax))) + return -EINVAL; + if (dir) + *dir = i->openmin; + if (val) + *val = i->min; + return 0; +} + +int _snd_pcm_hw_param_set(int snd_fd, snd_pcm_hw_params_t *params, int var, + unsigned int val, int dir) +{ + int err = 0; + snd_pcm_hw_params_t save = *params; + snd_interval_t *i = hw_param_interval(params, var); + snd_interval_t t; + t.empty = 0; + t.min = t.max = var; + t.openmin = t.openmax = 0; + t.integer = 1; + err = snd_interval_refine(i, &t); + err = hw_param_update_var(snd_fd, params, var, err); + if (err) + *params = save; + return err; +} + +static inline int _snd_pcm_hw_param_get64(const snd_pcm_hw_params_t *params, int type, unsigned long *val, int *dir) +{ + unsigned int _val; + int err = _snd_pcm_hw_param_get(params, type, &_val, dir); + *val = _val; + return err; +} + +#if 0 +int snd_pcm_hw_params_get_channels(const snd_pcm_hw_params_t *params, unsigned int *val) +{ + return _snd_pcm_hw_param_get(params, SNDRV_PCM_HW_PARAM_CHANNELS, val, NULL); +} + +int snd_pcm_hw_params_set_channels(int snd_fd, snd_pcm_hw_params_t *params, unsigned int val) +{ + return _snd_pcm_hw_param_set(snd_fd, params, SNDRV_PCM_HW_PARAM_CHANNELS, val, 0); +} + +int snd_pcm_hw_params_get_rate(const snd_pcm_hw_params_t *params, unsigned int *val, int *dir) +{ + return _snd_pcm_hw_param_get(params, SNDRV_PCM_HW_PARAM_RATE, val, dir); +} + +int snd_pcm_hw_params_set_rate(int snd_fd, snd_pcm_hw_params_t *params, unsigned int val, int dir) +{ + return _snd_pcm_hw_param_set(snd_fd, params, SNDRV_PCM_HW_PARAM_RATE, val, dir); +} + +int snd_pcm_hw_params_get_period_time(const snd_pcm_hw_params_t *params, + unsigned int *val, int *dir) +{ + return _snd_pcm_hw_param_get(params, SNDRV_PCM_HW_PARAM_PERIOD_TIME, val, dir); +} + +int snd_pcm_hw_params_get_period_size(const snd_pcm_hw_params_t *params, + snd_pcm_uframes_t *val, int *dir) +{ + return _snd_pcm_hw_param_get64(params, SNDRV_PCM_HW_PARAM_PERIOD_SIZE, val, dir); +} + +int snd_pcm_hw_params_get_buffer_size(const snd_pcm_hw_params_t *params, + snd_pcm_uframes_t *val) +{ + return _snd_pcm_hw_param_get64(params, SNDRV_PCM_HW_PARAM_BUFFER_SIZE, val, NULL); +} + +int snd_pcm_hw_params_set_buffer_size(int snd_fd, snd_pcm_hw_params_t *params, + snd_pcm_uframes_t val) +{ + return _snd_pcm_hw_param_set(snd_fd, params, SNDRV_PCM_HW_PARAM_BUFFER_SIZE, val, 0); +} +#endif + +static inline unsigned int popcount32(uint32_t mask) +{ + register unsigned int y; + y = (mask >> 1) &033333333333; + y = mask - y - ((y >>1) & 033333333333); + return (((y + (y >> 3)) & 030707070707) % 077); +} + +int snd_pcm_hw_params_set_access(int pcm_fd, snd_pcm_hw_params_t *params, + snd_pcm_access_t access) +{ + snd_pcm_hw_params_t save = *params; + snd_mask_t *param = (snd_mask_t*)¶ms->masks[SNDRV_PCM_HW_PARAM_ACCESS - SNDRV_PCM_HW_PARAM_FIRST_MASK]; + uint32_t i, v = 0; + int err = 0, changed; + for (i = 0; i < MASK_SIZE; i++) { + v += popcount32(param->bits[i]); + } + changed = (v != 1); + v = param->bits[MASK_OFS(access)] & MASK_BIT(access); + memset(param, 0, sizeof(*param)); + param->bits[MASK_OFS(access)] = v; + if (changed) { + params->cmask |= 1 << SNDRV_PCM_HW_PARAM_ACCESS; + params->rmask |= 1 << SNDRV_PCM_HW_PARAM_ACCESS; + } + if (params->rmask) { + err = ioctl(pcm_fd, SNDRV_PCM_IOCTL_HW_REFINE, params); + if (err) + *params = save; + } + return err; +} + +int snd_pcm_hw_params_set_format(int pcm_fd, snd_pcm_hw_params_t *params, + snd_pcm_format_t format) +{ + snd_pcm_hw_params_t save = *params; + snd_mask_t *param = (snd_mask_t*)¶ms->masks[SNDRV_PCM_HW_PARAM_FORMAT - SNDRV_PCM_HW_PARAM_FIRST_MASK]; + uint32_t i, v = 0; + int err = 0, changed; + for (i = 0; i < MASK_SIZE; i++) { + v += popcount32(param->bits[i]); + } + changed = (v != 1); + v = param->bits[MASK_OFS(format)] & MASK_BIT(format); + memset(param, 0, sizeof(*param)); + param->bits[MASK_OFS(format)] = v; + if (changed) { + params->cmask |= 1 << SNDRV_PCM_HW_PARAM_ACCESS; + params->rmask |= 1 << SNDRV_PCM_HW_PARAM_ACCESS; + } + if (params->rmask) { + err = ioctl(pcm_fd, SNDRV_PCM_IOCTL_HW_REFINE, params); + if (err) + *params = save; + } + return err; +} + +int alsa_audio_close(int snd_fd) +{ + ioctl(snd_fd, SNDRV_PCM_IOCTL_HW_FREE); + return close(snd_fd); +} + +int alsa_audio_open(uint32_t *rate, uint8_t channels, uint32_t *_ver, int mode) +{ + uint32_t actual_channels; + snd_pcm_hw_params_t *hwparams; + *&hwparams = (snd_pcm_hw_params_t *) alloca(snd_pcm_hw_params_sizeof()); + int ver, snd_fd = open("/dev/snd/pcmC0D0p", O_WRONLY|mode); + if (snd_fd < 0) + return -1; + + if (ioctl(snd_fd, SNDRV_PCM_IOCTL_PVERSION, &ver) < 0) { + if (snd_fd >= 0) + close(snd_fd); + return -1; + } + if(_ver) *_ver = ver; + + // Initialize hwparams structure. + snd_pcm_hw_params_any(snd_fd, hwparams); + + // this *must* be set, or else the writei (actually an ioctl(), wtf?) below will fail with -EBADF + snd_pcm_hw_params_set_access(snd_fd, hwparams, SND_PCM_ACCESS_RW_INTERLEAVED); + snd_pcm_hw_params_set_format(snd_fd, hwparams, SND_PCM_FORMAT_S16_LE); + + _snd_pcm_hw_param_set(snd_fd, hwparams, SNDRV_PCM_HW_PARAM_CHANNELS, channels, 0); + _snd_pcm_hw_param_get(hwparams, SNDRV_PCM_HW_PARAM_CHANNELS, &actual_channels, NULL); + if ((channels == 1) && (actual_channels == 2)) { + // This is an offensively dumb hack that works around the fact that the ALSA devs erroneously believe that HDAudio chipsets cannot playback mono. + // On any other chipset, it's a terrible idea. In general, it's awful. I'm just lazy. That, and I don't use ALSA myself. :P + *rate >>= 1; + } + _snd_pcm_hw_param_set(snd_fd, hwparams, SNDRV_PCM_HW_PARAM_RATE, *rate, 0); + snd_pcm_hw_params_store(snd_fd, hwparams); + _snd_pcm_hw_param_get(hwparams, SNDRV_PCM_HW_PARAM_RATE, rate, NULL); + if ((channels == 1) && (actual_channels == 2)) { + *rate <<= 1; + } + return snd_fd; +} +
new file mode 100644 --- /dev/null +++ b/alsa_pcm_api.h @@ -0,0 +1,529 @@ +/* + * ALSA kernel API and common-type definitions + * + * Copyright (c) 2011 by Takashi Iwai <tiwai@suse.de> + * + * This library is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + */ + +#ifndef __ALSA_ASOUND_H +#define __ALSA_ASOUND_H + +#include <sys/time.h> +#include <sys/types.h> +#include <sys/ioctl.h> +#include <endian.h> +#if __BYTE_ORDER == __LITTLE_ENDIAN +#define SND_LITTLE_ENDIAN +#elif __BYTE_ORDER == __BIG_ENDIAN +#define SND_BIG_ENDIAN +#else +#error "Unsupported endian..." +#endif + +/* protocol version */ +#define SNDRV_PROTOCOL_VERSION(major, minor, subminor) \ + (((major) << 16) | ((minor) << 8) | (subminor)) + +/* PCM interface */ +#define SNDRV_PCM_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 9) + +typedef unsigned long snd_pcm_uframes_t; +typedef long snd_pcm_sframes_t; + +typedef enum _snd_pcm_stream { + SND_PCM_STREAM_PLAYBACK = 0, + SND_PCM_STREAM_CAPTURE, + SND_PCM_STREAM_LAST = SND_PCM_STREAM_CAPTURE, +} snd_pcm_stream_t; + +typedef enum _snd_pcm_access { + SND_PCM_ACCESS_MMAP_INTERLEAVED = 0, + SND_PCM_ACCESS_MMAP_NONINTERLEAVED, + SND_PCM_ACCESS_MMAP_COMPLEX, + SND_PCM_ACCESS_RW_INTERLEAVED, + SND_PCM_ACCESS_RW_NONINTERLEAVED, + SND_PCM_ACCESS_LAST = SND_PCM_ACCESS_RW_NONINTERLEAVED, +} snd_pcm_access_t; + +typedef enum _sndrv_pcm_format { + SND_PCM_FORMAT_UNKNOWN = -1, + SND_PCM_FORMAT_S8 = 0, /* signed */ + SND_PCM_FORMAT_U8, /* unsigned */ + SND_PCM_FORMAT_S16_LE, /* signed little-endian */ + SND_PCM_FORMAT_S16_BE, /* signed big-endian */ + SND_PCM_FORMAT_U16_LE, + SND_PCM_FORMAT_U16_BE, + SND_PCM_FORMAT_S24_LE, /* low three bytes */ + SND_PCM_FORMAT_S24_BE, + SND_PCM_FORMAT_U24_LE, + SND_PCM_FORMAT_U24_BE, + SND_PCM_FORMAT_S32_LE, + SND_PCM_FORMAT_S32_BE, + SND_PCM_FORMAT_U32_LE, + SND_PCM_FORMAT_U32_BE, + SND_PCM_FORMAT_FLOAT_LE, /* 4-byte float */ + SND_PCM_FORMAT_FLOAT_BE, + SND_PCM_FORMAT_FLOAT64_LE, /* 8-byte float */ + SND_PCM_FORMAT_FLOAT64_BE, + SND_PCM_FORMAT_IEC958_SUBFRAME_LE, /* IEC-958 subframe */ + SND_PCM_FORMAT_IEC958_SUBFRAME_BE, + SND_PCM_FORMAT_MU_LAW, + SND_PCM_FORMAT_A_LAW, + SND_PCM_FORMAT_IMA_ADPCM, + SND_PCM_FORMAT_MPEG, + SND_PCM_FORMAT_GSM, + SND_PCM_FORMAT_SPECIAL = 31, + SND_PCM_FORMAT_S24_3LE = 32, /* in three bytes */ + SND_PCM_FORMAT_S24_3BE, + SND_PCM_FORMAT_U24_3LE, + SND_PCM_FORMAT_U24_3BE, + SND_PCM_FORMAT_S20_3LE, + SND_PCM_FORMAT_S20_3BE, + SND_PCM_FORMAT_U20_3LE, + SND_PCM_FORMAT_U20_3BE, + SND_PCM_FORMAT_S18_3LE, + SND_PCM_FORMAT_S18_3BE, + SND_PCM_FORMAT_U18_3LE, + SND_PCM_FORMAT_U18_3BE, + SND_PCM_FORMAT_LAST = SND_PCM_FORMAT_U18_3BE, + +#ifdef SND_LITTLE_ENDIAN + SND_PCM_FORMAT_S16 = SND_PCM_FORMAT_S16_LE, + SND_PCM_FORMAT_U16 = SND_PCM_FORMAT_U16_LE, + SND_PCM_FORMAT_S24 = SND_PCM_FORMAT_S24_LE, + SND_PCM_FORMAT_U24 = SND_PCM_FORMAT_U24_LE, + SND_PCM_FORMAT_S32 = SND_PCM_FORMAT_S32_LE, + SND_PCM_FORMAT_U32 = SND_PCM_FORMAT_U32_LE, + SND_PCM_FORMAT_FLOAT = SND_PCM_FORMAT_FLOAT_LE, + SND_PCM_FORMAT_FLOAT64 = SND_PCM_FORMAT_FLOAT64_LE, + SND_PCM_FORMAT_IEC958_SUBFRAME = SND_PCM_FORMAT_IEC958_SUBFRAME_LE, +#endif +#ifdef SND_BIG_ENDIAN + SND_PCM_FORMAT_S16 = SND_PCM_FORMAT_S16_BE, + SND_PCM_FORMAT_U16 = SND_PCM_FORMAT_U16_BE, + SND_PCM_FORMAT_S24 = SND_PCM_FORMAT_S24_BE, + SND_PCM_FORMAT_U24 = SND_PCM_FORMAT_U24_BE, + SND_PCM_FORMAT_S32 = SND_PCM_FORMAT_S32_BE, + SND_PCM_FORMAT_U32 = SND_PCM_FORMAT_U32_BE, + SND_PCM_FORMAT_FLOAT = SND_PCM_FORMAT_FLOAT_BE, + SND_PCM_FORMAT_FLOAT64 = SND_PCM_FORMAT_FLOAT64_BE, + SND_PCM_FORMAT_IEC958_SUBFRAME = SND_PCM_FORMAT_IEC958_SUBFRAME_BE, +#endif +} snd_pcm_format_t; + +typedef enum _snd_pcm_subformat { + SND_PCM_SUBFORMAT_STD = 0, + SND_PCM_SUBFORMAT_LAST = SND_PCM_SUBFORMAT_STD, +} snd_pcm_subformat_t; + +#define SNDRV_PCM_INFO_MMAP 0x00000001 +#define SNDRV_PCM_INFO_MMAP_VALID 0x00000002 +#define SNDRV_PCM_INFO_DOUBLE 0x00000004 +#define SNDRV_PCM_INFO_BATCH 0x00000010 +#define SNDRV_PCM_INFO_INTERLEAVED 0x00000100 +#define SNDRV_PCM_INFO_NONINTERLEAVED 0x00000200 +#define SNDRV_PCM_INFO_COMPLEX 0x00000400 +#define SNDRV_PCM_INFO_BLOCK_TRANSFER 0x00010000 +#define SNDRV_PCM_INFO_OVERRANGE 0x00020000 +#define SNDRV_PCM_INFO_RESUME 0x00040000 +#define SNDRV_PCM_INFO_PAUSE 0x00080000 +#define SNDRV_PCM_INFO_HALF_DUPLEX 0x00100000 +#define SNDRV_PCM_INFO_JOINT_DUPLEX 0x00200000 +#define SNDRV_PCM_INFO_SYNC_START 0x00400000 +#define SNDRV_PCM_INFO_NO_PERIOD_WAKEUP 0x00800000 + +typedef enum _snd_pcm_state { + SND_PCM_STATE_OPEN = 0, + SND_PCM_STATE_SETUP, + SND_PCM_STATE_PREPARED, + SND_PCM_STATE_RUNNING, + SND_PCM_STATE_XRUN, + SND_PCM_STATE_DRAINING, + SND_PCM_STATE_PAUSED, + SND_PCM_STATE_SUSPENDED, + SND_PCM_STATE_DISCONNECTED, + SND_PCM_STATE_LAST = SND_PCM_STATE_DISCONNECTED +} snd_pcm_state_t; + +enum { + SNDRV_PCM_MMAP_OFFSET_DATA = 0x00000000, + SNDRV_PCM_MMAP_OFFSET_STATUS = 0x80000000, + SNDRV_PCM_MMAP_OFFSET_CONTROL = 0x81000000, +}; + +typedef union _snd_pcm_sync_id { + unsigned char id[16]; + unsigned short id16[8]; + unsigned int id32[4]; +} snd_pcm_sync_id_t; + +typedef struct snd_pcm_info { + unsigned int device; + unsigned int subdevice; + int stream; + int card; + unsigned char id[64]; + unsigned char name[80]; + unsigned char subname[32]; + int dev_class; + int dev_subclass; + unsigned int subdevices_count; + unsigned int subdevices_avail; + snd_pcm_sync_id_t sync; + unsigned char reserved[64]; +} snd_pcm_info_t; + +enum sndrv_pcm_hw_param { + SNDRV_PCM_HW_PARAM_ACCESS = 0, + SNDRV_PCM_HW_PARAM_FIRST_MASK = SNDRV_PCM_HW_PARAM_ACCESS, + SNDRV_PCM_HW_PARAM_FORMAT, + SNDRV_PCM_HW_PARAM_SUBFORMAT, + SNDRV_PCM_HW_PARAM_LAST_MASK = SNDRV_PCM_HW_PARAM_SUBFORMAT, + + SNDRV_PCM_HW_PARAM_SAMPLE_BITS = 8, + SNDRV_PCM_HW_PARAM_FIRST_INTERVAL = SNDRV_PCM_HW_PARAM_SAMPLE_BITS, + SNDRV_PCM_HW_PARAM_FRAME_BITS, + SNDRV_PCM_HW_PARAM_CHANNELS, + SNDRV_PCM_HW_PARAM_RATE, + SNDRV_PCM_HW_PARAM_PERIOD_TIME, + SNDRV_PCM_HW_PARAM_PERIOD_SIZE, + SNDRV_PCM_HW_PARAM_PERIOD_BYTES, + SNDRV_PCM_HW_PARAM_PERIODS, + SNDRV_PCM_HW_PARAM_BUFFER_TIME, + SNDRV_PCM_HW_PARAM_BUFFER_SIZE, + SNDRV_PCM_HW_PARAM_BUFFER_BYTES, + SNDRV_PCM_HW_PARAM_TICK_TIME, + SNDRV_PCM_HW_PARAM_LAST_INTERVAL = SNDRV_PCM_HW_PARAM_TICK_TIME +}; + +#define SNDRV_PCM_HW_PARAMS_NORESAMPLE (1<<0) +#define SNDRV_PCM_HW_PARAMS_EXPORT_BUFFER (1<<1) +#define SNDRV_PCM_HW_PARAMS_NO_PERIOD_WAKEUP (1<<2) + +typedef struct snd_interval { + unsigned int min, max; + unsigned int openmin:1, + openmax:1, + integer:1, + empty:1; +} snd_interval_t; + +#define SND_MASK_MAX 256 + +typedef struct snd_mask { + u_int32_t bits[SND_MASK_MAX / 32]; +} snd_mask_t; + +typedef struct snd_pcm_hw_params { + unsigned int flags; + snd_mask_t masks[SNDRV_PCM_HW_PARAM_LAST_MASK - + SNDRV_PCM_HW_PARAM_FIRST_MASK + 1]; + snd_mask_t mres[5]; + snd_interval_t intervals[SNDRV_PCM_HW_PARAM_LAST_INTERVAL - + SNDRV_PCM_HW_PARAM_FIRST_INTERVAL + 1]; + snd_interval_t ires[9]; + unsigned int rmask; + unsigned int cmask; + unsigned int info; + unsigned int msbits; + unsigned int rate_num; + unsigned int rate_den; + snd_pcm_uframes_t fifo_size; + unsigned char reserved[64]; +} snd_pcm_hw_params_t; + +typedef enum _snd_pcm_tstamp { + SND_PCM_TSTAMP_NONE = 0, + SND_PCM_TSTAMP_ENABLE, + SND_PCM_TSTAMP_MMAP = SND_PCM_TSTAMP_ENABLE, + SND_PCM_TSTAMP_LAST = SND_PCM_TSTAMP_MMAP +} snd_pcm_tstamp_t; + +typedef struct snd_pcm_sw_params { + int tstamp_mode; + unsigned int period_step; + unsigned int sleep_min; + snd_pcm_uframes_t avail_min; + snd_pcm_uframes_t xfer_align; + snd_pcm_uframes_t start_threshold; + snd_pcm_uframes_t stop_threshold; + snd_pcm_uframes_t silence_threshold; + snd_pcm_uframes_t silence_size; + snd_pcm_uframes_t boundary; + unsigned char reserved[60]; + unsigned int period_event; +} snd_pcm_sw_params_t; + +/* XXX this is different from snd_pcm_channel_info_t !! */ +struct sndrv_pcm_channel_info { + unsigned int channel; + long offset; + unsigned int first; + unsigned int step; +}; + +typedef struct snd_pcm_status { + int state; + struct timespec trigger_tstamp; + struct timespec tstamp; + snd_pcm_uframes_t appl_ptr; + snd_pcm_uframes_t hw_ptr; + snd_pcm_sframes_t delay; + snd_pcm_uframes_t avail; + snd_pcm_uframes_t avail_max; + snd_pcm_uframes_t overrange; + int suspended_state; + unsigned char reserved[60]; +} snd_pcm_status_t; + +struct snd_pcm_mmap_status { + int state; + int pad1; + snd_pcm_uframes_t hw_ptr; + struct timespec tstamp; + int suspended_state; +}; + +struct snd_pcm_mmap_control { + snd_pcm_uframes_t appl_ptr; + snd_pcm_uframes_t avail_min; +}; + +#define SNDRV_PCM_SYNC_PTR_HWSYNC (1<<0) +#define SNDRV_PCM_SYNC_PTR_APPL (1<<1) +#define SNDRV_PCM_SYNC_PTR_AVAIL_MIN (1<<2) + +struct snd_pcm_sync_ptr { + unsigned int flags; + union { + struct snd_pcm_mmap_status status; + unsigned char reserved[64]; + } s; + union { + struct snd_pcm_mmap_control control; + unsigned char reserved[64]; + } c; +}; + +struct snd_xferi { + snd_pcm_sframes_t result; + void *buf; + snd_pcm_uframes_t frames; +}; + +struct snd_xfern { + snd_pcm_sframes_t result; + void **bufs; + snd_pcm_uframes_t frames; +}; + + +enum { + SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY = 0, + SNDRV_PCM_TSTAMP_TYPE_MONOTONIC, + SNDRV_PCM_TSTAMP_TYPE_LAST = SNDRV_PCM_TSTAMP_TYPE_MONOTONIC, +}; + +enum { + SNDRV_PCM_IOCTL_PVERSION = _IOR('A', 0x00, int), + SNDRV_PCM_IOCTL_INFO = _IOR('A', 0x01, snd_pcm_info_t), + SNDRV_PCM_IOCTL_TSTAMP = _IOW('A', 0x02, int), + SNDRV_PCM_IOCTL_TTSTAMP = _IOW('A', 0x03, int), + SNDRV_PCM_IOCTL_HW_REFINE = _IOWR('A', 0x10, snd_pcm_hw_params_t), + SNDRV_PCM_IOCTL_HW_PARAMS = _IOWR('A', 0x11, snd_pcm_hw_params_t), + SNDRV_PCM_IOCTL_HW_FREE = _IO('A', 0x12), + SNDRV_PCM_IOCTL_SW_PARAMS = _IOWR('A', 0x13, snd_pcm_sw_params_t), + SNDRV_PCM_IOCTL_STATUS = _IOR('A', 0x20, snd_pcm_status_t), + SNDRV_PCM_IOCTL_DELAY = _IOR('A', 0x21, snd_pcm_sframes_t), + SNDRV_PCM_IOCTL_HWSYNC = _IO('A', 0x22), + SNDRV_PCM_IOCTL_SYNC_PTR = _IOWR('A', 0x23, struct snd_pcm_sync_ptr), + SNDRV_PCM_IOCTL_CHANNEL_INFO = _IOR('A', 0x32, struct sndrv_pcm_channel_info), + SNDRV_PCM_IOCTL_PREPARE = _IO('A', 0x40), + SNDRV_PCM_IOCTL_RESET = _IO('A', 0x41), + SNDRV_PCM_IOCTL_START = _IO('A', 0x42), + SNDRV_PCM_IOCTL_DROP = _IO('A', 0x43), + SNDRV_PCM_IOCTL_DRAIN = _IO('A', 0x44), + SNDRV_PCM_IOCTL_PAUSE = _IOW('A', 0x45, int), + SNDRV_PCM_IOCTL_REWIND = _IOW('A', 0x46, snd_pcm_uframes_t), + SNDRV_PCM_IOCTL_RESUME = _IO('A', 0x47), + SNDRV_PCM_IOCTL_XRUN = _IO('A', 0x48), + SNDRV_PCM_IOCTL_FORWARD = _IOW('A', 0x49, snd_pcm_uframes_t), + SNDRV_PCM_IOCTL_WRITEI_FRAMES = _IOW('A', 0x50, struct snd_xferi), + SNDRV_PCM_IOCTL_READI_FRAMES = _IOR('A', 0x51, struct snd_xferi), + SNDRV_PCM_IOCTL_WRITEN_FRAMES = _IOW('A', 0x52, struct snd_xfern), + SNDRV_PCM_IOCTL_READN_FRAMES = _IOR('A', 0x53, struct snd_xfern), + SNDRV_PCM_IOCTL_LINK = _IOW('A', 0x60, int), + SNDRV_PCM_IOCTL_UNLINK = _IO('A', 0x61), +}; + +/* Trick to make alsa-lib/acinclude.m4 happy */ +#define SNDRV_PCM_IOCTL_REWIND SNDRV_PCM_IOCTL_REWIND + +/* Timer interface */ +#define SNDRV_TIMER_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 5) + +typedef enum _snd_timer_class { + SND_TIMER_CLASS_NONE = -1, + SND_TIMER_CLASS_SLAVE = 0, + SND_TIMER_CLASS_GLOBAL, + SND_TIMER_CLASS_CARD, + SND_TIMER_CLASS_PCM, + SND_TIMER_CLASS_LAST = SND_TIMER_CLASS_PCM +} snd_timer_class_t; + +typedef enum _snd_timer_slave_class { + SND_TIMER_SCLASS_NONE = 0, + SND_TIMER_SCLASS_APPLICATION, + SND_TIMER_SCLASS_SEQUENCER, + SND_TIMER_SCLASS_OSS_SEQUENCER, + SND_TIMER_SCLASS_LAST = SND_TIMER_SCLASS_OSS_SEQUENCER +} snd_timer_slave_class_t; + +/* global timers (device member) */ +#define SND_TIMER_GLOBAL_SYSTEM 0 +#define SND_TIMER_GLOBAL_RTC 1 +#define SND_TIMER_GLOBAL_HPET 2 +#define SND_TIMER_GLOBAL_HRTIMER 3 + +/* info flags */ +#define SNDRV_TIMER_FLG_SLAVE (1<<0) /* cannot be controlled */ + +typedef struct snd_timer_id { + int dev_class; + int dev_sclass; + int card; + int device; + int subdevice; +} snd_timer_id_t; + +typedef struct snd_timer_ginfo { + snd_timer_id_t tid; + unsigned int flags; + int card; + unsigned char id[64]; + unsigned char name[80]; + unsigned long reserved0; + unsigned long resolution; + unsigned long resolution_min; + unsigned long resolution_max; + unsigned int clients; + unsigned char reserved[32]; +} snd_timer_ginfo_t; + +typedef struct snd_timer_gparams { + snd_timer_id_t tid; + unsigned long period_num; + unsigned long period_den; + unsigned char reserved[32]; +} snd_timer_gparams_t; + +typedef struct snd_timer_gstatus { + snd_timer_id_t tid; + unsigned long resolution; + unsigned long resolution_num; + unsigned long resolution_den; + unsigned char reserved[32]; +} snd_timer_gstatus_t; + +typedef struct snd_timer_select { + snd_timer_id_t id; + unsigned char reserved[32]; +} snd_timer_select_t; + +typedef struct snd_timer_info { + unsigned int flags; + int card; + unsigned char id[64]; + unsigned char name[80]; + unsigned long reserved0; + unsigned long resolution; + unsigned char reserved[64]; +} snd_timer_info_t; + +#define SNDRV_TIMER_PSFLG_AUTO (1<<0) +#define SNDRV_TIMER_PSFLG_EXCLUSIVE (1<<1) +#define SNDRV_TIMER_PSFLG_EARLY_EVENT (1<<2) + +typedef struct snd_timer_params { + unsigned int flags; + unsigned int ticks; + unsigned int queue_size; + unsigned int reserved0; + unsigned int filter; + unsigned char reserved[60]; +} snd_timer_params_t; + +typedef struct snd_timer_status { + struct timespec tstamp; + unsigned int resolution; + unsigned int lost; + unsigned int overrun; + unsigned int queue; + unsigned char reserved[64]; +} snd_timer_status_t; + +enum { + SNDRV_TIMER_IOCTL_PVERSION = _IOR('T', 0x00, int), + SNDRV_TIMER_IOCTL_NEXT_DEVICE = _IOWR('T', 0x01, snd_timer_id_t), + SNDRV_TIMER_IOCTL_TREAD = _IOW('T', 0x02, int), + SNDRV_TIMER_IOCTL_GINFO = _IOWR('T', 0x03, snd_timer_ginfo_t), + SNDRV_TIMER_IOCTL_GPARAMS = _IOW('T', 0x04, snd_timer_gparams_t), + SNDRV_TIMER_IOCTL_GSTATUS = _IOWR('T', 0x05, snd_timer_gstatus_t), + SNDRV_TIMER_IOCTL_SELECT = _IOW('T', 0x10, snd_timer_select_t), + SNDRV_TIMER_IOCTL_INFO = _IOR('T', 0x11, snd_timer_info_t), + SNDRV_TIMER_IOCTL_PARAMS = _IOW('T', 0x12, snd_timer_params_t), + SNDRV_TIMER_IOCTL_STATUS = _IOR('T', 0x14, snd_timer_status_t), + /* The following four ioctls are changed since 1.0.9 due to confliction */ + SNDRV_TIMER_IOCTL_START = _IO('T', 0xa0), + SNDRV_TIMER_IOCTL_STOP = _IO('T', 0xa1), + SNDRV_TIMER_IOCTL_CONTINUE = _IO('T', 0xa2), + SNDRV_TIMER_IOCTL_PAUSE = _IO('T', 0xa3), +}; + +typedef struct _snd_timer_read { + unsigned int resolution; + unsigned int ticks; +} snd_timer_read_t; + +typedef enum _snd_timer_event { + SND_TIMER_EVENT_RESOLUTION = 0, + SND_TIMER_EVENT_TICK, + SND_TIMER_EVENT_START, + SND_TIMER_EVENT_STOP, + SND_TIMER_EVENT_CONTINUE, + SND_TIMER_EVENT_PAUSE, + SND_TIMER_EVENT_EARLY, + SND_TIMER_EVENT_SUSPEND, + SND_TIMER_EVENT_RESUME, + SND_TIMER_EVENT_MSTART = SND_TIMER_EVENT_START + 10, + SND_TIMER_EVENT_MSTOP = SND_TIMER_EVENT_STOP + 10, + SND_TIMER_EVENT_MCONTINUE = SND_TIMER_EVENT_CONTINUE + 10, + SND_TIMER_EVENT_MPAUSE = SND_TIMER_EVENT_PAUSE + 10, + SND_TIMER_EVENT_MSUSPEND = SND_TIMER_EVENT_SUSPEND + 10, + SND_TIMER_EVENT_MRESUME = SND_TIMER_EVENT_RESUME + 10 +} snd_timer_event_t; + +typedef struct timeval snd_timestamp_t; +typedef struct timespec snd_htimestamp_t; + +typedef struct _snd_timer_tread { + snd_timer_event_t event; + snd_htimestamp_t tstamp; + unsigned int val; +} snd_timer_tread_t; + +typedef snd_mask_t snd_pcm_access_mask_t; +typedef snd_mask_t snd_pcm_format_mask_t; +typedef snd_mask_t snd_pcm_subformat_mask_t; +#define SND_PCM_NONBLOCK 0x00000001 + +#endif /* __ALSA_ASOUND_H */
new file mode 100644 --- /dev/null +++ b/fmgen.c @@ -0,0 +1,5 @@ +#include "fmgen/e_expf.c" +#include "fmgen/psg.c" +#include "fmgen/rhythmdata.c" +#include "fmgen/opna.c" +
new file mode 100644 --- /dev/null +++ b/fmgen/e_expf.c @@ -0,0 +1,97 @@ +/* e_expf.c -- float version of e_exp.c. + * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com. + */ + +/* + * ==================================================== + * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + * + * Developed at SunPro, a Sun Microsystems, Inc. business. + * Permission to use, copy, modify, and distribute this + * software is freely granted, provided that this notice + * is preserved. + * ==================================================== + */ + +#include <stdint.h> + +static const float +one = 1.0, +halF[2] = {0.5,-0.5,}, +ln2HI[2] ={ 6.9313812256e-01, /* 0x3f317180 */ + -6.9313812256e-01,}, /* 0xbf317180 */ +ln2LO[2] ={ 9.0580006145e-06, /* 0x3717f7d1 */ + -9.0580006145e-06,}, /* 0xb717f7d1 */ +invln2 = 1.4426950216e+00, /* 0x3fb8aa3b */ +P1 = 1.6666667163e-01, /* 0x3e2aaaab */ +P2 = -2.7777778450e-03, /* 0xbb360b61 */ +P3 = 6.6137559770e-05, /* 0x388ab355 */ +P4 = -1.6533901999e-06, /* 0xb5ddea0e */ +P5 = 4.1381369442e-08; /* 0x3331bb4c */ + +typedef union { + float value; + uint32_t word; +} _f32; + +/* Get a 32 bit int from a float. */ +#define GET_FLOAT_WORD(i,d) \ +do { \ + _f32 gf_u; \ + gf_u.value = (d); \ + (i) = gf_u.word; \ +} while (0) + +/* Set a float from a 32 bit int. */ +#define SET_FLOAT_WORD(d,i) \ +do { \ + _f32 sf_u; \ + sf_u.word = (i); \ + (d) = sf_u.value; \ +} while (0) + +float expf(float x) /* default IEEE double exp */ +{ + float y,hi=0,lo=0,c,t; + int32_t k,xsb; + uint32_t hx; + + GET_FLOAT_WORD(hx,x); + xsb = (hx>>31)&1; /* sign bit of x */ + hx &= 0x7fffffff; /* high word of |x| */ + + /* filter out non-finite argument */ + if(hx >= 0x42b17218) { /* if |x|>=88.721... */ + if(hx>0x7f800000) + return x+x; /* NaN */ + if(hx==0x7f800000) + return (xsb==0)? x:0.0f; /* exp(+-inf)={inf,0} */ + } + + /* argument reduction */ + if(hx > 0x3eb17218) { /* if |x| > 0.5 ln2 */ + if(hx < 0x3F851592) { /* and |x| < 1.5 ln2 */ + hi = x-ln2HI[xsb]; lo=ln2LO[xsb]; k = 1-xsb-xsb; + } else { + k = invln2*x+halF[xsb]; + t = k; + hi = x - t*ln2HI[0]; /* t*ln2HI is exact here */ + lo = t*ln2LO[0]; + } + x = hi - lo; + } + else k = 0; + + /* x is now in primary range */ + t = x*x; + c = x - t*(P1+t*(P2+t*(P3+t*(P4+t*P5)))); + if(k==0) return one-((x*c)/(c-(float)2.0)-x); + else y = one-((lo-(x*c)/((float)2.0-c))-hi); + { + uint32_t hy; + GET_FLOAT_WORD(hy,y); + SET_FLOAT_WORD(y,hy+(k<<23)); /* add k to y's exponent */ + return y; + } +} +
new file mode 100644 --- /dev/null +++ b/fmgen/op.h @@ -0,0 +1,135 @@ +#ifndef FM_OP_H +#define FM_OP_H + +#include <stdint.h> +#define false 0 +#define true 1 +#define Max(a,b) ((a>b)?a:b) +#define Min(a,b) ((a<b)?a:b) + +// Types ---------------------------------------------------------------- +typedef int32_t Sample; +typedef int32_t ISample; + +// --------------------------------------------------------------------------- +// Various implementation-specific constants. +// Most are used to either define the bit-width of counters, or the size +// of various constant tables. +// +#define FM_LFOBITS 8 +#define FM_TLBITS 7 +#define FM_TLENTS (1 << FM_TLBITS) +#define FM_LFOENTS (1 << FM_LFOBITS) +#define FM_TLPOS (FM_TLENTS/4) +#define FM_CLENTS (0xc00 << 2) +#define FM_OPSINBITS 10 +#define FM_OPSINENTS (1 << FM_OPSINBITS) +#define FM_EGBITS 16 +#define FM_EGCBITS 18 +#define FM_LFOCBITS 14 +#define FM_PGBITS 9 +#define FM_RATIOBITS 12 + +typedef uint32_t uint; +typedef enum _EGPhase { next, attack, decay, sustain, release, off } EGPhase; + +static inline int Limit(int v, int max, int min) +{ + return v > max ? max : (v < min ? min : v); +} + +// Operator ---------------------------------------------------------------- +typedef struct _FMOperator +{ + int32_t out, out2; + + // Phase Generator ----------------------------------------------------- + uint32_t dp; // Octave (used to define note in conjunction with bn, below). + uint8_t detune; // Detune + uint8_t multiple; // Multiple + uint32_t pgcount; // Phase generator sweep value. Only the top 9 bits are relevant/used. + uint32_t pgdcount; // Phase generator increment-per-clock value. Hopefully self-explanatory. + uint32_t pgdcountl; // Phase generator detune increment value. Used in the implementation of vibrato. + // Equal to pgdcount >> 11. + + // Envelope Generator -------------------------------------------------- + uint32_t bn; // Block/Note + uint32_t egout; + int eglevel; // EG ¤Î½ÐÎÏÃÍ + int eglvnext; // ¼¡¤Î phase ¤Ë°Ü¤ëÃÍ + int32_t egstep; // EG ¤Î¼¡¤ÎÊѰܤޤǤλþ´Ö + int32_t egstepd; // egstep ¤Î»þ´Öº¹Ê¬ + uint8_t egtransa; // EG ÊѲ½¤Î³ä¹ç (for attack) + uint8_t egtransd; // EG ÊѲ½¤Î³ä¹ç (for decay) + + uint32_t ksr; // key scale rate + EGPhase phase; + uint8_t ams; + uint8_t ms; + + uint8_t keyon; // current key state + + uint8_t tl; // Total Level (0-127) + uint8_t tll; // Total Level Latch (for CSM mode) + uint8_t ar; // Attack Rate (0-63) + uint8_t dr; // Decay Rate (0-63) + uint8_t sr; // Sustain Rate (0-63) + uint8_t sl; // Sustain Level (0-127) + uint8_t rr; // Release Rate (0-63) + uint8_t ks; // Keyscale (0-3) + uint8_t ssgtype; // SSG-Type Envelope Control + + uint8_t amon; // enable Amplitude Modulation + uint8_t paramchanged; // Set whenever f-number or any ADSR constants + // are set in OPNASetReg(), as well as upon + // chip reset and chip "DAC" samplerate change. + // Causes the envelope generator to reset its + // internal state, also sets correct increments + // for the phase generator. + uint8_t mute; +} FMOperator; + +// 4-op Channel ------------------------------------------------------------ +typedef struct Channel4 +{ + uint32_t fb; + int buf[4]; + uint8_t idx[6]; + int *pms; + FMOperator op[4]; +} Channel4; + +// OPNA Rhythm Generator --------------------------------------------------- +typedef struct Rhythm { + uint8_t pan; + int8_t level; + int8_t volume; + int8_t* sample; // Rhythm sample data + uint32_t size; // Rhythm sample data size + uint32_t pos; // Current index into rhytm sample data array + uint32_t step; // Amount to increment the above by every time + // RhythmMix() gets called. + uint32_t rate; // Samplerate of rhythm sample data + // (44100Hz in this implementation). +} Rhythm; + +#ifdef __cplusplus +extern "C" { +#endif + +// -------------------------------------------------------------------------- +// Miscellaneous and probably irrelevant function prototypes. +void MakeTable(void); +void OperatorInit(FMOperator *op); +void OperatorReset(FMOperator *op); +void OperatorPrepare(FMOperator *op); + +static inline uint32_t IsOn(FMOperator *op) { + return (op->phase - off); +} + +#ifdef __cplusplus +}; +#endif + +#endif
new file mode 100644 --- /dev/null +++ b/fmgen/opna.c @@ -0,0 +1,1314 @@ +// FIXME: move ugly-ass legalese somewhere where it won't be seen +// by anyone other than lawyers. (/dev/null would be ideal but sadly +// we live in an imperfect world). +/* Copyright (c) 2012/2013, Peter Barfuss +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ + +#include <stdint.h> +#include <math.h> +#include <unistd.h> +#include "op.h" +#include "psg.h" +#include "opna.h" +static const uint8_t notetab[128] = +{ + 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 3, 3, + 4, 4, 4, 4, 4, 4, 4, 5, 6, 7, 7, 7, 7, 7, 7, 7, + 8, 8, 8, 8, 8, 8, 8, 9, 10, 11, 11, 11, 11, 11, 11, 11, + 12, 12, 12, 12, 12, 12, 12, 13, 14, 15, 15, 15, 15, 15, 15, 15, + 16, 16, 16, 16, 16, 16, 16, 17, 18, 19, 19, 19, 19, 19, 19, 19, + 20, 20, 20, 20, 20, 20, 20, 21, 22, 23, 23, 23, 23, 23, 23, 23, + 24, 24, 24, 24, 24, 24, 24, 25, 26, 27, 27, 27, 27, 27, 27, 27, + 28, 28, 28, 28, 28, 28, 28, 29, 30, 31, 31, 31, 31, 31, 31, 31, +}; + +static const int8_t dttab[256] = +{ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 4, 4, 4, 4, + 4, 6, 6, 6, 8, 8, 8, 10, 10, 12, 12, 14, 16, 16, 16, 16, + 2, 2, 2, 2, 4, 4, 4, 4, 4, 6, 6, 6, 8, 8, 8, 10, + 10, 12, 12, 14, 16, 16, 18, 20, 22, 24, 26, 28, 32, 32, 32, 32, + 4, 4, 4, 4, 4, 6, 6, 6, 8, 8, 8, 10, 10, 12, 12, 14, + 16, 16, 18, 20, 22, 24, 26, 28, 32, 34, 38, 40, 44, 44, 44, 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, 0, 0, -2, -2, -2, -2, -2, -2, -2, -2, -4, -4, -4, -4, + -4, -6, -6, -6, -8, -8, -8,-10,-10,-12,-12,-14,-16,-16,-16,-16, + -2, -2, -2, -2, -4, -4, -4, -4, -4, -6, -6, -6, -8, -8, -8,-10, + -10,-12,-12,-14,-16,-16,-18,-20,-22,-24,-26,-28,-32,-32,-32,-32, + -4, -4, -4, -4, -4, -6, -6, -6, -8, -8, -8,-10,-10,-12,-12,-14, + -16,-16,-18,-20,-22,-24,-26,-28,-32,-34,-38,-40,-44,-44,-44,-44, +}; + +static uint8_t gaintab[64] = { + 0xff, 0xea, 0xd7, 0xc5, 0xb5, 0xa6, 0x98, 0x8b, 0x80, 0x75, 0x6c, 0x63, 0x5a, 0x53, 0x4c, 0x46, + 0x40, 0x3b, 0x36, 0x31, 0x2d, 0x2a, 0x26, 0x23, 0x20, 0x1d, 0x1b, 0x19, 0x17, 0x15, 0x13, 0x12, + 0x10, 0x0f, 0x0e, 0x0c, 0x0b, 0x0a, 0x0a, 0x09, 0x08, 0x07, 0x07, 0x06, 0x06, 0x05, 0x05, 0x04, + 0x04, 0x04, 0x03, 0x03, 0x03, 0x03, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, +}; + +// sinf(M_PI*(2*i+1)/1024.0f), i=0,...,511. +// Should make this twice as large (so a duplicate of the top 512, but with the other half of the +// interval [0,2*M_PI], therefore the negative of the first half), and then get rid of the +// silly hack in Sinetable(). However, I'm not actually sure which will use less gates on an FPGA, +// and there's really no speed difference on any machine newer than a 6502, probably. +static uint16_t sinetable[512] = { + 0x1, 0x2, 0x4, 0x5, 0x7, 0x9, 0xa, 0xc, 0xd, 0xf, 0x10, 0x12, 0x14, 0x15, 0x17, 0x18, + 0x1a, 0x1b, 0x1d, 0x1f, 0x20, 0x22, 0x23, 0x25, 0x26, 0x28, 0x29, 0x2b, 0x2d, 0x2e, 0x30, 0x31, + 0x33, 0x34, 0x36, 0x37, 0x39, 0x3a, 0x3c, 0x3d, 0x3f, 0x40, 0x42, 0x44, 0x45, 0x47, 0x48, 0x4a, + 0x4b, 0x4d, 0x4e, 0x50, 0x51, 0x53, 0x54, 0x56, 0x57, 0x58, 0x5a, 0x5b, 0x5d, 0x5e, 0x60, 0x61, + 0x63, 0x64, 0x66, 0x67, 0x68, 0x6a, 0x6b, 0x6d, 0x6e, 0x70, 0x71, 0x72, 0x74, 0x75, 0x77, 0x78, + 0x79, 0x7b, 0x7c, 0x7d, 0x7f, 0x80, 0x82, 0x83, 0x84, 0x86, 0x87, 0x88, 0x8a, 0x8b, 0x8c, 0x8e, + 0x8f, 0x90, 0x91, 0x93, 0x94, 0x95, 0x97, 0x98, 0x99, 0x9a, 0x9c, 0x9d, 0x9e, 0x9f, 0xa1, 0xa2, + 0xa3, 0xa4, 0xa5, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, + 0xb6, 0xb7, 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, + 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd4, + 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xde, 0xdf, 0xe0, 0xe1, 0xe1, + 0xe2, 0xe3, 0xe4, 0xe4, 0xe5, 0xe6, 0xe6, 0xe7, 0xe8, 0xe8, 0xe9, 0xea, 0xea, 0xeb, 0xec, 0xec, + 0xed, 0xed, 0xee, 0xef, 0xef, 0xf0, 0xf0, 0xf1, 0xf1, 0xf2, 0xf2, 0xf3, 0xf3, 0xf4, 0xf4, 0xf5, + 0xf5, 0xf6, 0xf6, 0xf7, 0xf7, 0xf7, 0xf8, 0xf8, 0xf9, 0xf9, 0xf9, 0xfa, 0xfa, 0xfa, 0xfb, 0xfb, + 0xfb, 0xfc, 0xfc, 0xfc, 0xfc, 0xfd, 0xfd, 0xfd, 0xfd, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100, + 0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfd, 0xfd, 0xfd, 0xfd, 0xfc, 0xfc, 0xfc, 0xfc, 0xfb, + 0xfb, 0xfb, 0xfa, 0xfa, 0xfa, 0xf9, 0xf9, 0xf9, 0xf8, 0xf8, 0xf7, 0xf7, 0xf7, 0xf6, 0xf6, 0xf5, + 0xf5, 0xf4, 0xf4, 0xf3, 0xf3, 0xf2, 0xf2, 0xf1, 0xf1, 0xf0, 0xf0, 0xef, 0xef, 0xee, 0xed, 0xed, + 0xec, 0xec, 0xeb, 0xea, 0xea, 0xe9, 0xe8, 0xe8, 0xe7, 0xe6, 0xe6, 0xe5, 0xe4, 0xe4, 0xe3, 0xe2, + 0xe1, 0xe1, 0xe0, 0xdf, 0xde, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xda, 0xd9, 0xd8, 0xd7, 0xd6, 0xd5, + 0xd4, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0, 0xcf, 0xce, 0xcd, 0xcc, 0xcb, 0xca, 0xc9, 0xc8, 0xc7, 0xc6, + 0xc5, 0xc4, 0xc3, 0xc2, 0xc1, 0xc0, 0xbf, 0xbe, 0xbd, 0xbc, 0xbb, 0xba, 0xb9, 0xb8, 0xb7, 0xb6, + 0xb4, 0xb3, 0xb2, 0xb1, 0xb0, 0xaf, 0xae, 0xad, 0xab, 0xaa, 0xa9, 0xa8, 0xa7, 0xa5, 0xa4, 0xa3, + 0xa2, 0xa1, 0x9f, 0x9e, 0x9d, 0x9c, 0x9a, 0x99, 0x98, 0x97, 0x95, 0x94, 0x93, 0x91, 0x90, 0x8f, + 0x8e, 0x8c, 0x8b, 0x8a, 0x88, 0x87, 0x86, 0x84, 0x83, 0x82, 0x80, 0x7f, 0x7d, 0x7c, 0x7b, 0x79, + 0x78, 0x77, 0x75, 0x74, 0x72, 0x71, 0x70, 0x6e, 0x6d, 0x6b, 0x6a, 0x68, 0x67, 0x66, 0x64, 0x63, + 0x61, 0x60, 0x5e, 0x5d, 0x5b, 0x5a, 0x58, 0x57, 0x56, 0x54, 0x53, 0x51, 0x50, 0x4e, 0x4d, 0x4b, + 0x4a, 0x48, 0x47, 0x45, 0x44, 0x42, 0x40, 0x3f, 0x3d, 0x3c, 0x3a, 0x39, 0x37, 0x36, 0x34, 0x33, + 0x31, 0x30, 0x2e, 0x2d, 0x2b, 0x29, 0x28, 0x26, 0x25, 0x23, 0x22, 0x20, 0x1f, 0x1d, 0x1b, 0x1a, + 0x18, 0x17, 0x15, 0x14, 0x12, 0x10, 0xf, 0xd, 0xc, 0xa, 0x9, 0x7, 0x6, 0x4, 0x2, 0x1, +}; + +static uint8_t tablemade = false; +static uint8_t cltab[512]; +static uint32_t tltab[FM_TLENTS]; +static uint32_t lfotab[8]; +static const uint8_t fbtab[8] = { 31, 7, 6, 5, 4, 3, 2, 1 }; + +/* Amplitude/Phase modulation tables. */ +static const float pms[8] = { 0, 1/720., 2/720., 3/720., 4/720., 6/720., 12/720., 24/720. }; // OPNA +static const uint8_t amt[4] = { 29, 4, 2, 1 }; // OPNA +static int pmtable[8][FM_LFOENTS]; +uint8_t aml, pml; +int pmv; + +// --------------------------------------------------------------------------- +static inline void LFO(OPNA *opna) +{ + uint8_t c = (opna->lfocount >> FM_LFOCBITS) & 0xff; + opna->lfocount += opna->lfodcount; + if (c < 0x40) pml = c * 2 + 0x80; + else if (c < 0xc0) pml = 0x7f - (c - 0x40) * 2 + 0x80; + else pml = (c - 0xc0) * 2; + if (c < 0x80) aml = (c << 1); + else aml = ~(c << 1); +} + +// --------------------------------------------------------------------------- +// Magic. No, really. +// In reality this just initialises some tables used by everything else, +// that are dependent on both the chip clock and the "DAC" samplerate. +// The hilarious thing though is that this is really the only place where +// the chip clock value gets actually *used*, and even then it's indirectly +// via the ratio parameter. +// +static uint32_t currentratio = ~0; +static float rr; +static uint32_t ratetable[64]; +static void MakeTimeTable(uint32_t ratio) +{ + int h, l; + + if (ratio != currentratio) + { + currentratio = ratio; + // PG Part + rr = (float)ratio / (1 << (2 + FM_RATIOBITS - FM_PGBITS)); + + // EG + for (h=1; h<16; h++) + { + for (l=0; l<4; l++) + { + int m = h == 15 ? 8 : l+4; + ratetable[h*4+l] = + ((ratio << (FM_EGBITS - 3 - FM_RATIOBITS)) << Min(h, 11)) * m; + } + } + ratetable[0] = ratetable[1] = ratetable[2] = ratetable[3] = 0; + ratetable[5] = ratetable[4], ratetable[7] = ratetable[6]; + } +} + +static void SetEGRate(FMOperator *op, uint r) +{ + op->egstepd = ratetable[r]; + op->egtransa = Limit(15 - (r>>2), 4, 1); + op->egtransd = 16 >> op->egtransa; +} + +// Standard operator init routine. Zeros out some more stuff +// than OperatorReset() does, then calls OperatorReset(). +// +void OperatorInit(FMOperator *op) +{ + // EG Part + op->ar = op->dr = op->sr = op->rr = op->ksr = 0; + op->ams = 0; + op->mute = false; + op->keyon = false; + + // PG Part + op->multiple = 0; + op->detune = 0; + + // LFO + op->ms = 0; + + OperatorReset(op); +} + +// Standard operator reset routine. Init EG/PG to defaults, +// clear any stored samples, then force a reinit of EG/PG +// in OperatorPrepare() below by setting paramchanged to 1. +// +void OperatorReset(FMOperator *op) +{ + // EG part + op->tl = op->tll = 127; + op->eglevel = 0xff; + op->eglvnext = 0x100; + SetEGRate(op, 0); + op->phase = off; + op->egstep = 0; + + // PG part + op->pgcount = 0; + + // OP part + op->out = op->out2 = 0; + op->paramchanged = true; +} + +// Init EG, PG. +// PG init is trivial, simply set pgdcount (phase counter increment) +// based on multiple, detune and bn. +// See Pages 24-26 of the OPNA manual for details. +// EG init is your standard ADSR state machine. Should (hopefully!) +// be self-explanatory, especially if you've ever seen a software implementation +// of ADSR before (seriously, they're all the damn same). +// +void OperatorPrepare(FMOperator *op) +{ + if (op->paramchanged) + { + uint8_t l = ((op->multiple) ? 2*op->multiple : 1); + op->paramchanged = false; + // PG Part + op->pgdcount = (op->dp + dttab[op->detune + op->bn]) * (uint32_t)(l * rr); + op->pgdcountl = op->pgdcount >> 11; + + // EG Part + op->ksr = op->bn >> (3-op->ks); + + switch (op->phase) + { + case attack: + SetEGRate(op, op->ar ? Min(63, op->ar+op->ksr) : 0); + break; + case decay: + SetEGRate(op, op->dr ? Min(63, op->dr+op->ksr) : 0); + op->eglvnext = op->sl * 8; + break; + case sustain: + SetEGRate(op, op->sr ? Min(63, op->sr+op->ksr) : 0); + break; + case release: + SetEGRate(op, Min(63, op->rr+op->ksr)); + break; + case next: // temporal + break; + case off: // temporal + break; + } + // LFO + op->ams = (op->amon ? (op->ms >> 4) & 3 : 0); + } +} + +// FIXME: Rename. "Phase" here refers to ADSR DFA state, +// not PG/sine table phase. Also, yeah, this does the +// ADSR DFA state transitions. +// +static void ShiftPhase(FMOperator *op, EGPhase nextphase) +{ + switch (nextphase) + { + case attack: // Attack Phase + op->tl = op->tll; + if ((op->ar+op->ksr) < 62) { + SetEGRate(op, op->ar ? Min(63, op->ar+op->ksr) : 0); + op->phase = attack; + break; + } + case decay: // Decay Phase + if (op->sl) { + op->eglevel = 0; + op->eglvnext = op->sl*8; + SetEGRate(op, op->dr ? Min(63, op->dr+op->ksr) : 0); + op->phase = decay; + break; + } + case sustain: // Sustain Phase + op->eglevel = op->sl*8; + op->eglvnext = 0x100; + SetEGRate(op, op->sr ? Min(63, op->sr+op->ksr) : 0); + op->phase = sustain; + break; + + case release: // Release Phase + if (op->phase == attack || (op->eglevel < 0x100/* && phase != off*/)) { + op->eglvnext = 0x100; + SetEGRate(op, Min(63, op->rr+op->ksr)); + op->phase = release; + break; + } + case off: // off + default: + op->eglevel = 0xff; + op->eglvnext = 0x100; + SetEGRate(op, 0); + op->phase = off; + break; + } +} + +// Block/F-Num +static inline void SetFNum(FMOperator *op, uint f) +{ + op->dp = (f & 2047) << ((f >> 11) & 7); + op->bn = notetab[(f >> 7) & 127]; + op->paramchanged = true; +} + +// Clock the EG for one operator. +// Essentially just a call to ShiftPhase, +// but decrements the output EG level if starting +// from the attack phase, otherwise incrementing it. +// Should probably integrate the special case for attack +// from ShiftPhase() directly into here at some point. +void EGCalc(FMOperator *op) +{ + op->egstep += 3L << (11 + FM_EGBITS); + if (op->phase == attack) + { + op->eglevel -= 1 + (op->eglevel >> op->egtransa); + if (op->eglevel <= 0) + ShiftPhase(op, decay); + } + else + { + op->eglevel += op->egtransd; + if (op->eglevel >= op->eglvnext) + ShiftPhase(op, (EGPhase)(op->phase+1)); + } +} + +// KeyOn, hopefully obvious. +static void KeyOn(FMOperator *op) +{ + if (!op->keyon) { + op->keyon = true; + if (op->phase == off || op->phase == release) { + ShiftPhase(op, attack); + op->out = op->out2 = 0; + op->pgcount = 0; + } + } +} + +// KeyOff, hopefully obvious. +static void KeyOff(FMOperator *op) +{ + if (op->keyon) { + op->keyon = false; + ShiftPhase(op, release); + } +} + +// PG uses 9 bits, with the table itsself using another 10 bits. +// The top bits are the actually relevant ones, given that the PG increment will basically set +// the lowest few bits to nonsense. +// The hack there that checks for bit 10 in the right place and if yes, does some strange xor magic +// makes the value of Sine() negative if we're in the top half of the [0,2*M_PI] interval. +// It is, of course, one/two's complement specific, but I have yet to hear of an integer arithmetic implementation +// on any modern machine that isn't at least one of those two. (In fact, I think they're all two's complement, even). +#define Sine(s) sinetable[((s) >> (20+FM_PGBITS-FM_OPSINBITS))&(FM_OPSINENTS/2-1)]^(-(((s) & 0x10000000) >> 27)) +//#define LogToLin(x) cltab[x] + +static inline uint32_t LogToLin(uint32_t x) { + if(x >= 1024) { + return 0; + } + return cltab[x]; +} + +// PG clock routine. +// Does this really need to be in its own function anymore? +// It's literally just a trivial increment of a counter now, nothing more. +// Its output, btw, is 2^(20+PGBITS) / cycle, with PGBITS=9 in this implementation. +static inline uint32_t PGCalc(FMOperator *op) +{ + uint32_t ret = op->pgcount; + op->pgcount += op->pgdcount; + return ret; +} + +// Same as above, but with PM if enabled. +// Same comments as above apply. +static inline uint32_t PGCalcL(FMOperator *op) +{ + uint32_t ret = op->pgcount; + op->pgcount += op->pgdcount + ((op->pgdcountl * pmv) >> 5); + return ret; +} + +// Clock one FM operator. Does a lookup in the sine table +// for the waveform to output, possibly frequency-modulating +// that with the contents of in, then clocks the Phase Generator +// for that operator, stores the output sample and returns. +// Should probably integrate PGCalc() into this function, +// at some point at least. +static inline int32_t Calc(FMOperator *op, int32_t in) +{ + int32_t tmp = Sine(op->pgcount + (in << 7)); + PGCalc(op); + op->out = op->egout*tmp; + return op->out; +} + +// Version of the above that gets used when the chip-internal LFO +// is enabled. Basically identical to the above, except with more Vibrato. +static inline int32_t CalcL(FMOperator *op, int32_t in) +{ + int32_t tmp = Sine(op->pgcount + (in << 7)); + PGCalcL(op); + op->out = op->egout*tmp; + return op->out; +} + +// Clock operator 0. OP0 is special as it does not take an input from +// another operator, rather it can frequency-modulate itsself via the +// fb parameter (which specifies feedback amount). This is incredibly +// useful, and makes it possible to define a lot more instruments +// for the OPNA than you'd be able to otherwise. +#define FM_PRECISEFEEDBACK 1 +static inline void CalcFB(FMOperator *op, uint fb) +{ + int32_t tmp; + int32_t in = op->out + op->out2; + op->out2 = op->out; + if (FM_PRECISEFEEDBACK && fb == 31) + tmp = Sine(op->pgcount); + else + tmp = Sine(op->pgcount + ((in << 6) >> fb)); + + PGCalc(op); + op->out = op->egout*tmp; +} + +// Version of the above, but with 100% as much LFO as the above. +// See comment above CalcL() for details/explanation. +static inline void CalcFBL(FMOperator *op, uint fb) +{ + int32_t tmp; + int32_t in = op->out + op->out2; + op->out2 = op->out; + + if (FM_PRECISEFEEDBACK && fb == 31) + tmp = Sine(op->pgcount); + else + tmp = Sine(op->pgcount + ((in << 6) >> fb)); + + PGCalcL(op); + op->out = op->egout*tmp; +} + +// --------------------------------------------------------------------------- +// 4-op Channel +// Sets the "algorithm", i.e. the connections between individual operators +// in a channel. See Page 22 of the manual for pretty drawings of all of the +// different algorithms supported by the OPNA. +// +static void SetAlgorithm(Channel4 *ch4, uint algo) +{ + static const uint8_t table1[8][6] = + { + { 0, 1, 1, 2, 2, 3 }, { 1, 0, 0, 1, 1, 2 }, + { 1, 1, 1, 0, 0, 2 }, { 0, 1, 2, 1, 1, 2 }, + { 0, 1, 2, 2, 2, 1 }, { 0, 1, 0, 1, 0, 1 }, + { 0, 1, 2, 1, 2, 1 }, { 1, 0, 1, 0, 1, 0 }, + }; + + ch4->idx[0] = table1[algo][0]; // in[0]; + ch4->idx[1] = table1[algo][2]; // in[1]; + ch4->idx[2] = table1[algo][4]; // in[2]; + ch4->idx[3] = table1[algo][1]; // out[0]; + ch4->idx[4] = table1[algo][3]; // out[1]; + ch4->idx[5] = table1[algo][5]; // out[2]; + ch4->op[0].out2 = ch4->op[0].out = 0; +} + +static inline void Ch4Init(Channel4 *ch4) +{ + int i; + for(i=0; i<4; i++) { + OperatorInit(&ch4->op[i]); + } + SetAlgorithm(ch4, 0); + ch4->pms = pmtable[0]; +} + +// Reinit all operators on a given channel if paramchanged=true +// for that channel, set the PM table for that channel, then determine +// if there is any output from this channel, based on: +// - mute state of each operator +// - keyon state of each operator +// - AM (Tremolo) enable for each operator. +// Bit 0 of the return value is set if there is any output, +// Bit 1 is set if tremolo is enabled for any of the operators on this +// channel. +static inline int Ch4Prepare(Channel4 *ch4) +{ + OperatorPrepare(&ch4->op[0]); + OperatorPrepare(&ch4->op[1]); + OperatorPrepare(&ch4->op[2]); + OperatorPrepare(&ch4->op[3]); + + ch4->pms = pmtable[ch4->op[0].ms & 7]; + if(ch4->op[0].mute && ch4->op[1].mute && ch4->op[2].mute && ch4->op[3].mute) return 0; + int key = (IsOn(&ch4->op[0]) | IsOn(&ch4->op[1]) | IsOn(&ch4->op[2]) | IsOn(&ch4->op[3])) ? 1 : 0; + int lfo = ch4->op[0].ms & (ch4->op[0].amon | ch4->op[1].amon | ch4->op[2].amon | ch4->op[3].amon ? 0x37 : 7) ? 2 : 0; + return key | lfo; +} + +// Clock one channel. Clocks all the Envelope Generators in parallel +// (well, okay, in sequence, but a hardware implementation *should* +// clock them in parallel as they are completely independent tasks, +// all that is important is that you don't execute Calc{L,FB,FBL} +// until all of the EGs are done clocking - but that should be, again, +// straightforward to implement in hardware). +// +int32_t Ch4Calc(Channel4 *ch4) +{ + int i; + ch4->buf[1] = ch4->buf[2] = ch4->buf[3] = 0; + for(i=0; i<4; i++) { + if ((ch4->op[i].egstep -= ch4->op[i].egstepd) < 0) + EGCalc(&ch4->op[i]); + ch4->op[i].egout = LogToLin(ch4->op[i].eglevel)*gaintab[ch4->op[i].tl]; + } + + ch4->buf[0] = ch4->op[0].out; CalcFB(&ch4->op[0], ch4->fb); + ch4->buf[ch4->idx[3]] += Calc(&ch4->op[1], ch4->buf[ch4->idx[0]]); + ch4->buf[ch4->idx[4]] += Calc(&ch4->op[2], ch4->buf[ch4->idx[1]]); + int o = ch4->op[3].out; + Calc(&ch4->op[3], ch4->buf[ch4->idx[2]]); + return ((ch4->buf[ch4->idx[5]] + o) >> 8); +} + +// Same as above, but with LFO. Should see if I can merge the two somehow and just set +// a flag whenever I want to mix in Vibrato/Tremolo effects. Also, this code is basically +// completely untested, due to the surprising difficulty of finding test samples that +// actually use the chip-internal LFO. (And if you've somehow found one of those, +// now try *also* finding a good-quality recording of it being played back on the chip +// itsself. I should go ask the folks at soundshock.se or something, come to think of it). +// +int32_t Ch4CalcL(Channel4 *ch4) +{ + int i; + pmv = ch4->pms[pml]; + ch4->buf[1] = ch4->buf[2] = ch4->buf[3] = 0; + for(i=0; i<4; i++) { + if ((ch4->op[i].egstep -= ch4->op[i].egstepd) < 0) + EGCalc(&ch4->op[i]); + ch4->op[i].egout = (LogToLin(ch4->op[i].eglevel + (aml >> amt[ch4->op[i].ams]))*gaintab[ch4->op[i].tl]); + } + + ch4->buf[0] = ch4->op[0].out; CalcFBL(&ch4->op[0], ch4->fb); + ch4->buf[ch4->idx[3]] += CalcL(&ch4->op[1], ch4->buf[ch4->idx[0]]); + ch4->buf[ch4->idx[4]] += CalcL(&ch4->op[2], ch4->buf[ch4->idx[1]]); + int o = ch4->op[3].out; + CalcL(&ch4->op[3], ch4->buf[ch4->idx[2]]); + return ((ch4->buf[ch4->idx[5]] + o) >> 8); +} + +// This essentially initializes a couple constant tables +// and chip-specific parameters based on what the chip clock and "DAC" samplerate +// were set to in OPNAInit(). psgrate is always equal to the user-requested samplerate, +// whereas rate is only equal to that in the interpolation=false case, otherwise +// it's set to whatever value is needed to downsample 55466Hz to the user-requested +// samplerate, which will (almost?) always be either 44100Hz or 48000Hz. +// TODO: better-quality resampling may be of use here, possibly. +// +static void SetPrescaler(OPNA *opna, uint32_t p) +{ + static const char table[3][2] = { { 6, 4 }, { 3, 2 }, { 2, 1 } }; + static const uint8_t table2[8] = { 109, 78, 72, 68, 63, 45, 9, 6 }; + // 512 + if (opna->prescale != p) + { + opna->prescale = p; + uint32_t i, fmclock = opna->clock / table[p][0] / 12; + + if (opna->interpolation) { + opna->rate = fmclock * 2; + do { + opna->rate >>= 1; + opna->mpratio = opna->psgrate * 16384 / opna->rate; + } while (opna->mpratio <= 8192); + } else { + opna->rate = opna->psgrate; + } + uint32_t ratio = ((fmclock << FM_RATIOBITS) + opna->rate/2) / opna->rate; + opna->timer_step = (int32_t)(1000000.0f * 65536.0f/fmclock); + MakeTimeTable(ratio); + PSGSetClock(&opna->psg, opna->clock / table[p][1], opna->psgrate); + + for (i=0; i<8; i++) { + lfotab[i] = (ratio << (1+FM_LFOCBITS-FM_RATIOBITS)) / table2[i]; + } + } +} + +static inline void RebuildTimeTable(OPNA *opna) +{ + int p = opna->prescale; + opna->prescale = -1; + SetPrescaler(opna, p); +} + +// Set volume. Just a dB->internal linear scale conversion here, nothing more. +// +void SetVolumeFM(OPNA *opna, int db) +{ + db = Min(db, 20); + if (db > -192) + opna->fmvolume = lrintf(16384.0f * expf((float)M_LN10*(db / 40.0f))); + else + opna->fmvolume = 0; +} + +// Chip-internal TimerA() handler. All it does is implement CSM, i.e. +// channel 3 will get keyed on and off whenever the TimerA() interrupt fires. +// To the best of my knowledge, CSM was intended to be used to implement +// primitive formant synthesis (which Yamaha later repackaged in a much more +// elaborate and featured implementation in their FS1R), and used by +// approximately nobody. It's also been removed from the YMF288/OPN3. +// +static void TimerA(OPNA *opna) +{ + int i; + if (opna->regtc & 0x80) + { + for(i=0; i<4; i++) + KeyOn(&opna->csmch->op[i]); + for(i=0; i<4; i++) + KeyOff(&opna->csmch->op[i]); + } +} + +// --------------------------------------------------------------------------- +// Clock timers. TimerA has a resolution of 9 microseconds (assuming standard +// chip clockspeed of 8MHz, which all of this code of course does), and +// on the Speak Board for the PC-9801 is used only for the purpose of sound effects. +// TimerB, on the other hand, has a resolution of 144 microseconds, and is basically +// used as the main chip clock. Also, binding "sound-effects" to TimerB (needed as +// ZUN uses the sound-effects feature to implement PSG percussion) results in tiny +// changes to the output file, precisely none of them audible, making TimerA +// all but useless in this case. Note that TimerA is also used internally in the chip +// to implement CSM-mode (see comment above). +// +uint8_t OPNATimerCount(OPNA *opna, int32_t us) +{ + uint8_t event = 0; + + if (opna->timera_count) { + opna->timera_count -= us << 16; + if (opna->timera_count <= 0) { + event = 1; + TimerA(opna); + + while (opna->timera_count <= 0) + opna->timera_count += opna->timera; + + if (opna->regtc & 4) { + if (!(opna->status & 1)) { + opna->status |= 1; + } + } + } + } + if (opna->timerb_count) { + opna->timerb_count -= us << 12; + if (opna->timerb_count <= 0) { + event = 1; + while (opna->timerb_count <= 0) + opna->timerb_count += opna->timerb; + + if (opna->regtc & 8) { + if (!(opna->status & 2)) { + opna->status |= 2; + } + } + } + } + return event; +} + +// Rhythm source samples. pcm_s8 (*not* u8!), and found in rhythmdata.h, +// which is included in rhythmdata.c in order to keep the size of the +// object file that you get from compiling this file at a reasonable size, +// for debugging/testing/sanity purposes. +// +extern const unsigned char* rhythmdata[6]; +static const unsigned int rhythmdatalen[6] = { + 9013, 10674, 66610, 7259, 18562, 3042 +}; + +// --------------------------------------------------------------------------- +// Main chip init routine. +// c is the chip clock, which should never be set to anything other than 8MHz. +// r is the chip samplerate, set to 44100 typically. +// ipflag - if true, ignore the value of r, clock the "DAC" at the OPNA-internal +// samplerate of 55466Hz, then downsample to whatever the actual value of r is. +// +uint8_t OPNAInit(OPNA *opna, uint c, uint r, uint8_t ipflag) +{ + int i; + opna->devmask = 0x7; + opna->prescale = 0; + opna->rate = 44100; + opna->mixl = 0; + opna->mixdelta = 16383; + opna->interpolation = false; + + MakeTable(); + for (i=0; i<6; i++) { + Ch4Init(&opna->ch[i]); + opna->rhythm[i].sample = 0; + opna->rhythm[i].pos = 0; + opna->rhythm[i].size = 0; + opna->rhythm[i].volume = 0; + } + opna->rhythmtvol = 0; + opna->csmch = &opna->ch[2]; + for (i=0; i<6; i++) + opna->rhythm[i].pos = ~0; + + for (i=0; i<6; i++) + { + uint8_t *file_buf = (uint8_t*)0; + uint32_t fsize; + file_buf = (uint8_t*)rhythmdata[i]; + fsize = rhythmdatalen[i]; + file_buf += 44; + fsize -= 44; + fsize /= 2; + opna->rhythm[i].sample = (int8_t*)file_buf; + opna->rhythm[i].rate = 44100; + opna->rhythm[i].step = opna->rhythm[i].rate * 1024 / opna->rate; + opna->rhythm[i].pos = opna->rhythm[i].size = fsize * 1024; + } + + c /= 2; + opna->clock = c; + if (!OPNASetRate(opna, r, ipflag)) + return false; + RebuildTimeTable(opna); + OPNAReset(opna); + PSGInit(&opna->psg); + + SetVolumeFM(opna, 0); + SetVolumePSG(&opna->psg, 0); + OPNASetChannelMask(opna, ~0); + for (i=0; i<6; i++) + SetVolumeRhythm(opna, 0, 0); + return true; +} + +// --------------------------------------------------------------------------- +// Reset chip. Your standard routine, basically zeros everything in sight. +// +void OPNAReset(OPNA *opna) +{ + int i, j; + + opna->status = 0; + SetPrescaler(opna, 0); + opna->timera_count = 0; + opna->timerb_count = 0; + PSGReset(&opna->psg); + opna->reg29 = 0x1f; + opna->rhythmkey = 0; + for (i=0x20; i<0x28; i++) OPNASetReg(opna, i, 0); + for (i=0x30; i<0xc0; i++) OPNASetReg(opna, i, 0); + for (i=0x130; i<0x1c0; i++) OPNASetReg(opna, i, 0); + for (i=0x100; i<0x110; i++) OPNASetReg(opna, i, 0); + for (i=0x10; i<0x20; i++) OPNASetReg(opna, i, 0); + for (i=0; i<6; i++) + { + opna->pan[i] = 3; + for(j=0; j<4; j++) + OperatorReset(&opna->ch[i].op[j]); + } + + opna->statusnext = 0; + opna->lfocount = 0; + opna->status = 0; +} + +// --------------------------------------------------------------------------- +// Change OPNA "DAC" samplerate. +// r and ipflag are as in OPNAInit(), above. +// +uint8_t OPNASetRate(OPNA *opna, uint r, uint8_t ipflag) +{ + int i, j; + opna->interpolation = ipflag; + opna->psgrate = r; + RebuildTimeTable(opna); + opna->lfodcount = opna->reg22 & 0x08 ? lfotab[opna->reg22 & 7] : 0; + + for (i=0; i<6; i++) { + for (j=0; j<4; j++) + opna->ch[i].op[j].paramchanged = true; + } + for (i=0; i<6; i++) { + opna->rhythm[i].step = opna->rhythm[i].rate * 1024 / r; + } + return true; +} + +// --------------------------------------------------------------------------- +// Set OPNA channel mask. The 6 LSBs of mask are 0 to disable that FM channel, +// and 1 to enable it. The next 3 LSBs are passed to PSGSetChannelMask() to, +// well, set the PSG channel mask (which behaves the same way: 0 disables +// a given channel and 1 enables it). +// +void OPNASetChannelMask(OPNA *opna, uint mask) +{ + int i, j; + for (i=0; i<6; i++) { + for (j=0; j<4; j++) { + opna->ch[i].op[j].mute = (!(mask & (1 << i))); + opna->ch[i].op[j].paramchanged = true; + } + } + PSGSetChannelMask(&opna->psg, (mask >> 6)); +} + +// --------------------------------------------------------------------------- +// Main OPNA register-set routine. Really long and boring switch-case. +// Basically taken directly from the manual - the only parts of the spec +// that were even the least bit tricky to implement were the f-number tables, +// everything else is basically obvious. +// +void OPNASetReg(OPNA *opna, uint addr, uint data) +{ + uint j, _dp = 0; + int c = addr & 3; + switch (addr) + { + uint modified; + uint tmp; + + // Timer ----------------------------------------------------------------- + case 0x24: case 0x25: + opna->regta[addr & 1] = (uint8_t)data; + tmp = (opna->regta[0] << 2) + (opna->regta[1] & 3); + opna->timera = (1024-tmp) * opna->timer_step; + break; + + case 0x26: + opna->timerb = (256-data) * opna->timer_step; + break; + + case 0x27: + tmp = opna->regtc ^ data; + opna->regtc = (uint8_t)data; + if (data & 0x10) + opna->status &= ~1; + if (data & 0x20) + opna->status &= ~2; + if (tmp & 0x01) + opna->timera_count = (data & 1) ? opna->timera : 0; + if (tmp & 0x02) + opna->timerb_count = (data & 2) ? opna->timerb : 0; + break; + + // Misc ------------------------------------------------------------------ + case 0x28: // Key On/Off + if ((data & 3) < 3) + { + uint32_t key = (data >> 4); + c = (data & 3) + (data & 4 ? 3 : 0); + if (key & 0x1) KeyOn(&opna->ch[c].op[0]); else KeyOff(&opna->ch[c].op[0]); + if (key & 0x2) KeyOn(&opna->ch[c].op[1]); else KeyOff(&opna->ch[c].op[1]); + if (key & 0x4) KeyOn(&opna->ch[c].op[2]); else KeyOff(&opna->ch[c].op[2]); + if (key & 0x8) KeyOn(&opna->ch[c].op[3]); else KeyOff(&opna->ch[c].op[3]); + } + break; + + // Status Mask ----------------------------------------------------------- + case 0x29: + opna->reg29 = data; + break; + + // Prescaler ------------------------------------------------------------- + case 0x2d: case 0x2e: case 0x2f: + SetPrescaler(opna, (addr-0x2d)); + break; + + // F-Number -------------------------------------------------------------- + case 0x1a0: case 0x1a1: case 0x1a2: + c += 3; + case 0xa0: case 0xa1: case 0xa2: + opna->fnum[c] = data + opna->fnum2[c] * 0x100; + _dp = (opna->fnum[c] & 2047) << ((opna->fnum[c] >> 11) & 7); + for(j=0; j<4; j++) { + opna->ch[c].op[j].dp = _dp; + opna->ch[c].op[j].bn = notetab[(opna->fnum[c] >> 7) & 127]; + opna->ch[c].op[j].paramchanged = true; + } + break; + + case 0x1a4: case 0x1a5: case 0x1a6: + c += 3; + case 0xa4 : case 0xa5: case 0xa6: + opna->fnum2[c] = (uint8_t)data; + break; + + case 0xa8: case 0xa9: case 0xaa: + opna->fnum3[c] = data + opna->fnum2[c+6] * 0x100; + break; + + case 0xac : case 0xad: case 0xae: + opna->fnum2[c+6] = (uint8_t)data; + break; + + // Algorithm ------------------------------------------------------------- + case 0x1b0: case 0x1b1: case 0x1b2: + c += 3; + case 0xb0: case 0xb1: case 0xb2: + opna->ch[c].fb = fbtab[((data >> 3) & 7)]; + SetAlgorithm(&opna->ch[c], data & 7); + break; + + case 0x1b4: case 0x1b5: case 0x1b6: + c += 3; + case 0xb4: case 0xb5: case 0xb6: + opna->pan[c] = (data >> 6) & 3; + for(j=0; j<4; j++) { + opna->ch[c].op[j].ms = data; + opna->ch[c].op[j].paramchanged = true; + } + break; + + // Rhythm ---------------------------------------------------------------- + case 0x10: // DM/KEYON + if (!(data & 0x80)) // KEY ON + { + opna->rhythmkey |= data & 0x3f; + if (data & 0x01) opna->rhythm[0].pos = 0; + if (data & 0x02) opna->rhythm[1].pos = 0; + if (data & 0x04) opna->rhythm[2].pos = 0; + if (data & 0x08) opna->rhythm[3].pos = 0; + if (data & 0x10) opna->rhythm[4].pos = 0; + if (data & 0x20) opna->rhythm[5].pos = 0; + } + else + { // DUMP + opna->rhythmkey &= ~data; + } + break; + + case 0x11: + opna->rhythmtl = ~data & 63; + break; + + case 0x18: // Bass Drum + case 0x19: // Snare Drum + case 0x1a: // Top Cymbal + case 0x1b: // Hihat + case 0x1c: // Tom-tom + case 0x1d: // Rim shot + opna->rhythm[addr & 7].pan = (data >> 6) & 3; + opna->rhythm[addr & 7].level = ~data & 31; + break; + + // LFO ------------------------------------------------------------------- + case 0x22: + modified = opna->reg22 ^ data; + opna->reg22 = data; + if (modified & 0x8) + opna->lfocount = 0; + opna->lfodcount = opna->reg22 & 8 ? lfotab[opna->reg22 & 7] : 0; + break; + + // PSG ------------------------------------------------------------------- + case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7: + case 8: case 9: case 10: case 11: case 12: case 13: case 14: case 15: + PSGSetReg(&opna->psg, addr, data); + break; + + // ADSR ------------------------------------------------------------------ + default: + if (c < 3) + { + if (addr & 0x100) + c += 3; + { + uint8_t slottable[4] = { 0, 2, 1, 3 }; + uint32_t slot = slottable[(addr >> 2) & 3]; + FMOperator* op = &opna->ch[c].op[slot]; + + switch ((addr >> 4) & 15) + { + case 3: // 30-3E DT/MULTI + op->detune = (((data >> 4) & 0x07) * 0x20); + op->multiple = (data & 0x0f); + op->paramchanged = 1; + break; + + case 4: // 40-4E TL + if(!((opna->regtc & 0x80) && (opna->csmch == &opna->ch[c]))) { + op->tl = (data & 0x7f); + op->paramchanged = 1; + } + op->tll = (data & 0x7f); + break; + + case 5: // 50-5E KS/AR + op->ks = ((data >> 6) & 3); + op->ar = ((data & 0x1f) * 2); + op->paramchanged = 1; + break; + + case 6: // 60-6E DR/AMON + op->dr = ((data & 0x1f) * 2); + op->amon = ((data & 0x80) != 0); + op->paramchanged = 1; + break; + + case 7: // 70-7E SR + op->sr = ((data & 0x1f) * 2); + op->paramchanged = 1; + break; + + case 8: // 80-8E SL/RR + op->sl = (((data >> 4) & 15) * 4); + op->rr = ((data & 0x0f) * 4 + 2); + op->paramchanged = 1; + break; + + case 9: // 90-9E SSG-EC + op->ssgtype = (data & 0x0f); + break; + } + } + } + break; + } +} + +// --------------------------------------------------------------------------- +// Read OPNA register. Pointless. Only SSG registers can be read, and of those +// the only one anyone seems to be interested in reading is register 7, +// which as I explain in detail in psg.c, is completely superfluous. +// +uint OPNAGetReg(OPNA *opna, uint addr) +{ + if (addr < 0x10) + return PSGGetReg(&opna->psg, addr); + if (addr == 0xff) + return 1; + return 0; +} + +// --------------------------------------------------------------------------- + +static inline void MixSubSL(Channel4 ch[6], int activech, int32_t *dest) +{ + if (activech & 0x001) (*dest = Ch4CalcL(&ch[0])); + if (activech & 0x004) (*dest += Ch4CalcL(&ch[1])); + if (activech & 0x010) (*dest += Ch4CalcL(&ch[2])); + if (activech & 0x040) (*dest += Ch4CalcL(&ch[3])); + if (activech & 0x100) (*dest += Ch4CalcL(&ch[4])); + if (activech & 0x400) (*dest += Ch4CalcL(&ch[5])); +} + +static inline void MixSubS(Channel4 ch[6], int activech, int32_t *dest) +{ + if (activech & 0x001) (*dest = Ch4Calc(&ch[0])); + if (activech & 0x004) (*dest += Ch4Calc(&ch[1])); + if (activech & 0x010) (*dest += Ch4Calc(&ch[2])); + if (activech & 0x040) (*dest += Ch4Calc(&ch[3])); + if (activech & 0x100) (*dest += Ch4Calc(&ch[4])); + if (activech & 0x400) (*dest += Ch4Calc(&ch[5])); +} + +// --------------------------------------------------------------------------- +// Mix FM channels and output. Mix6 runs at user-specified samplerate, +// Mix6I runs at the chip samplerate of 55466Hz and then downsamples +// to the user-specified samplerate. It is an open problem as to determining +// if one of these sounds better than the other. +// +#define IStoSample(s) ((Limit((s) >> 2, 0xffff, -0xffff) * opna->fmvolume) >> 14) +//#define IStoSample(s) ((((s) >> 3) * fmvolume) >> 14) + +static void Mix6(OPNA *opna, Sample* buffer, uint32_t nsamples, int activech) +{ + Sample* limit = buffer + nsamples; + Sample* dest; + // Mix + int32_t ibuf; + + for (dest = buffer; dest < limit; dest+=1) + { + ibuf = 0; + if (activech & 0xaaa) + LFO(opna), MixSubSL(opna->ch, activech, &ibuf); + else + MixSubS(opna->ch, activech, &ibuf); + dest[0] += IStoSample(ibuf); + } +} + +// --------------------------------------------------------------------------- +// See comment above Mix6(), above. +// +static void Mix6I(OPNA *opna, Sample* buffer, uint32_t nsamples, int activech) +{ + // Mix + int32_t ibuf; + + int32_t delta = opna->mixdelta; + Sample* limit = buffer + nsamples; + Sample *dest; + if (opna->mpratio < 16384) + { + for (dest = buffer; dest < limit; dest+=1) + { + int32_t l, d; + while (delta > 0) + { + ibuf = 0; + if (activech & 0xaaa) + LFO(opna), MixSubSL(opna->ch, activech, &ibuf); + else + MixSubS(opna->ch, activech, &ibuf); + + l = IStoSample(ibuf); + d = Min(opna->mpratio, delta); + opna->mixl += l * d; + delta -= opna->mpratio; + } + dest[0] += (opna->mixl >> 14); + opna->mixl = l * (16384-d); + delta += 16384; + } + } else { + int impr = 16384 * 16384 / opna->mpratio; + for (dest = buffer; dest < limit; dest+=1) + { + if (delta < 0) + { + delta += 16384; + opna->mixl = opna->mixl1; + + ibuf = 0; + if (activech & 0xaaa) + LFO(opna), MixSubSL(opna->ch, activech, &ibuf); + else + MixSubS(opna->ch, activech, &ibuf); + + opna->mixl1 = IStoSample(ibuf); + } + int32_t l = (delta * opna->mixl + (16384 - delta) * opna->mixl1) / 16384; + dest[0] += l; + delta -= impr; + } + } + opna->mixdelta = delta; +} + +// --------------------------------------------------------------------------- +// Main FM output routine. Clocks all of the operators on the chip, then mixes +// together the output using one of Mix6() or Mix6I() above, and then outputs +// the result to OPNAMix, which is what the calling routine will actually use. +// buffer should be a pointer to a buffer of type Sample (int32_t in this +// implementation, though another used float and in principle int16_t *should* +// be sufficient), and be of size at least equal to nsamples. +// +static void FMMix(OPNA *opna, Sample* buffer, uint32_t nsamples) +{ + uint j; + if (opna->fmvolume > 0) + { + // Set F-Number + if (!(opna->regtc & 0xc0)) { + uint _dp = (opna->fnum[opna->csmch-opna->ch] & 2047) << ((opna->fnum[opna->csmch-opna->ch] >> 11) & 7); + for(j=0; j<4; j++) { + opna->csmch->op[j].dp = _dp; + opna->csmch->op[j].bn = notetab[(opna->fnum[opna->csmch-opna->ch] >> 7) & 127]; + opna->csmch->op[j].paramchanged = true; + } + } else { + SetFNum(&opna->csmch->op[0], opna->fnum3[1]); SetFNum(&opna->csmch->op[1], opna->fnum3[2]); + SetFNum(&opna->csmch->op[2], opna->fnum3[0]); SetFNum(&opna->csmch->op[3], opna->fnum[2]); + } + + int act = (((Ch4Prepare(&opna->ch[2]) << 2) | Ch4Prepare(&opna->ch[1])) << 2) | Ch4Prepare(&opna->ch[0]); + if (opna->reg29 & 0x80) + act |= (Ch4Prepare(&opna->ch[3]) | ((Ch4Prepare(&opna->ch[4]) | (Ch4Prepare(&opna->ch[5]) << 2)) << 2)) << 6; + if (!(opna->reg22 & 0x08)) + act &= 0x555; + + if (act & 0x555) + { + if (opna->interpolation) + Mix6I(opna, buffer, nsamples, act); + else + Mix6(opna, buffer, nsamples, act); + } else { + opna->mixl = 0, opna->mixdelta = 16383; + } + } +} + +// --------------------------------------------------------------------------- +// Mix Rhythm generator output. Boring, just takes the PCM samples, +// multiplies them by the volume set for that rhythm sample, and then outputs +// the appropriate length of sample for that given samplerate to buffer. +// The same restrictions on buffer as in FMMix() above apply. +// +static void RhythmMix(OPNA *opna, Sample* buffer, uint32_t count) +{ + int i; + Sample *dest; + if (opna->rhythmtvol < 128 && opna->rhythm[0].sample && (opna->rhythmkey & 0x3f)) + { + Sample* limit = buffer + count; + for (i=0; i<6; i++) + { + Rhythm *r = &opna->rhythm[i]; + if ((opna->rhythmkey & (1 << i)) && r->level >= 0) + { + int db = Limit(opna->rhythmtl+r->level+r->volume, 95, -31); + int vol = tltab[FM_TLPOS + db]; + + for (dest = buffer; dest<limit && r->pos < r->size; dest+=1) + { + int sample = ((r->sample[r->pos / 1024] << 8) * vol) >> 12; + r->pos += r->step; + dest[0] += sample; + } + } + } + } +} + +// --------------------------------------------------------------------------- +// Main OPNA output routine. See FMMix(), RhythmMix() above and PSGMix() +// in psg.c for details. +// +void OPNAMix(OPNA *opna, Sample* buffer, uint32_t nsamples) +{ + if(opna->devmask & 1) FMMix(opna, buffer, nsamples); + if(opna->devmask & 2) PSGMix(&opna->psg, buffer, nsamples); + if(opna->devmask & 4) RhythmMix(opna, buffer, nsamples); +} + +// --------------------------------------------------------------------------- +// Table setup/generation routines. +// FIXME: unify cltab/tltab and then hardcode the result, it's tiny enough +// that we don't really need to bother with runtime init for it. +// +void MakeTable(void) { + int i, j; + if (tablemade) + return; + + tablemade = true; + for (i=-FM_TLPOS; i<FM_TLENTS-FM_TLPOS; i++) + { + tltab[FM_TLPOS + i] = (uint32_t)(4096.0f * expf((float)M_LN2*(i * -16.0f / FM_TLENTS)))-1; +// LOG2("tltab[%4d] = 0x%.4x\n", i, tltab[FM_TLPOS+i]); + } + for (i=0; i<512; i++) + { + int c = (int)(((1 << 8) - 1) * expf((float)M_LN2*(-i / 64.0f))); +#if 1 + // ÀºÅÙÍÞÀ© +// c += 1 << 3; +// c &= ~1 << 3; + for (j=16; j>11; j--) + { + if ((1 << j) & c) + { + c &= ((1 << 11) - 1) << (j - 10); + break; + } + } +#endif + cltab[i] = c; +// LOG2("cltab[%4d*2] = %6d\n", i, cltab[i*2]); + } + // 3 6, 12 30 60 240 420 / 720 + // 1.000963 + // lfofref[level * max * wave]; + // pre = lfofref[level][pms * wave >> 8]; + for (i=0; i<8; i++) + { + float pmb = pms[i]; + for (j=0; j<FM_LFOENTS; j++) + { + pmtable[i][j] = + (int)(0x10000 * (expf((float)M_LN2*(pmb * (2*j - FM_LFOENTS+1) / (FM_LFOENTS-1)) - 1))); +// LOG4("pmtable[%d][%.2x] = %5d ", i, j, pmtable[i][j]); +// LOG1(" %7.2f\n", log(1. + pmtable[i][j] / 65536.) / log(2) * 1200); + } + } +} +
new file mode 100644 --- /dev/null +++ b/fmgen/opna.h @@ -0,0 +1,89 @@ +#ifndef __OPNA_H__ +#define __OPNA_H__ + +#include <stdint.h> +#include "op.h" +#include "psg.h" + +// YM2608 (OPNA) ------------------------------------------------------ +typedef struct _OPNA +{ + int fmvolume; + uint32_t clock; + uint32_t rate; + uint32_t psgrate; + uint32_t status; + Channel4 ch[6]; + Channel4* csmch; + + int32_t mixdelta; + int mpratio; + uint8_t interpolation; + + uint8_t timer_status; + uint8_t regtc; + uint8_t regta[2]; + + int32_t timera, timera_count; + int32_t timerb, timerb_count; + int32_t timer_step; + uint8_t prescale; + uint8_t devmask; + + PSG psg; + + Rhythm rhythm[6]; + int8_t rhythmtl; + int rhythmtvol; + uint8_t rhythmkey; + + int32_t mixl, mixl1; + uint8_t pan[6]; + uint8_t fnum2[9]; + + uint8_t reg22; + uint32_t reg29; + uint32_t statusnext; + + uint32_t lfocount; + uint32_t lfodcount; + + uint32_t fnum[6]; + uint32_t fnum3[3]; +} OPNA; + +#ifdef __cplusplus +extern "C" { +#endif + +// --------------------------------------------------------------------------- +uint8_t OPNAInit(OPNA *opna, uint c, uint r, uint8_t ipflag); +void OPNAReset(OPNA *opna); +void SetVolumeFM(OPNA *opna, int db); +void SetVolumeRhythmTotal(OPNA *opna, int db); +uint8_t OPNASetRate(OPNA *opna, uint r, uint8_t ipflag); +void OPNASetChannelMask(OPNA *opna, uint mask); +void OPNASetReg(OPNA *opna, uint addr, uint data); +uint8_t OPNATimerCount(OPNA *opna, int32_t us); +void OPNAMix(OPNA *opna, Sample* buffer, uint32_t nsamples); + +// --------------------------------------------------------------------------- +static inline uint32_t ReadStatus(OPNA *opna) { return opna->status & 0x03; } +static inline void SetVolumeRhythm(OPNA *opna, int index, int db) +{ + db = Min(db, 20); + opna->rhythm[index].volume = -(db * 2 / 3); +} + +static inline int32_t OPNAGetNextEvent(OPNA *opna) +{ + uint32_t ta = ((opna->timera_count + 0xffff) >> 16) - 1; + uint32_t tb = ((opna->timerb_count + 0xfff) >> 12) - 1; + return (ta < tb ? ta : tb) + 1; +} + +#ifdef __cplusplus +}; +#endif + +#endif // FM_OPNA_H
new file mode 100644 --- /dev/null +++ b/fmgen/psg.c @@ -0,0 +1,358 @@ +// FIXME: move ugly-ass legalese somewhere where it won't be seen +// by anyone other than lawyers. (/dev/null would be ideal but sadly +// we live in an imperfect world). +/* Copyright (c) 2012/2013, Peter Barfuss +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ + +// Quick, somewhat hacky PSG implementation. Seems to work fine in most cases. +// Known bugs: volume *may* still be off for a lot of samples. Importantly, +// waveform volume is too quiet but setting it at the correct volume makes +// the noise volume too loud and vice-versa. I *think* what I have currently +// is mostly correct (I'm basing this mostly on how good Strawberry Crisis +// sounds with the given settings), but it's possible that more fine-tuning +// is needed. Apart from that, this is probably the sketchiest part of all +// of my emulator code, but then again there's a bit-exact VHDL core of +// the YM2149F/AY-3-8910, so while I do want to make this as good +// as the code in opna.c, it's the lowest-priority of all of the code here. +// --bofh +#include <stdint.h> +#include <stdlib.h> +#include <string.h> +#include <math.h> +#include <unistd.h> +#include "op.h" +#include "psg.h" +#define Max(a,b) ((a>b)?a:b) +#define Min(a,b) ((a<b)?a:b) + +// --------------------------------------------------------------------------- +// ơ֥ +// +int EmitTable[0x20] = { -1, }; +uint enveloptable[16][64] = { 0, }; + +// --------------------------------------------------------------------------- +// PSG reset to power-on defaults +// +void PSGReset(PSG *psg) +{ + int i; + for (i=0; i<14; i++) + PSGSetReg(psg, i, 0); + PSGSetReg(psg, 7, 0xff); + PSGSetReg(psg, 14, 0xff); + PSGSetReg(psg, 15, 0xff); +} + +// --------------------------------------------------------------------------- +// This code is strongly inspired by some random PSG emulator code I found, +// and is probably not the optimal way to define periods. It *is* at least +// among the fastest, given that it uses the hilarious hack of using the +// integer overflow on a 32-bit unsigned integer to compute ""moduli"". +// +void PSGSetClock(PSG *psg, uint32_t clock, uint32_t rate) +{ + psg->tperiodbase = (uint32_t)((1 << toneshift ) / 4.0f * clock / rate); + psg->eperiodbase = (uint32_t)((1 << envshift ) / 4.0f * clock / rate); + + // ƥǡι + int tmp; + tmp = ((psg->reg[0] + psg->reg[1] * 256) & 0xfff); + psg->speriod[0] = tmp ? psg->tperiodbase / tmp : psg->tperiodbase; + tmp = ((psg->reg[2] + psg->reg[3] * 256) & 0xfff); + psg->speriod[1] = tmp ? psg->tperiodbase / tmp : psg->tperiodbase; + tmp = ((psg->reg[4] + psg->reg[5] * 256) & 0xfff); + psg->speriod[2] = tmp ? psg->tperiodbase / tmp : psg->tperiodbase; + tmp = psg->reg[6] & 0x1f; + psg->nperiod = tmp; + tmp = ((psg->reg[11] + psg->reg[12] * 256) & 0xffff); + psg->eperiod = tmp ? psg->eperiodbase / tmp : psg->eperiodbase * 2; +} + +// --------------------------------------------------------------------------- +// ٥ȷơ֥ +// +static uint8_t table3[4] = { 0, 1, -1, 0 }; +void MakeEnvelopTable(void) +{ + // 0 lo 1 up 2 down 3 hi + static uint8_t table1[16*2] = + { + 2,0, 2,0, 2,0, 2,0, 1,0, 1,0, 1,0, 1,0, + 2,2, 2,0, 2,1, 2,3, 1,1, 1,3, 1,2, 1,0, + }; + int i, j; + + if (!enveloptable[0][0]) + { + uint* ptr = enveloptable[0]; + + for (i=0; i<16*2; i++) + { + uint8_t v = ((table1[i] & 0x2) ? 31 : 0); + + for (j=0; j<32; j++) + { + *ptr++ = EmitTable[v]; + v += table3[table1[i]]; + } + } + } +} + +// --------------------------------------------------------------------------- +// Sets the channel output mask for the PSG device. +// c is a bitvector where the 3 LSBs are set to 0 to disable a given +// PSG channel and 1 to enable it. +// TODO: Possibly allow enabling tone/noise output for each channel independently? +// +void PSGSetChannelMask(PSG *psg, int c) +{ + int i; + psg->mask = c; + for (i=0; i<3; i++) + psg->olevel[i] = psg->mask & (1 << i) ? EmitTable[(psg->reg[8+i] & 15) * 2 + 1] : 0; +} + +// --------------------------------------------------------------------------- +// Sets the PSG volume. It's a fairly standard dB -> internal linear scale +// conversion, followed by generating a table with volume levels. +// The "magic number" 1.189207115 is just sqrt(sqrt(2)) +// TODO: is this table really needed? We have fast floating-point now. +// +void SetVolumePSG(PSG *psg, int volume) +{ + int i; + float base = 0x4000 / 3.0f * expf((float)M_LN10*(volume / 40.0f)); + for (i=31; i>=2; i--) + { + EmitTable[i] = lrintf(base); + base /= 1.189207115f; + } + EmitTable[1] = 0; + EmitTable[0] = 0; + MakeEnvelopTable(); + + PSGSetChannelMask(psg, psg->mask); +} + +// --------------------------------------------------------------------------- +// PSG register set routine. Mostly just what you'd expect from reading the manual. +// Fairly boring code overall. regnum can be 0 - 15, data can be 0x00 - 0xFF. +// (This should not be surprising - the YM2149F *did* use an 8-bit bus, after all). +// Interesting quirk: the task of register 7 (channel enable/disable) is basically +// entirely duplicated by other registers, to the point where you can basically +// just ignore any writes to register 7 entirely. I save it here in case some +// braindead routine wants to read its value and do something based on that +// (Another curiosity: register 7 on the PSG appears to be the only register +// between *both* the OPNA and the PSG which is actually *read from* by +// pmdwin.cpp and not just written to. Amusingly enough, the only reason +// that it is ever read is so that it can then OR something with what it just read +// and then write that back to register 7. Hilarity). +// HACK ALERT: The output levels for channels 0 and 1 are increased by a factor of 4 +// to make them match the actual chip in loudness, but without causing the noise channel +// to overtake everything in intensity. This is almost certainly wrong, and moreover +// it assumes that channel 2 will be playing back Speak Board effects which usually means +// drum kit only (for the most part, at least), and not being used as a separate tonal +// channel in its own right. To the best of my knowledge, this does hold for all of ZUN's +// songs, however, once you step outside that set of music, it's trivial to find +// all sorts of counterexamples to that assumption. Therefore, this should be fixed ASAP. +// +void PSGSetReg(PSG *psg, uint8_t regnum, uint8_t data) +{ + if (regnum < 0x10) + { + psg->reg[regnum] = data; + switch (regnum) + { + int tmp; + + case 0: // ChA Fine Tune + case 1: // ChA Coarse Tune + tmp = ((psg->reg[0] + psg->reg[1] * 256) & 0xfff); + psg->speriod[0] = tmp ? psg->tperiodbase / tmp : psg->tperiodbase; + break; + + case 2: // ChB Fine Tune + case 3: // ChB Coarse Tune + tmp = ((psg->reg[2] + psg->reg[3] * 256) & 0xfff); + psg->speriod[1] = tmp ? psg->tperiodbase / tmp : psg->tperiodbase; + break; + + case 4: // ChC Fine Tune + case 5: // ChC Coarse Tune + tmp = ((psg->reg[4] + psg->reg[5] * 256) & 0xfff); + psg->speriod[2] = tmp ? psg->tperiodbase / tmp : psg->tperiodbase; + break; + + case 6: // Noise generator control + data &= 0x1f; + psg->nperiod = data; + break; + + case 8: + psg->olevel[0] = psg->mask & 1 ? EmitTable[(data & 15) * 2 + 1] : 0; + break; + + case 9: + psg->olevel[1] = psg->mask & 2 ? EmitTable[(data & 15) * 2 + 1] : 0; + break; + + case 10: + psg->olevel[2] = psg->mask & 4 ? EmitTable[(data & 15) * 2 + 1] : 0; + break; + + case 11: // Envelope period + case 12: + tmp = ((psg->reg[11] + psg->reg[12] * 256) & 0xffff); + psg->eperiod = tmp ? psg->eperiodbase / tmp : psg->eperiodbase * 2; + break; + + case 13: // Envelope shape + psg->ecount = 0; + psg->envelop = enveloptable[data & 15]; + break; + } + } +} + +// --------------------------------------------------------------------------- +// Init code. Set volume to 0, reset the chip, enable all channels, seed the RNG. +// RNG seed lifted from MAME's YM2149F emulation routine, appears to be correct. +// +void PSGInit(PSG *psg) +{ + SetVolumePSG(psg, 0); + psg->rng = 14231; + psg->ncount = 0; + PSGReset(psg); + psg->mask = 0x3f; +} + +// --------------------------------------------------------------------------- +// The main output routine for the PSG emulation. +// dest should be an array of size nsamples, and of type Sample +// (one of int16_t, int32_t or float - any will work here without causing +// clipping/precision problems). +// Everything is implemented using some form of fixed-point arithmetic +// that currently needs no more than 32-bits for its implementation, +// but I'm pretty certain that you can get by with much less than that +// and still have mostly correct-to-fully-correct emulation. +// +// TODO: In the future, test the veracity of the above statement. Moreover, +// if it turns out to be correct, rewrite this routine to not use more than +// the required precision. This is irrelevant for any PC newer than, well, +// a 386DX/68040, but important for efficient hardware implementation. +// +void PSGMix(PSG *psg, Sample* dest, uint32_t nsamples) +{ + uint8_t chenable[3]; + uint8_t r7 = ~psg->reg[7]; + int i; + + if ((r7 & 0x3f) | ((psg->reg[8] | psg->reg[9] | psg->reg[10]) & 0x1f)) { + chenable[0] = (r7 & 0x01) && (psg->speriod[0] <= (1 << toneshift)); + chenable[1] = (r7 & 0x02) && (psg->speriod[1] <= (1 << toneshift)); + chenable[2] = (r7 & 0x04) && (psg->speriod[2] <= (1 << toneshift)); + + int noise, sample; + uint env; + uint* p1 = ((psg->mask & 1) && (psg->reg[ 8] & 0x10)) ? &env : &psg->olevel[0]; + uint* p2 = ((psg->mask & 2) && (psg->reg[ 9] & 0x10)) ? &env : &psg->olevel[1]; + uint* p3 = ((psg->mask & 4) && (psg->reg[10] & 0x10)) ? &env : &psg->olevel[2]; + #define SCOUNT(ch) (psg->scount[ch] >> toneshift) + + if (p1 != &env && p2 != &env && p3 != &env) { + // Υͭ + for (i=0; i<nsamples; i++) { + psg->ncount++; + if(psg->ncount >= psg->nperiod) { + if(psg->rng & 1) + psg->rng ^= 0x24000; + psg->rng >>= 1; + psg->ncount = 0; + } + noise = (psg->rng & 1); + sample = 0; + { + int x, y, z; + x = ((SCOUNT(0) & chenable[0]) | ((r7 >> 3) & noise)) - 1; // 0 or -1 + sample += (psg->olevel[0] + x) ^ x; + psg->scount[0] += psg->speriod[0]; + y = ((SCOUNT(1) & chenable[1]) | ((r7 >> 4) & noise)) - 1; + sample += (psg->olevel[1] + y) ^ y; + psg->scount[1] += psg->speriod[1]; + z = ((SCOUNT(2) & chenable[2]) | ((r7 >> 5) & noise)) - 1; + sample += (psg->olevel[2] + z) ^ z; + psg->scount[2] += psg->speriod[2]; + } + dest[0] += sample; + dest += 1; + } + + // ٥פηܤäĢ碌 + psg->ecount = (psg->ecount >> 8) + (psg->eperiod >> 8) * nsamples; + if (psg->ecount >= (1 << (envshift+6-8))) { + if ((psg->reg[0x0d] & 0x0b) != 0x0a) + psg->ecount |= (1 << (envshift+5-8)); + psg->ecount &= (1 << (envshift+6-8)) - 1; + } + psg->ecount <<= 8; + } else { + // ٥פ + for (i=0; i<nsamples; i++) { + psg->ncount++; + if(psg->ncount >= psg->nperiod) { + if(psg->rng & 1) + psg->rng ^= 0x24000; + psg->rng >>= 1; + psg->ncount = 0; + } + noise = (psg->rng & 1); + sample = 0; + { + env = psg->envelop[psg->ecount >> envshift]; + psg->ecount += psg->eperiod; + if (psg->ecount >= (1 << (envshift+6))) { + if ((psg->reg[0x0d] & 0x0b) != 0x0a) + psg->ecount |= (1 << (envshift+5)); + psg->ecount &= (1 << (envshift+6)) - 1; + } + int x, y, z; + x = ((SCOUNT(0) & chenable[0]) | ((r7 >> 3) & noise)) - 1; // 0 or -1 + sample += (*p1 + x) ^ x; + psg->scount[0] += psg->speriod[0]; + y = ((SCOUNT(1) & chenable[1]) | ((r7 >> 4) & noise)) - 1; + sample += (*p2 + y) ^ y; + psg->scount[1] += psg->speriod[1]; + z = ((SCOUNT(2) & chenable[2]) | ((r7 >> 5) & noise)) - 1; + sample += (*p3 + z) ^ z; + psg->scount[2] += psg->speriod[2]; + } + dest[0] += sample; + dest += 1; + } + } + } +} +
new file mode 100644 --- /dev/null +++ b/fmgen/psg.h @@ -0,0 +1,53 @@ +#ifndef __PSG_H__ +#define __PSG_H__ + +#include <stdint.h> +#define PSG_SAMPLETYPE int32_t // any of int16_t, int32_t or float will work here. + +// Constants for the shift amounts used in the counters. +// +enum { + toneshift = 24, + envshift = 22 +}; + +typedef struct _PSG { + uint8_t reg[16]; + + const uint32_t *envelop; + uint32_t rng; + uint32_t olevel[3]; + uint32_t scount[3], speriod[3]; + uint32_t ecount, eperiod; + uint32_t ncount, nperiod; + uint32_t tperiodbase; + uint32_t eperiodbase; + int volume; + int mask; +} PSG; + +#ifdef __cplusplus +extern "C" { +#endif + +// Mostly self-explanatory. +// Actual descriptions of each function can be found in psg.c +// Also, PSGGetReg() is basically useless. +// (More info on that can *also* be found in psg.c). +void PSGInit(PSG *psg); +void PSGReset(PSG *psg); +void PSGSetClock(PSG *psg, uint32_t clock, uint32_t rate); +void SetVolumePSG(PSG *psg, int volume); +void PSGSetChannelMask(PSG *psg, int c); +void PSGSetReg(PSG *psg, uint8_t regnum, uint8_t data); +void PSGMix(PSG *psg, int32_t *dest, uint32_t nsamples); + +static inline uint32_t PSGGetReg(PSG *psg, uint8_t regnum) { + return psg->reg[regnum & 0x0f]; +} + +#ifdef __cplusplus +}; +#endif + +#endif // PSG_H
new file mode 100644 --- /dev/null +++ b/fmgen/rhythmdata.c @@ -0,0 +1,6 @@ +#include "rhythmdata.h" + +const unsigned char* rhythmdata[6] = { + BD_2608, SD_2608, TOP_2608, HH_2608, TOM_2608, RIM_2608 +}; +
new file mode 100644 --- /dev/null +++ b/fmgen/rhythmdata.h @@ -0,0 +1,5255 @@ +static const unsigned char BD_2608[9013] = { + 0x52, 0x49, 0x46, 0x46, 0x36, 0x46, 0x00, 0x00, 0x57, 0x41, 0x56, 0x45, 0x66, 0x6d, 0x74, 0x20, 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x01, 0x00, 0x44, 0xac, 0x00, 0x00, 0x88, 0x58, 0x01, 0x00, 0x02, 0x00, 0x10, 0x00, 0x66, 0x61, 0x63, 0x74, 0x04, 0x00, 0x00, 0x00, + 0x23, 0x00, 0x61, 0x61, 0x46, 0x00, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, + 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, + 0x04, 0x04, 0x04, 0x04, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, + 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, + 0x05, 0x05, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x02, 0x02, 0x01, 0xff, 0xff, 0xff, 0x02, 0x05, 0x05, 0x06, 0x09, 0x10, 0x19, 0x1c, 0x18, + 0x09, 0xef, 0xd2, 0xc5, 0xdd, 0xff, 0x1b, 0x27, 0x1e, 0x0d, 0x02, 0x00, 0xf1, 0xd3, 0xb9, 0xbe, 0xd8, 0x01, 0x2a, 0x3c, 0x39, 0x1b, + 0xe4, 0xbf, 0xb9, 0xcd, 0xed, 0x0f, 0x29, 0x32, 0x2c, 0x1a, 0x0c, 0x10, 0x15, 0x0e, 0xfa, 0xe2, 0xce, 0xc0, 0xb8, 0xb5, 0xbb, 0xcd, + 0xeb, 0x07, 0x14, 0x10, 0x00, 0xe9, 0xd7, 0xd1, 0xd3, 0xdb, 0xe2, 0xd9, 0xcc, 0xc3, 0xcc, 0xeb, 0x11, 0x12, 0xde, 0xb1, 0xa6, 0xb6, + 0xbd, 0xc9, 0xd6, 0xe0, 0xde, 0xd3, 0xbf, 0xaa, 0xa1, 0xbf, 0xf3, 0x0e, 0x08, 0xe8, 0xc4, 0xae, 0xab, 0xb2, 0xb6, 0xb9, 0xb3, 0xa9, + 0xa7, 0xa9, 0xab, 0xa9, 0xaa, 0xb4, 0xc2, 0xc3, 0xbd, 0xba, 0xc2, 0xc8, 0xcb, 0xc1, 0xac, 0x9d, 0x9e, 0xa9, 0xb2, 0xbe, 0xd0, 0xe4, + 0xf0, 0xf5, 0xef, 0xdf, 0xcb, 0xbb, 0xb3, 0xb2, 0xb5, 0xbf, 0xcd, 0xda, 0xd4, 0xc0, 0xb5, 0xae, 0xae, 0xb2, 0xb6, 0xbc, 0xc1, 0xc5, + 0xc8, 0xd0, 0xe2, 0xf6, 0x0a, 0x0c, 0xfc, 0xed, 0xdf, 0xd9, 0xda, 0xe1, 0xdf, 0xd3, 0xca, 0xc6, 0xd2, 0xee, 0x0a, 0x12, 0x0a, 0xfc, + 0xf3, 0xec, 0xe5, 0xe4, 0xf2, 0x04, 0x0a, 0x06, 0xfd, 0xfa, 0x02, 0x11, 0x1b, 0x1b, 0x15, 0x0c, 0x04, 0x00, 0x00, 0x0a, 0x1b, 0x27, + 0x2a, 0x28, 0x27, 0x2d, 0x34, 0x3a, 0x3e, 0x42, 0x3c, 0x2f, 0x26, 0x24, 0x29, 0x2f, 0x35, 0x38, 0x39, 0x38, 0x39, 0x3a, 0x3b, 0x3d, + 0x3e, 0x3e, 0x40, 0x43, 0x48, 0x4d, 0x50, 0x4e, 0x4e, 0x4f, 0x50, 0x4f, 0x50, 0x58, 0x64, 0x6b, 0x69, 0x64, 0x60, 0x5f, 0x61, 0x65, + 0x65, 0x63, 0x61, 0x5e, 0x61, 0x67, 0x6d, 0x6d, 0x69, 0x65, 0x65, 0x66, 0x65, 0x61, 0x5d, 0x5e, 0x63, 0x68, 0x68, 0x65, 0x61, 0x5f, + 0x60, 0x61, 0x62, 0x64, 0x65, 0x63, 0x5f, 0x5b, 0x5a, 0x5d, 0x62, 0x67, 0x6a, 0x6b, 0x6b, 0x6a, 0x64, 0x5d, 0x51, 0x47, 0x44, 0x48, + 0x53, 0x60, 0x6b, 0x6c, 0x66, 0x5a, 0x4a, 0x41, 0x40, 0x44, 0x49, 0x4e, 0x51, 0x53, 0x51, 0x52, 0x54, 0x51, 0x4b, 0x44, 0x40, 0x43, + 0x46, 0x46, 0x42, 0x3e, 0x3b, 0x39, 0x39, 0x37, 0x34, 0x32, 0x32, 0x34, 0x36, 0x37, 0x35, 0x30, 0x2b, 0x29, 0x24, 0x1f, 0x1a, 0x18, + 0x18, 0x1a, 0x1e, 0x22, 0x26, 0x28, 0x28, 0x25, 0x1f, 0x18, 0x0d, 0x03, 0xfa, 0xf3, 0xf2, 0xf8, 0x01, 0x0a, 0x0e, 0x0d, 0x08, 0x04, + 0xff, 0xf8, 0xf5, 0xf2, 0xf0, 0xee, 0xeb, 0xe8, 0xe5, 0xe4, 0xe4, 0xe6, 0xe7, 0xe4, 0xe1, 0xde, 0xdd, 0xdb, 0xd8, 0xd7, 0xd6, 0xd6, + 0xd4, 0xd1, 0xce, 0xcc, 0xc9, 0xc7, 0xc5, 0xc5, 0xc5, 0xc3, 0xc1, 0xc0, 0xbe, 0xba, 0xb7, 0xb4, 0xb4, 0xb4, 0xb3, 0xb3, 0xb3, 0xb4, + 0xb3, 0xb2, 0xb0, 0xac, 0xa9, 0xa6, 0xa4, 0xa0, 0x9e, 0x9f, 0xa2, 0xa5, 0xa6, 0xa4, 0xa0, 0x9c, 0x9b, 0x9b, 0x9c, 0x9a, 0x96, 0x92, + 0x90, 0x90, 0x8f, 0x8f, 0x8f, 0x91, 0x92, 0x91, 0x8f, 0x8d, 0x8c, 0x8b, 0x8a, 0x8b, 0x8c, 0x8e, 0x8d, 0x8b, 0x88, 0x85, 0x84, 0x84, + 0x83, 0x82, 0x83, 0x85, 0x87, 0x88, 0x88, 0x87, 0x84, 0x82, 0x81, 0x81, 0x80, 0x80, 0x80, 0x81, 0x81, 0x82, 0x82, 0x83, 0x84, 0x86, + 0x87, 0x86, 0x83, 0x82, 0x81, 0x80, 0x80, 0x80, 0x80, 0x82, 0x84, 0x85, 0x86, 0x86, 0x85, 0x86, 0x85, 0x84, 0x83, 0x83, 0x83, 0x83, + 0x83, 0x83, 0x83, 0x84, 0x86, 0x88, 0x89, 0x89, 0x88, 0x86, 0x85, 0x85, 0x85, 0x86, 0x88, 0x89, 0x89, 0x89, 0x89, 0x89, 0x8a, 0x8b, + 0x8c, 0x8e, 0x8f, 0x8f, 0x90, 0x90, 0x91, 0x91, 0x91, 0x91, 0x90, 0x91, 0x92, 0x94, 0x96, 0x99, 0x9b, 0x9c, 0x9c, 0x9c, 0x9c, 0x9c, + 0x9c, 0x9d, 0x9d, 0x9d, 0x9d, 0x9e, 0xa0, 0xa3, 0xa6, 0xa9, 0xac, 0xaf, 0xb2, 0xb3, 0xb2, 0xb0, 0xac, 0xa9, 0xa8, 0xa9, 0xac, 0xb1, + 0xb7, 0xbe, 0xc4, 0xc8, 0xc9, 0xc6, 0xc2, 0xbe, 0xbb, 0xbb, 0xbc, 0xbd, 0xbf, 0xc1, 0xc5, 0xc8, 0xcc, 0xd0, 0xd2, 0xd2, 0xd3, 0xd4, + 0xd6, 0xd8, 0xda, 0xdb, 0xdc, 0xdb, 0xdc, 0xdd, 0xde, 0xe1, 0xe4, 0xe7, 0xe9, 0xe9, 0xe9, 0xe8, 0xea, 0xed, 0xf1, 0xf3, 0xf4, 0xf3, + 0xf4, 0xf6, 0xf9, 0xfd, 0xff, 0x00, 0x00, 0x00, 0x01, 0x03, 0x05, 0x07, 0x0a, 0x0b, 0x0b, 0x0b, 0x0c, 0x0d, 0x0f, 0x10, 0x11, 0x11, + 0x12, 0x13, 0x15, 0x17, 0x1a, 0x1c, 0x1e, 0x20, 0x23, 0x26, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2b, 0x29, 0x28, 0x29, 0x2a, 0x2e, 0x31, + 0x34, 0x34, 0x35, 0x36, 0x37, 0x37, 0x38, 0x39, 0x3a, 0x3c, 0x3e, 0x41, 0x44, 0x47, 0x48, 0x47, 0x46, 0x45, 0x45, 0x45, 0x46, 0x48, + 0x4a, 0x4b, 0x4a, 0x49, 0x49, 0x4a, 0x4c, 0x4d, 0x50, 0x54, 0x58, 0x5a, 0x5a, 0x59, 0x57, 0x56, 0x56, 0x56, 0x56, 0x57, 0x58, 0x58, + 0x57, 0x56, 0x58, 0x5a, 0x5b, 0x5b, 0x5c, 0x5e, 0x60, 0x61, 0x62, 0x62, 0x61, 0x5f, 0x5e, 0x5f, 0x5f, 0x5f, 0x5f, 0x5e, 0x5e, 0x5f, + 0x61, 0x63, 0x64, 0x65, 0x65, 0x65, 0x64, 0x64, 0x63, 0x61, 0x60, 0x5f, 0x60, 0x60, 0x60, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, + 0x66, 0x66, 0x66, 0x67, 0x66, 0x66, 0x65, 0x65, 0x65, 0x66, 0x66, 0x65, 0x63, 0x61, 0x61, 0x62, 0x63, 0x64, 0x63, 0x62, 0x62, 0x63, + 0x64, 0x64, 0x64, 0x63, 0x61, 0x60, 0x5f, 0x5e, 0x5e, 0x5e, 0x5f, 0x60, 0x62, 0x62, 0x62, 0x60, 0x5f, 0x5d, 0x5c, 0x5d, 0x5e, 0x5e, + 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x5f, 0x60, 0x60, 0x5f, 0x5d, 0x5b, 0x5a, 0x58, 0x57, 0x56, 0x56, 0x57, 0x58, 0x59, 0x5b, 0x5b, + 0x5b, 0x5b, 0x59, 0x58, 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5b, 0x59, 0x57, 0x55, 0x54, 0x53, 0x53, 0x54, 0x55, 0x56, 0x56, 0x57, 0x56, + 0x55, 0x54, 0x54, 0x54, 0x53, 0x53, 0x52, 0x51, 0x51, 0x51, 0x53, 0x54, 0x55, 0x55, 0x55, 0x55, 0x55, 0x54, 0x53, 0x51, 0x50, 0x4f, + 0x4d, 0x4d, 0x4e, 0x4e, 0x4f, 0x50, 0x50, 0x51, 0x51, 0x51, 0x51, 0x52, 0x52, 0x51, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x51, 0x50, + 0x4f, 0x4f, 0x50, 0x50, 0x50, 0x50, 0x51, 0x52, 0x52, 0x53, 0x53, 0x51, 0x50, 0x50, 0x50, 0x50, 0x50, 0x51, 0x51, 0x52, 0x53, 0x53, + 0x53, 0x52, 0x51, 0x50, 0x4f, 0x4e, 0x4f, 0x50, 0x52, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x53, 0x52, 0x51, 0x51, 0x52, + 0x51, 0x51, 0x50, 0x4f, 0x4f, 0x4f, 0x50, 0x51, 0x51, 0x51, 0x51, 0x50, 0x4f, 0x4f, 0x4e, 0x4f, 0x4f, 0x4f, 0x4e, 0x4d, 0x4d, 0x4d, + 0x4d, 0x4d, 0x4d, 0x4d, 0x4e, 0x4e, 0x4e, 0x4d, 0x4c, 0x4b, 0x49, 0x48, 0x48, 0x49, 0x49, 0x49, 0x49, 0x48, 0x48, 0x48, 0x49, 0x49, + 0x48, 0x47, 0x46, 0x45, 0x44, 0x43, 0x42, 0x43, 0x43, 0x44, 0x44, 0x43, 0x42, 0x41, 0x40, 0x40, 0x40, 0x41, 0x41, 0x41, 0x41, 0x41, + 0x41, 0x41, 0x41, 0x40, 0x3f, 0x3d, 0x3c, 0x3b, 0x3a, 0x39, 0x38, 0x38, 0x38, 0x39, 0x39, 0x39, 0x38, 0x38, 0x38, 0x37, 0x35, 0x34, + 0x34, 0x33, 0x34, 0x33, 0x33, 0x32, 0x30, 0x2f, 0x2e, 0x2e, 0x2d, 0x2c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2a, 0x29, 0x28, 0x27, + 0x26, 0x25, 0x24, 0x23, 0x23, 0x22, 0x22, 0x21, 0x21, 0x20, 0x20, 0x20, 0x1f, 0x1f, 0x1e, 0x1d, 0x1c, 0x1b, 0x1a, 0x19, 0x18, 0x17, + 0x16, 0x16, 0x16, 0x16, 0x14, 0x12, 0x10, 0x0e, 0x0e, 0x0f, 0x10, 0x10, 0x0f, 0x0e, 0x0c, 0x0a, 0x09, 0x08, 0x07, 0x05, 0x04, 0x04, + 0x05, 0x05, 0x04, 0x02, 0x00, 0xfe, 0xfd, 0xfd, 0xfd, 0xfe, 0xff, 0xff, 0xff, 0xfd, 0xfc, 0xf9, 0xf4, 0xf1, 0xef, 0xef, 0xee, 0xee, + 0xed, 0xed, 0xec, 0xec, 0xec, 0xec, 0xeb, 0xea, 0xe8, 0xe6, 0xe4, 0xe3, 0xe1, 0xdf, 0xde, 0xdd, 0xdd, 0xdd, 0xdc, 0xdc, 0xdb, 0xdb, + 0xda, 0xd9, 0xd7, 0xd4, 0xd1, 0xd0, 0xcf, 0xcf, 0xcf, 0xcf, 0xce, 0xce, 0xcd, 0xcd, 0xcc, 0xcc, 0xca, 0xc8, 0xc5, 0xc2, 0xc0, 0xbf, + 0xbe, 0xbf, 0xc0, 0xbf, 0xbe, 0xbd, 0xbd, 0xbd, 0xbd, 0xbc, 0xba, 0xb8, 0xb6, 0xb5, 0xb3, 0xb2, 0xb1, 0xb0, 0xaf, 0xae, 0xae, 0xae, + 0xaf, 0xae, 0xad, 0xac, 0xaa, 0xa9, 0xa7, 0xa6, 0xa5, 0xa4, 0xa4, 0xa5, 0xa5, 0xa5, 0xa4, 0xa4, 0xa3, 0xa2, 0xa1, 0xa0, 0x9e, 0x9c, + 0x9b, 0x9b, 0x9b, 0x9c, 0x9e, 0x9f, 0x9f, 0x9e, 0x9d, 0x9b, 0x99, 0x97, 0x96, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, 0x95, + 0x94, 0x93, 0x92, 0x92, 0x92, 0x92, 0x91, 0x91, 0x91, 0x90, 0x90, 0x90, 0x8f, 0x8f, 0x8f, 0x8f, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x8d, + 0x8d, 0x8d, 0x8d, 0x8d, 0x8c, 0x8c, 0x8c, 0x8c, 0x8c, 0x8c, 0x8c, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, + 0x8b, 0x8c, 0x8b, 0x8a, 0x89, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, + 0x8a, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8e, 0x8d, 0x8d, 0x8d, 0x8c, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8c, 0x8c, 0x8d, 0x8d, 0x8e, 0x8f, + 0x90, 0x91, 0x91, 0x92, 0x92, 0x92, 0x91, 0x91, 0x92, 0x93, 0x93, 0x94, 0x94, 0x94, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9a, 0x9a, + 0x9a, 0x9b, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, 0x9f, 0xa0, 0xa0, 0xa1, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa8, 0xa8, 0xa9, + 0xaa, 0xab, 0xac, 0xad, 0xaf, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, 0xb7, 0xb7, 0xb8, 0xb8, 0xb9, 0xba, 0xbc, 0xbf, 0xc1, 0xc3, + 0xc4, 0xc5, 0xc5, 0xc6, 0xc7, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xce, 0xcf, 0xd0, 0xd1, 0xd3, 0xd4, 0xd6, 0xd8, 0xda, 0xdb, 0xdc, + 0xdd, 0xde, 0xe0, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe6, 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xee, 0xf0, 0xf2, 0xf4, 0xf5, 0xf7, 0xf8, 0xf9, + 0xfa, 0xfb, 0xfc, 0xfc, 0xfd, 0xff, 0x00, 0x02, 0x03, 0x04, 0x05, 0x06, 0x08, 0x09, 0x0b, 0x0d, 0x0e, 0x10, 0x11, 0x12, 0x12, 0x13, + 0x15, 0x16, 0x18, 0x1a, 0x1b, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x22, 0x23, 0x24, 0x26, 0x27, 0x28, 0x29, 0x29, 0x29, 0x2a, 0x2c, + 0x2d, 0x2f, 0x31, 0x33, 0x34, 0x35, 0x35, 0x36, 0x36, 0x37, 0x37, 0x38, 0x3a, 0x3b, 0x3c, 0x3d, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x43, + 0x44, 0x45, 0x45, 0x46, 0x46, 0x47, 0x48, 0x48, 0x49, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x53, 0x54, 0x54, + 0x55, 0x55, 0x56, 0x56, 0x56, 0x57, 0x58, 0x59, 0x5a, 0x5a, 0x5b, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 0x5f, 0x5f, 0x5e, 0x5e, 0x5e, + 0x5f, 0x5f, 0x60, 0x61, 0x61, 0x62, 0x62, 0x63, 0x63, 0x64, 0x64, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x64, 0x64, 0x64, 0x64, 0x64, + 0x65, 0x65, 0x66, 0x67, 0x68, 0x68, 0x69, 0x68, 0x68, 0x68, 0x67, 0x66, 0x66, 0x65, 0x65, 0x65, 0x66, 0x66, 0x67, 0x67, 0x68, 0x68, + 0x67, 0x67, 0x66, 0x66, 0x65, 0x64, 0x64, 0x64, 0x64, 0x65, 0x65, 0x65, 0x65, 0x64, 0x64, 0x64, 0x63, 0x63, 0x63, 0x62, 0x61, 0x61, + 0x60, 0x60, 0x60, 0x61, 0x61, 0x60, 0x60, 0x5f, 0x5f, 0x5e, 0x5e, 0x5d, 0x5c, 0x5c, 0x5c, 0x5b, 0x5b, 0x5b, 0x5b, 0x5b, 0x5a, 0x59, + 0x59, 0x58, 0x57, 0x57, 0x56, 0x55, 0x54, 0x54, 0x53, 0x54, 0x54, 0x53, 0x52, 0x51, 0x50, 0x4f, 0x4f, 0x4f, 0x4f, 0x4e, 0x4e, 0x4d, + 0x4c, 0x4b, 0x4a, 0x49, 0x48, 0x47, 0x47, 0x47, 0x47, 0x46, 0x45, 0x44, 0x43, 0x42, 0x41, 0x41, 0x41, 0x40, 0x3f, 0x3f, 0x3f, 0x3e, + 0x3e, 0x3c, 0x3b, 0x3a, 0x39, 0x38, 0x37, 0x37, 0x37, 0x38, 0x37, 0x36, 0x35, 0x34, 0x33, 0x32, 0x31, 0x31, 0x30, 0x2f, 0x2e, 0x2d, + 0x2d, 0x2c, 0x2a, 0x29, 0x29, 0x29, 0x29, 0x29, 0x28, 0x28, 0x26, 0x25, 0x24, 0x23, 0x22, 0x21, 0x21, 0x22, 0x23, 0x23, 0x22, 0x21, + 0x20, 0x1f, 0x1e, 0x1e, 0x1d, 0x1c, 0x1c, 0x1c, 0x1b, 0x1b, 0x1a, 0x19, 0x18, 0x18, 0x18, 0x18, 0x17, 0x17, 0x17, 0x16, 0x16, 0x14, + 0x13, 0x12, 0x11, 0x10, 0x11, 0x11, 0x12, 0x12, 0x11, 0x10, 0x0f, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0d, 0x0c, 0x0b, 0x0a, + 0x0a, 0x0a, 0x09, 0x09, 0x09, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x07, 0x06, 0x05, 0x05, 0x05, 0x05, 0x05, 0x04, + 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x03, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x02, 0x03, 0x03, 0x04, 0x04, 0x04, 0x05, 0x06, 0x06, 0x05, 0x04, 0x03, 0x02, 0x03, 0x03, 0x04, + 0x05, 0x06, 0x06, 0x07, 0x07, 0x07, 0x06, 0x06, 0x06, 0x06, 0x06, 0x07, 0x08, 0x09, 0x08, 0x08, 0x07, 0x07, 0x08, 0x08, 0x09, 0x0a, + 0x0c, 0x0c, 0x0d, 0x0d, 0x0e, 0x0e, 0x0d, 0x0d, 0x0d, 0x0c, 0x0d, 0x0f, 0x11, 0x11, 0x11, 0x11, 0x10, 0x10, 0x0f, 0x10, 0x10, 0x11, + 0x12, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x17, 0x17, 0x16, 0x16, 0x17, 0x18, 0x18, 0x18, 0x19, 0x19, 0x1b, 0x1b, 0x1c, 0x1c, 0x1b, + 0x1b, 0x1b, 0x1b, 0x1c, 0x1e, 0x1e, 0x1e, 0x1e, 0x1d, 0x1c, 0x1c, 0x1d, 0x1e, 0x20, 0x22, 0x23, 0x23, 0x23, 0x23, 0x23, 0x22, 0x22, + 0x22, 0x22, 0x24, 0x24, 0x25, 0x25, 0x24, 0x24, 0x24, 0x24, 0x24, 0x25, 0x26, 0x25, 0x25, 0x25, 0x25, 0x25, 0x26, 0x28, 0x29, 0x2a, + 0x2b, 0x2b, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x29, 0x28, 0x28, 0x29, 0x2a, 0x2c, 0x2c, 0x2c, 0x2d, 0x2d, 0x2c, 0x2c, 0x2d, 0x2d, 0x2c, + 0x2c, 0x2c, 0x2c, 0x2c, 0x2d, 0x2d, 0x2e, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2e, 0x2d, 0x2d, 0x2c, 0x2b, 0x2b, + 0x2a, 0x2a, 0x2a, 0x2b, 0x2b, 0x2b, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2b, 0x2a, 0x2a, 0x29, 0x2a, 0x2a, 0x29, 0x29, 0x28, 0x28, 0x27, + 0x26, 0x26, 0x26, 0x26, 0x25, 0x25, 0x25, 0x25, 0x25, 0x24, 0x24, 0x24, 0x23, 0x23, 0x22, 0x21, 0x20, 0x20, 0x21, 0x20, 0x20, 0x1f, + 0x1f, 0x1e, 0x1e, 0x1e, 0x1d, 0x1d, 0x1d, 0x1d, 0x1c, 0x1b, 0x1a, 0x18, 0x17, 0x17, 0x17, 0x16, 0x16, 0x15, 0x13, 0x12, 0x11, 0x10, + 0x10, 0x10, 0x10, 0x0f, 0x0e, 0x0d, 0x0d, 0x0d, 0x0c, 0x0a, 0x07, 0x06, 0x06, 0x06, 0x07, 0x07, 0x06, 0x06, 0x05, 0x05, 0x04, 0x03, + 0x02, 0x00, 0xff, 0xfe, 0xfd, 0xfd, 0xfc, 0xfc, 0xfb, 0xfa, 0xf8, 0xf7, 0xf5, 0xf4, 0xf3, 0xf3, 0xf3, 0xf2, 0xf1, 0xf1, 0xf0, 0xef, + 0xed, 0xec, 0xec, 0xeb, 0xea, 0xe9, 0xe9, 0xe8, 0xe8, 0xe6, 0xe4, 0xe2, 0xe1, 0xe1, 0xe0, 0xe0, 0xe0, 0xdf, 0xde, 0xdd, 0xdb, 0xdb, + 0xda, 0xd9, 0xd8, 0xd7, 0xd7, 0xd6, 0xd5, 0xd3, 0xd1, 0xcf, 0xce, 0xcd, 0xcd, 0xcd, 0xcd, 0xcc, 0xcc, 0xcb, 0xcb, 0xca, 0xc9, 0xc8, + 0xc7, 0xc6, 0xc5, 0xc5, 0xc4, 0xc3, 0xc2, 0xc1, 0xc0, 0xbf, 0xbe, 0xbe, 0xbe, 0xbe, 0xbd, 0xbc, 0xba, 0xb9, 0xb8, 0xb8, 0xb7, 0xb7, + 0xb7, 0xb7, 0xb7, 0xb6, 0xb5, 0xb4, 0xb3, 0xb3, 0xb3, 0xb2, 0xb2, 0xb1, 0xb1, 0xb0, 0xb0, 0xaf, 0xae, 0xad, 0xad, 0xac, 0xac, 0xac, + 0xac, 0xab, 0xab, 0xaa, 0xa9, 0xa9, 0xa8, 0xa7, 0xa6, 0xa6, 0xa6, 0xa7, 0xa7, 0xa6, 0xa5, 0xa4, 0xa4, 0xa4, 0xa4, 0xa3, 0xa3, 0xa2, + 0xa2, 0xa2, 0xa2, 0xa2, 0xa2, 0xa2, 0xa1, 0xa1, 0xa0, 0xa0, 0x9f, 0x9f, 0x9f, 0x9f, 0x9f, 0xa0, 0xa1, 0xa1, 0xa1, 0xa0, 0x9f, 0x9f, + 0x9e, 0x9e, 0x9f, 0x9f, 0x9f, 0x9f, 0x9e, 0x9e, 0x9e, 0x9e, 0x9f, 0x9f, 0xa0, 0xa1, 0xa1, 0xa2, 0xa2, 0xa1, 0xa1, 0xa0, 0xa0, 0xa0, + 0xa1, 0xa1, 0xa2, 0xa1, 0xa1, 0xa0, 0xa0, 0xa1, 0xa2, 0xa2, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa3, 0xa4, 0xa5, 0xa6, 0xa6, 0xa6, + 0xa7, 0xa8, 0xa9, 0xa8, 0xa8, 0xa8, 0xa8, 0xa9, 0xaa, 0xaa, 0xab, 0xaa, 0xaa, 0xaa, 0xab, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xaf, 0xb0, + 0xb0, 0xb1, 0xb1, 0xb1, 0xb1, 0xb2, 0xb2, 0xb3, 0xb4, 0xb4, 0xb5, 0xb5, 0xb6, 0xb6, 0xb7, 0xb8, 0xb9, 0xb9, 0xba, 0xba, 0xba, 0xbb, + 0xbb, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, 0xc0, 0xc1, 0xc1, 0xc1, 0xc1, 0xc2, 0xc2, 0xc3, 0xc4, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xc9, 0xca, + 0xca, 0xcb, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xcf, 0xd0, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd4, 0xd6, 0xd7, 0xd8, 0xd9, 0xd9, 0xd9, 0xd9, + 0xda, 0xdb, 0xdc, 0xdc, 0xdd, 0xdd, 0xde, 0xdf, 0xe0, 0xe2, 0xe3, 0xe3, 0xe4, 0xe5, 0xe5, 0xe6, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, 0xeb, + 0xeb, 0xec, 0xec, 0xed, 0xee, 0xef, 0xef, 0xf0, 0xf1, 0xf2, 0xf2, 0xf3, 0xf4, 0xf4, 0xf5, 0xf5, 0xf6, 0xf6, 0xf7, 0xf7, 0xf8, 0xf9, + 0xfa, 0xfb, 0xfb, 0xfc, 0xfd, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x05, 0x06, 0x07, 0x07, 0x07, + 0x08, 0x08, 0x09, 0x09, 0x0a, 0x0b, 0x0b, 0x0b, 0x0c, 0x0d, 0x0d, 0x0e, 0x0f, 0x10, 0x10, 0x10, 0x11, 0x10, 0x10, 0x11, 0x12, 0x13, + 0x13, 0x14, 0x15, 0x15, 0x16, 0x16, 0x17, 0x18, 0x18, 0x18, 0x17, 0x17, 0x18, 0x18, 0x19, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1d, 0x1d, + 0x1d, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1f, 0x1f, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x22, 0x23, 0x23, 0x24, 0x24, 0x24, 0x23, + 0x23, 0x23, 0x23, 0x24, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x26, 0x26, 0x27, 0x27, 0x26, 0x26, 0x27, 0x27, 0x27, + 0x27, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x27, 0x27, 0x28, 0x28, 0x27, 0x27, 0x26, 0x27, 0x27, 0x27, 0x26, 0x26, 0x26, 0x26, 0x26, + 0x26, 0x26, 0x25, 0x25, 0x25, 0x25, 0x26, 0x26, 0x26, 0x26, 0x25, 0x24, 0x23, 0x23, 0x24, 0x24, 0x24, 0x24, 0x24, 0x23, 0x23, 0x22, + 0x22, 0x21, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x1f, 0x1f, 0x1f, 0x1e, 0x1e, 0x1d, 0x1d, 0x1d, 0x1e, 0x1e, 0x1d, + 0x1d, 0x1c, 0x1c, 0x1c, 0x1c, 0x1b, 0x1a, 0x19, 0x18, 0x17, 0x17, 0x18, 0x18, 0x18, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x16, 0x15, + 0x14, 0x13, 0x12, 0x12, 0x12, 0x12, 0x11, 0x10, 0x0f, 0x0e, 0x0e, 0x0e, 0x0e, 0x0d, 0x0d, 0x0c, 0x0c, 0x0d, 0x0d, 0x0d, 0x0c, 0x0c, + 0x0b, 0x0a, 0x09, 0x09, 0x08, 0x07, 0x06, 0x05, 0x05, 0x05, 0x05, 0x04, 0x03, 0x03, 0x03, 0x03, 0x03, 0x02, 0x01, 0x00, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xfd, 0xfd, 0xfc, 0xfc, 0xfb, 0xfb, 0xfb, 0xfb, 0xfa, 0xfa, 0xf9, 0xf8, 0xf7, 0xf6, 0xf6, 0xf6, 0xf6, + 0xf6, 0xf5, 0xf5, 0xf4, 0xf3, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf1, 0xf0, 0xef, 0xee, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, + 0xec, 0xeb, 0xeb, 0xeb, 0xea, 0xea, 0xea, 0xe9, 0xe9, 0xe8, 0xe7, 0xe6, 0xe5, 0xe4, 0xe4, 0xe4, 0xe4, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, + 0xe4, 0xe4, 0xe4, 0xe3, 0xe2, 0xe0, 0xdf, 0xde, 0xde, 0xde, 0xde, 0xdf, 0xdf, 0xde, 0xde, 0xdd, 0xdc, 0xdb, 0xdb, 0xdb, 0xdb, 0xdc, + 0xdc, 0xdb, 0xda, 0xda, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xda, 0xd9, 0xd9, 0xd8, 0xd7, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6, + 0xd5, 0xd4, 0xd4, 0xd4, 0xd4, 0xd4, 0xd4, 0xd4, 0xd4, 0xd4, 0xd5, 0xd5, 0xd5, 0xd5, 0xd4, 0xd3, 0xd2, 0xd2, 0xd2, 0xd3, 0xd3, 0xd3, + 0xd3, 0xd3, 0xd3, 0xd2, 0xd2, 0xd3, 0xd2, 0xd2, 0xd1, 0xd1, 0xd1, 0xd2, 0xd1, 0xd1, 0xd2, 0xd2, 0xd3, 0xd3, 0xd3, 0xd2, 0xd2, 0xd1, + 0xd1, 0xd1, 0xd2, 0xd3, 0xd3, 0xd4, 0xd4, 0xd3, 0xd3, 0xd3, 0xd3, 0xd3, 0xd3, 0xd3, 0xd3, 0xd3, 0xd4, 0xd4, 0xd5, 0xd5, 0xd6, 0xd6, + 0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xd7, 0xd7, 0xd7, 0xd7, 0xd8, 0xd8, 0xd9, 0xd9, 0xd9, 0xda, 0xda, 0xda, 0xda, 0xdb, 0xdc, + 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdc, 0xdd, 0xdd, 0xde, 0xde, 0xde, 0xde, 0xde, 0xde, 0xdf, 0xdf, 0xe0, 0xe1, 0xe1, 0xe1, 0xe2, 0xe2, + 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe6, 0xe6, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe8, 0xe9, 0xea, 0xea, 0xea, 0xea, 0xea, 0xeb, 0xec, 0xed, + 0xee, 0xef, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf1, 0xf1, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf7, 0xf7, 0xf8, 0xf9, + 0xfa, 0xfb, 0xfb, 0xfc, 0xfc, 0xfd, 0xfd, 0xfe, 0xfe, 0xfe, 0xff, 0x00, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x03, 0x04, 0x05, 0x06, + 0x07, 0x08, 0x08, 0x09, 0x0a, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0c, 0x0c, 0x0e, 0x0f, 0x10, 0x10, 0x10, 0x11, 0x11, 0x12, 0x12, 0x13, + 0x13, 0x14, 0x15, 0x16, 0x17, 0x17, 0x18, 0x18, 0x18, 0x18, 0x19, 0x1a, 0x1b, 0x1b, 0x1c, 0x1c, 0x1c, 0x1c, 0x1d, 0x1d, 0x1d, 0x1e, + 0x1f, 0x20, 0x21, 0x22, 0x22, 0x23, 0x23, 0x23, 0x23, 0x24, 0x25, 0x25, 0x25, 0x26, 0x26, 0x26, 0x26, 0x27, 0x27, 0x28, 0x28, 0x29, + 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2b, 0x2b, 0x2b, 0x2b, 0x2c, 0x2c, 0x2c, 0x2d, 0x2d, 0x2e, 0x2e, 0x2e, 0x2f, 0x2f, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x2f, 0x30, 0x30, 0x30, 0x30, 0x31, 0x31, 0x32, 0x32, 0x31, 0x31, 0x31, 0x31, 0x32, 0x32, 0x32, 0x32, 0x32, + 0x32, 0x33, 0x33, 0x33, 0x34, 0x33, 0x33, 0x33, 0x33, 0x33, 0x34, 0x34, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x32, + 0x32, 0x32, 0x33, 0x33, 0x34, 0x34, 0x34, 0x34, 0x33, 0x32, 0x32, 0x31, 0x31, 0x31, 0x32, 0x32, 0x33, 0x33, 0x33, 0x32, 0x31, 0x31, + 0x31, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x2f, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, + 0x2d, 0x2d, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2b, 0x2b, 0x2a, 0x2a, 0x2a, 0x29, 0x29, 0x28, 0x28, 0x28, 0x27, 0x27, 0x27, + 0x27, 0x27, 0x27, 0x26, 0x26, 0x26, 0x26, 0x26, 0x25, 0x24, 0x23, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x21, 0x21, 0x21, + 0x21, 0x20, 0x1f, 0x1f, 0x1e, 0x1e, 0x1d, 0x1d, 0x1c, 0x1c, 0x1c, 0x1c, 0x1b, 0x1b, 0x1c, 0x1c, 0x1b, 0x1b, 0x1a, 0x1a, 0x19, 0x18, + 0x18, 0x17, 0x16, 0x16, 0x16, 0x16, 0x15, 0x15, 0x15, 0x15, 0x14, 0x14, 0x14, 0x13, 0x13, 0x13, 0x12, 0x11, 0x11, 0x11, 0x10, 0x10, + 0x0f, 0x0f, 0x0f, 0x0e, 0x0d, 0x0d, 0x0c, 0x0c, 0x0c, 0x0b, 0x0a, 0x0a, 0x0a, 0x09, 0x09, 0x09, 0x09, 0x08, 0x08, 0x07, 0x07, 0x07, + 0x06, 0x06, 0x06, 0x05, 0x05, 0x04, 0x04, 0x03, 0x03, 0x02, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xfe, 0xfe, + 0xfd, 0xfd, 0xfc, 0xfc, 0xfc, 0xfb, 0xfb, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xf9, 0xf9, 0xf8, 0xf7, 0xf6, 0xf6, 0xf5, 0xf4, 0xf4, 0xf4, + 0xf4, 0xf3, 0xf3, 0xf3, 0xf3, 0xf2, 0xf2, 0xf1, 0xf0, 0xef, 0xef, 0xef, 0xef, 0xf0, 0xef, 0xef, 0xee, 0xed, 0xed, 0xec, 0xec, 0xec, + 0xec, 0xec, 0xec, 0xeb, 0xeb, 0xea, 0xea, 0xe9, 0xe8, 0xe8, 0xe7, 0xe7, 0xe7, 0xe6, 0xe6, 0xe6, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, + 0xe5, 0xe4, 0xe4, 0xe4, 0xe4, 0xe3, 0xe3, 0xe3, 0xe2, 0xe1, 0xe1, 0xe0, 0xe0, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xde, 0xde, 0xde, 0xde, + 0xde, 0xde, 0xde, 0xdd, 0xdc, 0xdb, 0xdb, 0xda, 0xda, 0xda, 0xda, 0xda, 0xda, 0xda, 0xda, 0xda, 0xda, 0xd9, 0xd8, 0xd7, 0xd7, 0xd7, + 0xd7, 0xd7, 0xd7, 0xd7, 0xd7, 0xd6, 0xd5, 0xd5, 0xd4, 0xd4, 0xd4, 0xd4, 0xd4, 0xd3, 0xd3, 0xd3, 0xd3, 0xd3, 0xd3, 0xd3, 0xd2, 0xd2, + 0xd2, 0xd2, 0xd2, 0xd1, 0xd1, 0xd1, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xcf, 0xcf, 0xcf, 0xcf, 0xce, 0xce, 0xce, 0xce, 0xce, 0xce, 0xce, + 0xcd, 0xcd, 0xcd, 0xcc, 0xcc, 0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcd, 0xcd, 0xcc, 0xcc, 0xcb, 0xca, 0xca, 0xca, 0xca, + 0xca, 0xca, 0xca, 0xca, 0xca, 0xca, 0xcb, 0xca, 0xca, 0xca, 0xca, 0xca, 0xca, 0xca, 0xca, 0xca, 0xca, 0xca, 0xc9, 0xc9, 0xc9, 0xc9, + 0xca, 0xca, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xca, 0xca, 0xca, 0xca, 0xca, 0xca, 0xca, 0xcb, 0xcb, 0xcb, 0xca, 0xca, 0xca, 0xcb, 0xcc, + 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcb, 0xcb, 0xcb, 0xcb, 0xcc, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xce, 0xcf, 0xcf, + 0xce, 0xce, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xd0, 0xd1, 0xd1, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd3, 0xd4, 0xd4, + 0xd4, 0xd3, 0xd4, 0xd4, 0xd4, 0xd5, 0xd5, 0xd6, 0xd6, 0xd7, 0xd7, 0xd8, 0xd8, 0xd7, 0xd8, 0xd8, 0xd8, 0xd9, 0xd9, 0xd9, 0xda, 0xda, + 0xda, 0xda, 0xdb, 0xdb, 0xdb, 0xdc, 0xdc, 0xdd, 0xdd, 0xde, 0xde, 0xde, 0xde, 0xdf, 0xdf, 0xe0, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, + 0xe2, 0xe2, 0xe3, 0xe3, 0xe4, 0xe4, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe6, 0xe6, 0xe7, 0xe8, 0xe8, 0xe8, 0xe9, 0xe9, 0xea, 0xeb, + 0xeb, 0xec, 0xec, 0xec, 0xec, 0xec, 0xec, 0xed, 0xee, 0xef, 0xef, 0xef, 0xef, 0xef, 0xf0, 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf4, 0xf4, + 0xf4, 0xf5, 0xf5, 0xf5, 0xf6, 0xf6, 0xf7, 0xf8, 0xf8, 0xf9, 0xf9, 0xfa, 0xfa, 0xfa, 0xfa, 0xfb, 0xfb, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, + 0xfd, 0xfd, 0xfe, 0xff, 0x00, 0x00, 0x01, 0x01, 0x01, 0x02, 0x02, 0x03, 0x04, 0x04, 0x05, 0x05, 0x05, 0x06, 0x06, 0x06, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x08, 0x08, 0x08, 0x09, 0x09, 0x0a, 0x0a, 0x0b, 0x0b, 0x0b, 0x0b, 0x0c, 0x0c, 0x0c, 0x0d, 0x0d, 0x0d, 0x0e, 0x0e, + 0x0e, 0x0e, 0x0e, 0x0f, 0x0f, 0x0f, 0x0f, 0x10, 0x10, 0x10, 0x10, 0x10, 0x11, 0x11, 0x12, 0x12, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, + 0x13, 0x13, 0x14, 0x14, 0x14, 0x15, 0x15, 0x14, 0x14, 0x15, 0x15, 0x15, 0x16, 0x16, 0x16, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, + 0x17, 0x17, 0x18, 0x18, 0x18, 0x18, 0x18, 0x17, 0x17, 0x18, 0x18, 0x18, 0x18, 0x18, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, + 0x19, 0x1a, 0x1a, 0x1a, 0x1a, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x1a, 0x1a, 0x1a, 0x19, 0x19, 0x19, 0x1a, 0x1a, 0x1a, 0x1a, + 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x19, 0x19, 0x18, 0x18, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x18, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x16, + 0x16, 0x16, 0x16, 0x16, 0x16, 0x15, 0x15, 0x15, 0x14, 0x14, 0x15, 0x15, 0x15, 0x15, 0x14, 0x14, 0x13, 0x13, 0x12, 0x12, 0x13, 0x13, + 0x13, 0x12, 0x12, 0x12, 0x12, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x10, 0x10, 0x10, 0x10, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0e, + 0x0e, 0x0d, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0a, 0x0a, 0x0a, 0x09, 0x09, 0x08, 0x08, 0x08, + 0x08, 0x08, 0x08, 0x07, 0x07, 0x07, 0x06, 0x06, 0x06, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x04, 0x03, 0x03, 0x02, 0x02, 0x02, 0x02, + 0x02, 0x02, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xfe, 0xfe, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfc, 0xfc, + 0xfc, 0xfc, 0xfb, 0xfb, 0xfa, 0xfa, 0xf9, 0xf9, 0xf9, 0xfa, 0xfa, 0xf9, 0xf9, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf7, 0xf6, 0xf6, + 0xf5, 0xf5, 0xf5, 0xf4, 0xf4, 0xf4, 0xf4, 0xf3, 0xf3, 0xf3, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf1, 0xf1, 0xf0, 0xf0, 0xef, 0xef, + 0xef, 0xef, 0xef, 0xef, 0xee, 0xee, 0xee, 0xee, 0xed, 0xed, 0xed, 0xed, 0xec, 0xec, 0xeb, 0xeb, 0xea, 0xea, 0xea, 0xe9, 0xea, 0xea, + 0xea, 0xea, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe8, 0xe8, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe6, 0xe6, 0xe6, 0xe6, 0xe5, 0xe5, + 0xe4, 0xe4, 0xe3, 0xe3, 0xe3, 0xe3, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe1, 0xe1, 0xe1, 0xe1, 0xe0, + 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xdf, 0xdf, 0xdf, 0xdf, 0xde, 0xde, 0xde, 0xde, 0xdf, 0xdf, 0xdf, + 0xdf, 0xde, 0xde, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdd, 0xdd, 0xdd, + 0xdd, 0xdd, 0xdd, 0xdc, 0xdc, 0xdb, 0xdb, 0xdc, 0xdc, 0xdd, 0xdd, 0xdd, 0xdd, 0xdc, 0xdc, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdc, + 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdd, + 0xdd, 0xdd, 0xdc, 0xdc, 0xdc, 0xdc, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xde, 0xde, 0xde, 0xde, + 0xde, 0xde, 0xde, 0xde, 0xde, 0xde, 0xdf, 0xdf, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xdf, 0xe0, 0xe0, 0xe0, 0xe1, 0xe1, 0xe1, 0xe1, + 0xe1, 0xe0, 0xe0, 0xe1, 0xe1, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, + 0xe4, 0xe4, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe6, 0xe6, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe8, 0xe8, 0xe8, 0xe9, 0xe9, 0xea, 0xea, + 0xea, 0xe9, 0xe9, 0xe9, 0xea, 0xea, 0xea, 0xeb, 0xeb, 0xeb, 0xec, 0xec, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xee, 0xef, 0xef, 0xf0, + 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf1, 0xf1, 0xf1, 0xf1, 0xf2, 0xf2, 0xf2, 0xf3, 0xf3, 0xf3, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, + 0xf4, 0xf4, 0xf5, 0xf5, 0xf6, 0xf7, 0xf7, 0xf8, 0xf8, 0xf8, 0xf8, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xfa, 0xfa, 0xfb, 0xfb, 0xfb, 0xfb, + 0xfc, 0xfc, 0xfc, 0xfd, 0xfd, 0xfd, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, + 0x02, 0x03, 0x03, 0x03, 0x04, 0x04, 0x05, 0x05, 0x05, 0x05, 0x06, 0x06, 0x06, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x08, 0x09, 0x09, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0b, 0x0b, 0x0b, 0x0c, 0x0c, 0x0d, 0x0d, 0x0d, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0f, 0x0f, 0x10, 0x10, + 0x11, 0x11, 0x11, 0x11, 0x11, 0x12, 0x12, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x14, 0x14, 0x15, 0x15, 0x16, 0x16, 0x16, 0x16, 0x17, + 0x17, 0x17, 0x17, 0x18, 0x18, 0x19, 0x19, 0x19, 0x19, 0x1a, 0x1a, 0x1b, 0x1b, 0x1b, 0x1b, 0x1c, 0x1c, 0x1c, 0x1d, 0x1d, 0x1d, 0x1e, + 0x1e, 0x1e, 0x1e, 0x1e, 0x1f, 0x1f, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x23, 0x23, 0x24, + 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x26, 0x26, 0x26, 0x26, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x28, 0x28, 0x28, 0x29, 0x29, 0x29, + 0x29, 0x29, 0x29, 0x29, 0x29, 0x2a, 0x2a, 0x2a, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2d, + 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2e, 0x2e, 0x2e, 0x2f, 0x2f, 0x2f, 0x2f, 0x2e, 0x2e, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, + 0x2f, 0x2f, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x31, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, + 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, + 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2d, 0x2d, 0x2d, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2b, 0x2b, 0x2b, + 0x2b, 0x2b, 0x2b, 0x2b, 0x2a, 0x2a, 0x2a, 0x2a, 0x29, 0x29, 0x29, 0x28, 0x28, 0x28, 0x28, 0x28, 0x27, 0x27, 0x27, 0x26, 0x26, 0x25, + 0x25, 0x25, 0x25, 0x25, 0x24, 0x24, 0x23, 0x23, 0x23, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, + 0x1f, 0x1e, 0x1e, 0x1d, 0x1d, 0x1d, 0x1c, 0x1c, 0x1b, 0x1b, 0x1b, 0x1b, 0x1a, 0x1a, 0x1a, 0x19, 0x19, 0x19, 0x19, 0x18, 0x18, 0x17, + 0x16, 0x16, 0x15, 0x15, 0x14, 0x14, 0x14, 0x13, 0x13, 0x13, 0x13, 0x12, 0x12, 0x12, 0x11, 0x11, 0x10, 0x10, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0e, 0x0e, 0x0d, 0x0d, 0x0c, 0x0c, 0x0c, 0x0b, 0x0b, 0x0a, 0x0a, 0x09, 0x09, 0x08, 0x08, 0x08, 0x08, 0x07, 0x06, 0x06, 0x06, + 0x05, 0x05, 0x05, 0x05, 0x04, 0x04, 0x04, 0x03, 0x03, 0x03, 0x02, 0x02, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xfe, + 0xfe, 0xfd, 0xfd, 0xfd, 0xfc, 0xfc, 0xfc, 0xfb, 0xfb, 0xfa, 0xfa, 0xf9, 0xf9, 0xf9, 0xf8, 0xf9, 0xf9, 0xf9, 0xf8, 0xf7, 0xf7, 0xf6, + 0xf5, 0xf5, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf3, 0xf3, 0xf3, 0xf2, 0xf2, 0xf2, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf0, 0xf0, 0xef, 0xef, + 0xef, 0xef, 0xee, 0xee, 0xed, 0xed, 0xed, 0xec, 0xec, 0xec, 0xec, 0xeb, 0xeb, 0xeb, 0xeb, 0xeb, 0xea, 0xea, 0xe9, 0xe9, 0xe9, 0xe9, + 0xe9, 0xe9, 0xe8, 0xe8, 0xe7, 0xe7, 0xe7, 0xe6, 0xe6, 0xe6, 0xe6, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, + 0xe3, 0xe3, 0xe3, 0xe2, 0xe2, 0xe2, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe0, 0xe0, 0xe0, 0xe0, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, + 0xdf, 0xde, 0xde, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdc, 0xdc, 0xdc, 0xdc, 0xdb, 0xdb, 0xda, 0xda, 0xda, 0xda, 0xda, + 0xda, 0xda, 0xda, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd7, 0xd7, 0xd7, 0xd7, 0xd7, 0xd7, + 0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xd5, 0xd5, 0xd5, 0xd5, 0xd5, 0xd5, 0xd5, 0xd5, 0xd5, 0xd5, 0xd4, 0xd4, 0xd4, 0xd4, 0xd4, 0xd4, 0xd4, + 0xd4, 0xd4, 0xd4, 0xd4, 0xd3, 0xd4, 0xd4, 0xd4, 0xd4, 0xd3, 0xd3, 0xd3, 0xd3, 0xd3, 0xd3, 0xd3, 0xd3, 0xd3, 0xd2, 0xd2, 0xd2, 0xd2, + 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd1, 0xd1, 0xd1, 0xd1, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd1, 0xd1, 0xd1, + 0xd1, 0xd1, 0xd1, 0xd1, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd1, 0xd1, 0xd1, 0xd1, 0xd1, 0xd1, 0xd2, 0xd2, 0xd2, 0xd2, + 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd3, 0xd3, 0xd3, 0xd2, + 0xd2, 0xd2, 0xd2, 0xd3, 0xd3, 0xd3, 0xd3, 0xd3, 0xd3, 0xd3, 0xd3, 0xd3, 0xd3, 0xd3, 0xd4, 0xd4, 0xd4, 0xd4, 0xd4, 0xd4, 0xd4, 0xd4, + 0xd4, 0xd4, 0xd5, 0xd5, 0xd5, 0xd5, 0xd5, 0xd5, 0xd5, 0xd5, 0xd5, 0xd6, 0xd6, 0xd6, 0xd5, 0xd5, 0xd5, 0xd6, 0xd6, 0xd6, 0xd6, 0xd7, + 0xd7, 0xd7, 0xd7, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xda, 0xda, 0xda, 0xda, + 0xda, 0xda, 0xda, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdc, 0xdc, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xde, + 0xde, 0xde, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe1, 0xe1, 0xe2, 0xe3, 0xe3, 0xe3, 0xe3, + 0xe3, 0xe3, 0xe4, 0xe4, 0xe4, 0xe4, 0xe5, 0xe5, 0xe5, 0xe5, 0xe6, 0xe6, 0xe6, 0xe7, 0xe7, 0xe7, 0xe8, 0xe8, 0xe8, 0xe9, 0xe9, 0xe9, + 0xe9, 0xea, 0xea, 0xea, 0xea, 0xeb, 0xeb, 0xeb, 0xec, 0xec, 0xec, 0xed, 0xed, 0xed, 0xed, 0xee, 0xee, 0xee, 0xef, 0xef, 0xf0, 0xf0, + 0xf0, 0xf1, 0xf1, 0xf1, 0xf1, 0xf2, 0xf2, 0xf3, 0xf3, 0xf3, 0xf4, 0xf4, 0xf4, 0xf5, 0xf5, 0xf5, 0xf6, 0xf6, 0xf6, 0xf7, 0xf7, 0xf7, + 0xf8, 0xf8, 0xf8, 0xf9, 0xf9, 0xfa, 0xfa, 0xfa, 0xfb, 0xfb, 0xfb, 0xfc, 0xfc, 0xfc, 0xfd, 0xfd, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x04, 0x04, 0x04, 0x05, 0x05, 0x05, 0x06, 0x06, 0x07, 0x07, 0x07, + 0x08, 0x08, 0x09, 0x09, 0x09, 0x0a, 0x0a, 0x0a, 0x0b, 0x0b, 0x0b, 0x0c, 0x0c, 0x0d, 0x0d, 0x0d, 0x0e, 0x0e, 0x0f, 0x0f, 0x0f, 0x10, + 0x10, 0x10, 0x10, 0x11, 0x11, 0x11, 0x12, 0x12, 0x12, 0x13, 0x13, 0x14, 0x14, 0x14, 0x15, 0x15, 0x15, 0x16, 0x16, 0x16, 0x17, 0x17, + 0x17, 0x18, 0x18, 0x19, 0x19, 0x19, 0x19, 0x1a, 0x1a, 0x1b, 0x1b, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1d, 0x1d, 0x1e, 0x1e, 0x1e, + 0x1e, 0x1e, 0x1f, 0x1f, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x22, 0x22, 0x23, 0x23, 0x23, 0x23, 0x24, 0x24, + 0x24, 0x25, 0x25, 0x25, 0x25, 0x25, 0x26, 0x26, 0x26, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x28, 0x28, 0x28, 0x28, 0x28, 0x29, 0x29, + 0x29, 0x29, 0x29, 0x29, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, + 0x2c, 0x2c, 0x2c, 0x2c, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2e, 0x2d, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, + 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x30, 0x30, 0x2f, + 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, + 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2d, 0x2d, 0x2d, 0x2e, 0x2e, 0x2e, 0x2e, + 0x2e, 0x2e, 0x2e, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, + 0x2b, 0x2b, 0x2b, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x28, 0x28, 0x28, 0x28, 0x28, + 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x26, 0x26, 0x26, 0x26, 0x25, 0x25, 0x25, 0x25, 0x25, 0x24, 0x24, 0x24, 0x24, + 0x24, 0x24, 0x24, 0x23, 0x23, 0x23, 0x23, 0x23, 0x22, 0x22, 0x22, 0x22, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x1f, 0x1f, 0x1f, 0x1f, 0x1e, 0x1e, 0x1e, 0x1d, 0x1d, 0x1d, 0x1d, 0x1d, 0x1c, 0x1c, 0x1b, 0x1b, 0x1b, 0x1b, 0x1a, 0x1a, 0x1a, 0x1a, + 0x1a, 0x19, 0x19, 0x19, 0x19, 0x18, 0x18, 0x18, 0x17, 0x17, 0x17, 0x16, 0x16, 0x15, 0x15, 0x15, 0x15, 0x15, 0x14, 0x14, 0x13, 0x13, + 0x13, 0x13, 0x13, 0x12, 0x12, 0x12, 0x11, 0x11, 0x11, 0x11, 0x10, 0x10, 0x10, 0x0f, 0x0f, 0x0e, 0x0e, 0x0e, 0x0e, 0x0d, 0x0d, 0x0d, + 0x0c, 0x0c, 0x0c, 0x0b, 0x0b, 0x0b, 0x0a, 0x0a, 0x0a, 0x09, 0x09, 0x09, 0x08, 0x08, 0x08, 0x08, 0x07, 0x07, 0x06, 0x06, 0x06, 0x05, + 0x05, 0x04, 0x04, 0x04, 0x04, 0x03, 0x03, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xfe, 0xfe, + 0xfe, 0xfd, 0xfd, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfb, 0xfb, 0xfb, 0xfa, 0xfa, 0xf9, 0xf9, 0xf9, 0xf9, 0xf8, 0xf8, 0xf8, 0xf7, 0xf7, + 0xf7, 0xf6, 0xf6, 0xf6, 0xf6, 0xf5, 0xf5, 0xf5, 0xf5, 0xf4, 0xf4, 0xf4, 0xf3, 0xf3, 0xf3, 0xf2, 0xf2, 0xf2, 0xf1, 0xf1, 0xf1, 0xf1, + 0xf1, 0xf0, 0xf0, 0xf0, 0xef, 0xef, 0xef, 0xee, 0xee, 0xee, 0xee, 0xed, 0xed, 0xed, 0xec, 0xec, 0xec, 0xec, 0xec, 0xec, 0xec, 0xeb, + 0xeb, 0xeb, 0xea, 0xea, 0xea, 0xea, 0xea, 0xe9, 0xe9, 0xe9, 0xe9, 0xe8, 0xe8, 0xe8, 0xe8, 0xe8, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, + 0xe7, 0xe6, 0xe6, 0xe6, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, + 0xe3, 0xe3, 0xe3, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, + 0xe0, 0xe0, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xde, 0xde, 0xde, 0xde, 0xde, 0xde, 0xde, 0xde, + 0xde, 0xde, 0xde, 0xde, 0xde, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdc, 0xdc, 0xdc, 0xdd, 0xdc, 0xdc, 0xdc, 0xdd, 0xdd, + 0xdd, 0xdd, 0xdd, 0xdc, 0xdc, 0xdc, 0xdb, 0xdb, 0xdb, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, + 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, + 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, + 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdc, 0xdc, 0xdc, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, + 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdc, 0xdd, 0xdd, 0xdd, 0xdd, 0xdc, 0xdc, 0xdd, 0xdd, 0xdd, 0xde, 0xde, 0xde, 0xdd, 0xdd, 0xdd, + 0xde, 0xde, 0xde, 0xde, 0xde, 0xde, 0xde, 0xde, 0xde, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, + 0xdf, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, + 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe6, + 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe8, 0xe8, 0xe8, 0xe8, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xea, + 0xea, 0xea, 0xea, 0xeb, 0xeb, 0xeb, 0xeb, 0xeb, 0xeb, 0xec, 0xec, 0xec, 0xec, 0xec, 0xed, 0xed, 0xed, 0xee, 0xee, 0xee, 0xee, 0xee, + 0xef, 0xef, 0xef, 0xef, 0xf0, 0xf0, 0xf0, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf2, 0xf2, 0xf2, 0xf2, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, + 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf5, 0xf5, 0xf5, 0xf5, 0xf6, 0xf6, 0xf6, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf8, 0xf8, 0xf8, 0xf9, + 0xf9, 0xf9, 0xf9, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfb, 0xfb, 0xfb, 0xfb, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfd, 0xfd, 0xfd, 0xfe, + 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, + 0x03, 0x03, 0x03, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x05, 0x05, 0x05, 0x06, 0x06, 0x06, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x08, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x09, 0x09, 0x09, 0x09, 0x0a, 0x0a, 0x0a, 0x0a, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0c, 0x0c, + 0x0c, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0f, 0x0f, 0x0f, 0x0f, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x13, 0x13, 0x13, 0x13, 0x14, 0x14, + 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, + 0x16, 0x16, 0x16, 0x16, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x19, 0x19, 0x19, 0x18, 0x19, 0x19, 0x19, 0x19, + 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, + 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, + 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x19, 0x19, 0x19, 0x19, 0x19, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x17, + 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, + 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x15, + 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, + 0x14, 0x14, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, + 0x12, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x09, 0x09, 0x09, 0x09, 0x09, 0x08, 0x09, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x06, + 0x06, 0x06, 0x06, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, + 0xfe, 0xfe, 0xfe, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfb, 0xfb, + 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, + 0xf9, 0xf9, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, + 0xf7, 0xf7, 0xf7, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, + 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf3, 0xf3, 0xf3, 0xf3, + 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf1, + 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, + 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, + 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xed, 0xed, + 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, + 0xed, 0xed, 0xed, 0xed, 0xed, 0xec, 0xec, 0xec, 0xec, 0xec, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xec, + 0xec, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, + 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, + 0xee, 0xee, 0xee, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, + 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, + 0xf2, 0xf2, 0xf2, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf5, 0xf5, + 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf7, 0xf7, 0xf7, + 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf9, 0xf9, 0xf9, + 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, + 0xfa, 0xfa, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfc, + 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, + 0xfc, 0xfc, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, + 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfe, 0xfe, 0xfd, 0xfe, 0xfe, 0xfe, + 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, + 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, + 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, + 0x04, 0x04, 0x04, 0x04, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, + 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x07, 0x07, 0x07, 0x07, 0x06, + 0x06, 0x06, 0x06, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x09, 0x09, 0x08, 0x08, 0x08, 0x08, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, + 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, + 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, + 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, + 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x08, 0x08, 0x08, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, + 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, + 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, + 0x03, 0x03, 0x03, 0x04, 0x04, 0x04, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x02, 0x02, 0x02, 0x02, 0x02, + 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, + 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, + 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, + 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, + 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, + 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, + 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, + 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, + 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, + 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, + 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, + 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, + 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, + 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, + 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, + 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, + 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, + 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, + 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, + 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, + 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, + 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfd, 0xfd, + 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, + 0xfd, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, + 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; + +static const unsigned char HH_2608[7259] = { + 0x52, 0x49, 0x46, 0x46, 0x82, 0x38, 0x00, 0x00, 0x57, 0x41, 0x56, 0x45, 0x66, 0x6d, 0x74, 0x20, 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x01, 0x00, 0x44, 0xac, 0x00, 0x00, 0x88, 0x58, 0x01, 0x00, 0x02, 0x00, 0x10, 0x00, 0x66, 0x61, 0x63, 0x74, 0x04, 0x00, 0x00, 0x00, + 0x1c, 0x00, 0x61, 0x61, 0x38, 0x00, 0x00, 0x01, 0x01, 0x03, 0x02, 0x01, 0x02, 0xfc, 0xff, 0x01, 0xf7, 0x08, 0x01, 0xf1, 0x08, 0x05, + 0x00, 0x07, 0xfe, 0xf9, 0xfd, 0x02, 0xfe, 0xff, 0x03, 0xf1, 0x00, 0x04, 0xec, 0xfe, 0x01, 0xf9, 0x04, 0x02, 0x07, 0x0d, 0xfa, 0xf2, + 0xf0, 0xef, 0x03, 0x09, 0x01, 0xff, 0xf6, 0xf4, 0xfc, 0x06, 0x0a, 0x0b, 0x0c, 0x0c, 0x00, 0xfa, 0x11, 0x04, 0xf5, 0xf9, 0xf8, 0x00, + 0x05, 0xfb, 0x03, 0x00, 0xfb, 0x0e, 0x0b, 0x02, 0x01, 0x11, 0x01, 0xf5, 0x11, 0x11, 0x10, 0x11, 0x07, 0x09, 0x07, 0xfa, 0xff, 0x06, + 0x01, 0xef, 0xf4, 0xfa, 0xfc, 0x0e, 0xfd, 0xf6, 0x10, 0xf4, 0xf5, 0x07, 0xf9, 0xf9, 0xfa, 0xf5, 0xf0, 0xfc, 0x05, 0xfe, 0xf3, 0xf5, + 0xfc, 0xf2, 0xff, 0x06, 0xfa, 0xe8, 0xeb, 0xf4, 0xf2, 0xfe, 0x05, 0x04, 0x03, 0xfa, 0xf8, 0xfd, 0xf7, 0xf4, 0xf6, 0xfa, 0x01, 0x05, + 0x07, 0x10, 0x12, 0x0e, 0x04, 0xf9, 0xf8, 0xff, 0x02, 0x05, 0xfb, 0xed, 0xeb, 0x09, 0x15, 0xf9, 0x1e, 0x0d, 0xeb, 0x00, 0x0d, 0xff, + 0xef, 0x02, 0x0c, 0x06, 0xf9, 0xfb, 0x08, 0x10, 0x02, 0x18, 0x1f, 0x09, 0xf7, 0x09, 0x15, 0xfb, 0xf8, 0xf5, 0xf5, 0x04, 0xf8, 0xf4, + 0x04, 0x07, 0xfb, 0xf7, 0x0e, 0xeb, 0xec, 0x0d, 0x08, 0x01, 0x07, 0x14, 0x0b, 0xf8, 0xf2, 0x09, 0xe2, 0xf1, 0x20, 0xe4, 0xee, 0x0d, + 0x09, 0xde, 0xf9, 0x1e, 0xef, 0xf4, 0xf6, 0xec, 0xff, 0x09, 0xfc, 0xe9, 0xe2, 0xfa, 0x11, 0x04, 0x00, 0xf8, 0xed, 0x08, 0x00, 0xf8, + 0x11, 0x12, 0xfd, 0xef, 0x04, 0xf5, 0xe0, 0xdd, 0x04, 0xfa, 0xf6, 0x22, 0x14, 0xeb, 0xe0, 0x2d, 0x06, 0xe5, 0x07, 0x10, 0xf1, 0xe6, + 0x16, 0x18, 0x0b, 0x06, 0x12, 0x01, 0xf9, 0x08, 0x03, 0xfb, 0xfe, 0x0a, 0x11, 0x04, 0xf5, 0x0c, 0x05, 0xf5, 0xf9, 0xfc, 0x03, 0x0e, + 0x1e, 0x0a, 0x09, 0x18, 0xf5, 0xf2, 0x04, 0x09, 0x0c, 0xff, 0xee, 0xea, 0x00, 0x08, 0xfb, 0x1f, 0x07, 0xeb, 0x04, 0x0c, 0x01, 0xfa, + 0x1b, 0xfd, 0xed, 0x08, 0xf2, 0xfd, 0x15, 0x0f, 0xf5, 0xea, 0xf3, 0xed, 0x0f, 0x10, 0xe3, 0xff, 0x10, 0x07, 0xf6, 0x0e, 0x0a, 0xec, + 0xee, 0x06, 0x02, 0xe0, 0x29, 0x1c, 0xe5, 0x01, 0xef, 0xe4, 0xf6, 0x11, 0xf8, 0xf5, 0x2a, 0x00, 0xf6, 0x0d, 0x03, 0xfb, 0xff, 0x0a, + 0xf8, 0x13, 0x17, 0xd4, 0x0b, 0x01, 0xd9, 0x32, 0x02, 0xd4, 0xf8, 0xe7, 0x00, 0x15, 0xf3, 0xfc, 0x09, 0x09, 0x01, 0x0e, 0x03, 0xde, + 0x04, 0x07, 0xf6, 0x00, 0x14, 0x08, 0xef, 0x0c, 0x01, 0xf5, 0x01, 0x07, 0xed, 0xe1, 0x10, 0xfc, 0xf4, 0x0c, 0x06, 0x08, 0x08, 0xfd, + 0xf7, 0xff, 0x05, 0xef, 0x13, 0x20, 0x04, 0xfd, 0x07, 0x10, 0x0d, 0xeb, 0xf6, 0x16, 0xfb, 0x06, 0x0d, 0xfc, 0xe2, 0xef, 0x10, 0x21, + 0xf5, 0xec, 0xfe, 0xc5, 0xf9, 0x0f, 0xd8, 0x08, 0x13, 0x00, 0x04, 0x0f, 0x04, 0xf4, 0x0f, 0xfc, 0xf0, 0x09, 0x02, 0xf8, 0xf8, 0xfe, + 0x00, 0x03, 0x08, 0x08, 0x02, 0xf7, 0xea, 0xe5, 0xf5, 0x09, 0x0e, 0x18, 0x1e, 0x12, 0x00, 0xd8, 0xce, 0xf7, 0x09, 0x09, 0x08, 0x14, + 0x16, 0xf7, 0xd2, 0x0e, 0x0a, 0xf2, 0x0c, 0xf7, 0xef, 0xff, 0x0e, 0xf6, 0xe9, 0xfb, 0xf5, 0x0c, 0x0c, 0xc7, 0x0c, 0x05, 0xc6, 0x1e, + 0x28, 0x1a, 0x21, 0xed, 0xdc, 0xf0, 0xf4, 0x0b, 0x0b, 0xf9, 0xff, 0x14, 0x12, 0xf0, 0xfb, 0xed, 0xe4, 0x0e, 0x05, 0xf7, 0xfe, 0xeb, + 0xff, 0x12, 0x05, 0xe7, 0xfd, 0x1d, 0xf4, 0xfc, 0xfa, 0xe2, 0xf5, 0x0b, 0x0d, 0xfb, 0x0f, 0xfa, 0xdd, 0x10, 0x00, 0xf5, 0x12, 0x02, + 0xf9, 0x02, 0x18, 0xe2, 0xe6, 0x14, 0xf0, 0xf2, 0xfe, 0xfb, 0x24, 0x08, 0xef, 0x37, 0xf0, 0xe3, 0x27, 0x0c, 0x11, 0x09, 0xe2, 0xe3, + 0x0b, 0x1e, 0xf1, 0x02, 0x0e, 0xfb, 0x06, 0xf8, 0xf7, 0x16, 0x00, 0xe8, 0xef, 0x23, 0xea, 0xe1, 0x21, 0xfa, 0xfc, 0x09, 0xee, 0x04, + 0xee, 0xcf, 0x0e, 0x0e, 0x02, 0x09, 0xfd, 0xf7, 0xfe, 0x00, 0x06, 0xfd, 0xf0, 0xef, 0x14, 0x1c, 0xf7, 0xfc, 0xec, 0xe9, 0x1b, 0xfe, + 0x03, 0x21, 0xe0, 0xf0, 0x10, 0xff, 0x12, 0x02, 0xf3, 0x19, 0x1d, 0x03, 0xe8, 0xfe, 0xe4, 0xea, 0x31, 0x27, 0x13, 0x0c, 0x08, 0xf7, + 0xf2, 0xfd, 0x00, 0x0e, 0x17, 0x0a, 0x19, 0x04, 0xe7, 0x0a, 0x01, 0xf1, 0xfa, 0x2a, 0x0a, 0xed, 0x2a, 0xe4, 0xf2, 0x37, 0xf4, 0x02, + 0x1e, 0x0a, 0xec, 0xf4, 0x05, 0xf7, 0x05, 0x04, 0xf8, 0x06, 0x06, 0xf9, 0xee, 0xfc, 0xf6, 0xf1, 0x0d, 0x14, 0xfe, 0xe8, 0x15, 0xf9, + 0xda, 0xee, 0x26, 0x05, 0xd3, 0x0c, 0x05, 0xec, 0xe9, 0x0a, 0x02, 0xf1, 0xf5, 0x02, 0xee, 0xd9, 0xfb, 0x09, 0x06, 0xff, 0xf6, 0xfd, + 0x06, 0xfe, 0x11, 0x05, 0xe5, 0xe6, 0xf0, 0x02, 0x11, 0xff, 0x09, 0x0f, 0xe7, 0x17, 0x17, 0xe7, 0xf1, 0x0c, 0xff, 0xd2, 0x0f, 0x1e, + 0x08, 0x10, 0x0e, 0x08, 0xfe, 0xdf, 0xff, 0x12, 0xef, 0x1a, 0x1d, 0xfb, 0xee, 0x14, 0x19, 0xf6, 0x0c, 0x0b, 0xfc, 0xf4, 0x1c, 0x10, + 0xe8, 0xe6, 0x22, 0x2e, 0xf8, 0x03, 0xe8, 0xd1, 0xe9, 0x0f, 0x1f, 0x13, 0xf9, 0xf5, 0x07, 0x13, 0xe1, 0xed, 0x09, 0xec, 0xfe, 0x0d, + 0x01, 0xdf, 0xfa, 0xfe, 0xd3, 0x16, 0x10, 0xe9, 0x00, 0x1a, 0x14, 0xf9, 0xfd, 0xfd, 0xf9, 0xf5, 0x06, 0x00, 0xf4, 0xff, 0xf4, 0xe9, + 0xee, 0xf3, 0x02, 0x07, 0xf9, 0x01, 0x01, 0xf8, 0xf8, 0xf2, 0x02, 0x1b, 0xf1, 0x04, 0x15, 0xe6, 0x04, 0x0a, 0xf5, 0x00, 0x06, 0x08, + 0x07, 0xf4, 0xf4, 0x02, 0x0a, 0xe8, 0xfc, 0x25, 0xe8, 0x01, 0x17, 0xf6, 0xe3, 0xf7, 0x11, 0x0d, 0xff, 0x03, 0x10, 0x01, 0xf8, 0x01, + 0x12, 0xfc, 0xf2, 0xf6, 0xf7, 0xf8, 0x04, 0x12, 0x13, 0xf7, 0xeb, 0x04, 0xf8, 0xf8, 0x07, 0x13, 0xf7, 0xf5, 0x10, 0x07, 0xf4, 0xf2, + 0x08, 0x0a, 0x12, 0x0e, 0xe2, 0xf9, 0x0c, 0xf7, 0x11, 0xf7, 0xe7, 0x15, 0x02, 0xfa, 0x06, 0xee, 0x02, 0x0c, 0xfa, 0x15, 0x23, 0x02, + 0xc0, 0xf9, 0x15, 0xfa, 0x12, 0x06, 0xf4, 0xf5, 0x05, 0x02, 0xf7, 0xfe, 0xf1, 0x00, 0x1b, 0xf0, 0x08, 0x12, 0xdd, 0x04, 0xfb, 0xe0, + 0x0f, 0xfe, 0xf7, 0x0f, 0x06, 0xf2, 0xee, 0x03, 0xf3, 0x05, 0x18, 0xe4, 0xfc, 0x0a, 0xee, 0x05, 0x07, 0xf7, 0xeb, 0x22, 0x0e, 0xd8, + 0x12, 0x0d, 0xfa, 0x01, 0x16, 0xfc, 0xe8, 0x0b, 0x06, 0xfb, 0xfa, 0xf7, 0x07, 0x0d, 0xfc, 0x0d, 0x09, 0xfa, 0xfe, 0xfa, 0xf9, 0xfe, + 0xff, 0x00, 0x08, 0x14, 0xf1, 0x00, 0x19, 0xeb, 0xfc, 0x07, 0xf7, 0xfa, 0x0b, 0x19, 0x16, 0xf8, 0xf6, 0x00, 0xe1, 0xf5, 0x08, 0xfd, + 0xec, 0x00, 0x17, 0x0d, 0x1e, 0x0b, 0xea, 0xfb, 0xf5, 0xf7, 0x0b, 0x01, 0xfa, 0x06, 0x1c, 0xf8, 0xf0, 0x0a, 0x00, 0x0a, 0x04, 0xe8, + 0x02, 0x0c, 0x01, 0xfd, 0x03, 0xfd, 0xf1, 0x0b, 0xf4, 0xe9, 0x0a, 0x06, 0x02, 0x02, 0x00, 0xf8, 0x07, 0x14, 0xd7, 0xe4, 0x0b, 0x0c, + 0xf7, 0xfc, 0x0d, 0x00, 0xf9, 0x05, 0x17, 0xf3, 0x06, 0x18, 0xf6, 0xf8, 0x04, 0x03, 0xf6, 0xee, 0xfb, 0x11, 0x0d, 0xf4, 0xea, 0x0b, + 0xe3, 0xf0, 0x1b, 0xfb, 0xf5, 0x05, 0x11, 0xfc, 0xf9, 0x01, 0x03, 0x04, 0xff, 0xfb, 0x0c, 0xfb, 0xf4, 0x09, 0xf8, 0xeb, 0xf7, 0x11, + 0x12, 0x03, 0xf4, 0xec, 0xf7, 0x03, 0x03, 0xf0, 0xfa, 0x12, 0x0e, 0xf9, 0xee, 0xfb, 0x0a, 0x12, 0x07, 0xf3, 0xfe, 0x08, 0x06, 0x04, + 0xf8, 0xf0, 0xf7, 0x0e, 0x01, 0xf0, 0x03, 0xf4, 0xf2, 0x06, 0x1f, 0x08, 0xf8, 0x06, 0xfd, 0xf7, 0xfd, 0x10, 0x08, 0xfc, 0xfc, 0x15, + 0x00, 0xf3, 0x0a, 0x1e, 0x01, 0xe3, 0x03, 0xf4, 0xed, 0xfd, 0x0e, 0xfb, 0xf5, 0x13, 0xf3, 0xfa, 0x13, 0xfe, 0xfd, 0xfe, 0xfb, 0x13, + 0xfc, 0xec, 0x0c, 0x0b, 0x02, 0xfe, 0x04, 0xff, 0x01, 0x0a, 0x07, 0xf6, 0xf5, 0x10, 0x06, 0xfa, 0xf8, 0xf9, 0xfb, 0xf9, 0xf7, 0x02, + 0x09, 0x00, 0xf0, 0xf0, 0x04, 0x17, 0x0d, 0x0d, 0xff, 0xe3, 0x04, 0x00, 0xe8, 0xf2, 0x05, 0x0c, 0x04, 0xfa, 0x04, 0x0f, 0x0d, 0xe3, + 0xfb, 0x17, 0xd4, 0xed, 0x0c, 0x05, 0x08, 0x0a, 0x04, 0xf8, 0x04, 0xf8, 0xea, 0x0a, 0x00, 0xff, 0x16, 0xfe, 0x0c, 0x16, 0xf3, 0x07, + 0x08, 0xf6, 0xfb, 0x01, 0xfb, 0xf1, 0x0e, 0x02, 0xf5, 0x15, 0x08, 0xf8, 0xf6, 0xfc, 0xf1, 0xee, 0xfd, 0x13, 0x07, 0xf6, 0x07, 0xfd, + 0xf5, 0xf7, 0xfe, 0xee, 0xed, 0x07, 0x13, 0x05, 0xf8, 0x05, 0x00, 0xf8, 0xf7, 0xfd, 0x05, 0xff, 0xea, 0x08, 0x07, 0xf6, 0x06, 0x10, + 0x0b, 0xff, 0xfa, 0x05, 0x01, 0xe2, 0xeb, 0x04, 0x12, 0xfb, 0x18, 0x15, 0xe8, 0x18, 0x08, 0xea, 0x09, 0xff, 0xfe, 0x0a, 0xfd, 0x08, + 0x0a, 0xf8, 0x02, 0x06, 0xfc, 0xed, 0xf4, 0xff, 0x03, 0xfc, 0x03, 0x0b, 0x0a, 0x04, 0x01, 0xff, 0xfb, 0xeb, 0xf8, 0x13, 0xed, 0x01, + 0x10, 0xf0, 0x00, 0x19, 0x13, 0xde, 0xf6, 0x00, 0xe6, 0x19, 0xfe, 0xe0, 0x05, 0x0d, 0x07, 0xfc, 0xe8, 0xfe, 0x0d, 0x02, 0xfd, 0x08, + 0x0b, 0xfc, 0xff, 0x07, 0x07, 0xfd, 0xe9, 0xee, 0x0c, 0xfa, 0xfb, 0x01, 0xf2, 0xf0, 0x02, 0x0e, 0xeb, 0x00, 0x03, 0xd7, 0x05, 0x06, + 0xf1, 0x0f, 0xf7, 0xfa, 0x1a, 0xfc, 0xf6, 0xfd, 0xfd, 0xf1, 0x07, 0x1d, 0x04, 0xfe, 0xff, 0xfd, 0x0a, 0xfc, 0xf1, 0x05, 0x0c, 0x0c, + 0x06, 0xfb, 0xf9, 0xfd, 0x02, 0x05, 0x05, 0x02, 0xfc, 0xf7, 0xfa, 0x01, 0x07, 0x03, 0x01, 0x05, 0x0b, 0x00, 0xf4, 0xf8, 0x02, 0x06, + 0x02, 0xf8, 0xff, 0xf8, 0xe3, 0x0e, 0x0f, 0xfb, 0x0b, 0xfe, 0x01, 0x12, 0x05, 0xfe, 0xfe, 0xfe, 0xf8, 0x03, 0x0d, 0xf9, 0x0d, 0x09, + 0xee, 0x19, 0x05, 0xe8, 0xf9, 0x15, 0x0a, 0xf6, 0x12, 0x05, 0xf9, 0x02, 0x10, 0xfb, 0xf0, 0x11, 0xef, 0xfc, 0x1c, 0xe9, 0xfc, 0x0b, + 0xf2, 0x0d, 0x00, 0xee, 0x06, 0x07, 0x00, 0xfb, 0xf9, 0xff, 0xfe, 0xf5, 0x0b, 0x08, 0xfb, 0x04, 0xfc, 0xf9, 0xff, 0xfe, 0x00, 0xfe, + 0xf8, 0x0d, 0x02, 0xee, 0x03, 0xf4, 0xf3, 0x08, 0x05, 0xff, 0xfd, 0xfc, 0x06, 0xfa, 0xed, 0x04, 0x0c, 0x01, 0xf7, 0x20, 0x05, 0xe2, + 0xf9, 0xf7, 0xff, 0x0f, 0x0b, 0x0d, 0x01, 0xea, 0xef, 0x04, 0x0b, 0xf9, 0x04, 0x06, 0xfa, 0xee, 0xfd, 0x02, 0xf1, 0xf3, 0x02, 0x0b, + 0xfc, 0x10, 0x0b, 0xf0, 0xf3, 0x09, 0x0f, 0xfe, 0x0b, 0xff, 0xed, 0xf4, 0xfc, 0x00, 0x04, 0x0f, 0x0d, 0xfe, 0xeb, 0x03, 0x01, 0xf0, + 0xf6, 0x0b, 0x08, 0xf2, 0xfe, 0x03, 0xfe, 0xf6, 0x00, 0x06, 0x02, 0xfb, 0xfd, 0x0b, 0x16, 0xeb, 0x00, 0x19, 0xf0, 0xfe, 0x09, 0x01, + 0xf1, 0x03, 0x07, 0xf4, 0x0c, 0x14, 0x02, 0xeb, 0xf3, 0xfe, 0xff, 0x01, 0xfe, 0x02, 0x0f, 0xf3, 0xfb, 0x0d, 0xff, 0xf5, 0x06, 0x1a, + 0xfd, 0xf6, 0xfc, 0xfe, 0x02, 0x0c, 0x0f, 0xff, 0x03, 0x00, 0xf6, 0x00, 0x06, 0x01, 0xfa, 0x0a, 0x06, 0xfa, 0x12, 0xf5, 0xe8, 0xff, + 0xf4, 0xfc, 0x08, 0x05, 0xf7, 0xfd, 0x07, 0xf1, 0x07, 0x15, 0x04, 0x06, 0x08, 0xfd, 0xe5, 0xf7, 0x05, 0xff, 0xf5, 0xfc, 0x01, 0xf9, + 0xf4, 0xf6, 0xfe, 0x07, 0xfa, 0xf8, 0x06, 0x0b, 0xf4, 0xef, 0x0f, 0xed, 0xf2, 0x0f, 0x10, 0xe6, 0xef, 0x1b, 0xe7, 0xf5, 0x12, 0x05, + 0x01, 0x04, 0x01, 0xf4, 0xf2, 0xf8, 0xfe, 0xfe, 0x02, 0x04, 0xfe, 0xff, 0x01, 0x03, 0x06, 0x0f, 0x06, 0xef, 0x04, 0xf8, 0xed, 0x0c, + 0x06, 0xfc, 0xfc, 0xfd, 0xfe, 0xfd, 0xfb, 0xf5, 0x03, 0x10, 0x01, 0xff, 0xfc, 0xf9, 0x04, 0x04, 0xf9, 0xf4, 0xfe, 0x09, 0x0d, 0x09, + 0xf9, 0xf0, 0xfa, 0x1f, 0x0d, 0xf0, 0xf8, 0x08, 0x02, 0xf1, 0xf8, 0x01, 0x05, 0x01, 0x01, 0x03, 0x04, 0xff, 0x02, 0xf9, 0xf3, 0x06, + 0x07, 0xfd, 0xf7, 0x0b, 0xfc, 0xf1, 0x12, 0xf6, 0xf6, 0x0f, 0x00, 0xfb, 0xfb, 0xfb, 0x06, 0x00, 0xfa, 0x0c, 0x0a, 0xfd, 0xf7, 0x06, + 0xfc, 0xf9, 0x0a, 0xfa, 0x05, 0x13, 0xf3, 0x0d, 0x0d, 0xed, 0xfe, 0x05, 0x04, 0x04, 0x04, 0xfd, 0xf8, 0xff, 0x03, 0x01, 0xfe, 0x04, + 0xff, 0xfe, 0x0a, 0xfe, 0xfe, 0x07, 0x04, 0xfe, 0xfc, 0x00, 0x0c, 0xfb, 0xee, 0x02, 0xff, 0x02, 0x08, 0x03, 0xf3, 0xf0, 0xfd, 0x02, + 0x05, 0x02, 0xfa, 0xfd, 0x06, 0x09, 0x00, 0x00, 0x02, 0xff, 0x01, 0x01, 0x00, 0x00, 0x00, 0xfe, 0xfb, 0xf9, 0x00, 0x03, 0xfa, 0xfd, + 0xfd, 0xff, 0x08, 0x09, 0x04, 0x00, 0xfd, 0xfd, 0x02, 0x0b, 0xf7, 0xf3, 0xff, 0x08, 0xf7, 0xf5, 0x08, 0x0e, 0xfc, 0xf1, 0xff, 0x03, + 0x00, 0xfd, 0x06, 0x0b, 0x06, 0xf8, 0xfe, 0xf7, 0xf5, 0x0b, 0xfa, 0xfa, 0x06, 0xf6, 0xf2, 0xfc, 0x06, 0x0e, 0xf7, 0xeb, 0x12, 0xfc, + 0xf3, 0x07, 0x07, 0xff, 0xfb, 0xfc, 0xfd, 0xfd, 0xfc, 0xfc, 0x05, 0x0a, 0x01, 0xed, 0xf8, 0x05, 0xfe, 0x06, 0x0c, 0x05, 0xf2, 0xfd, + 0x04, 0xfb, 0x03, 0xfe, 0xfc, 0x09, 0xfb, 0xfa, 0x04, 0x02, 0xff, 0xfe, 0x00, 0x01, 0x06, 0x07, 0x03, 0xf6, 0xfc, 0x0c, 0x02, 0x08, + 0x0a, 0xfe, 0x00, 0xf7, 0xf4, 0x0b, 0x03, 0x04, 0x0c, 0xf3, 0xf9, 0x03, 0xf9, 0x01, 0x01, 0xfe, 0x07, 0x01, 0xfc, 0xff, 0x02, 0x08, + 0x02, 0xf1, 0xf9, 0x04, 0x03, 0xf2, 0x08, 0x0c, 0xf4, 0xfb, 0x05, 0x07, 0xfb, 0x04, 0xfb, 0xed, 0xfc, 0x01, 0x01, 0x01, 0xfe, 0xfd, + 0x01, 0x09, 0xf7, 0xfc, 0x0b, 0xf8, 0xef, 0xf9, 0x09, 0x01, 0x03, 0x0a, 0x05, 0xf8, 0xf8, 0x01, 0xf4, 0x05, 0x0b, 0xf3, 0x02, 0x06, + 0x01, 0x09, 0x00, 0xfb, 0x00, 0x01, 0xfb, 0xfa, 0x06, 0x02, 0x03, 0x02, 0xf7, 0xfa, 0x04, 0x08, 0x03, 0xfd, 0xfd, 0x01, 0xfd, 0xfd, + 0x01, 0xff, 0x0c, 0x0a, 0xf9, 0x01, 0xfc, 0xf8, 0x04, 0x02, 0xfe, 0x00, 0x07, 0x02, 0xfe, 0x01, 0xfd, 0xf6, 0xf9, 0x08, 0x0b, 0x06, + 0xff, 0xf7, 0x02, 0x08, 0xfd, 0x07, 0x06, 0xfc, 0xf6, 0xf8, 0x00, 0x07, 0x01, 0x04, 0x04, 0xf9, 0xfc, 0xfd, 0xfc, 0x03, 0xfc, 0xf6, + 0xfb, 0x0d, 0x02, 0xf8, 0x08, 0xf8, 0xfa, 0x07, 0xfd, 0xf6, 0xf9, 0x00, 0xfd, 0x06, 0x0c, 0x03, 0xf4, 0xfa, 0x05, 0xf6, 0xf9, 0xfe, + 0xfb, 0x05, 0xfd, 0xfa, 0x0f, 0xff, 0xf7, 0xff, 0x04, 0xfe, 0xf8, 0xf8, 0x04, 0x01, 0xf9, 0xfd, 0x07, 0x03, 0xf6, 0x02, 0xf7, 0xf0, + 0xfa, 0x04, 0xff, 0xf8, 0xf9, 0x09, 0x03, 0xef, 0x13, 0x05, 0xef, 0xfc, 0xf5, 0xff, 0x0f, 0x01, 0x06, 0x03, 0xf3, 0xf5, 0x02, 0x06, + 0xfb, 0xfb, 0xfe, 0xff, 0xfe, 0x00, 0x06, 0x0c, 0xf7, 0x03, 0x0f, 0xf4, 0x00, 0x03, 0xf7, 0xfe, 0x03, 0x00, 0xfa, 0x01, 0x07, 0x07, + 0x04, 0xf9, 0xf4, 0xf9, 0x0c, 0xfb, 0xfa, 0x19, 0x03, 0xf2, 0xf8, 0x0c, 0xfe, 0xf8, 0x02, 0x02, 0xf8, 0xfb, 0x0c, 0x08, 0xff, 0xfc, + 0x05, 0x01, 0xff, 0x04, 0x00, 0xfe, 0xfe, 0xfd, 0x06, 0x08, 0x04, 0xfd, 0x06, 0x05, 0xf9, 0xfd, 0x05, 0x04, 0xf9, 0x02, 0x06, 0x00, + 0x00, 0xfd, 0x00, 0x09, 0x04, 0x00, 0xfa, 0xef, 0xfe, 0x07, 0x01, 0x00, 0xfc, 0xfd, 0x03, 0x03, 0x05, 0x04, 0xf9, 0xfa, 0x01, 0x04, + 0xfa, 0xfa, 0x03, 0x0a, 0xfc, 0xfe, 0x05, 0xf7, 0xff, 0x06, 0x01, 0xf8, 0x02, 0x0a, 0x00, 0xfe, 0x04, 0x05, 0xf4, 0x01, 0x08, 0xfc, + 0x01, 0xff, 0xfd, 0x01, 0x08, 0x05, 0xfd, 0xfb, 0x00, 0xfd, 0xf3, 0x00, 0x05, 0x03, 0x03, 0xf9, 0xf7, 0xfd, 0xfc, 0x03, 0x08, 0x01, + 0xf3, 0xf2, 0xfd, 0x08, 0x07, 0x00, 0xfb, 0x01, 0xfb, 0xf9, 0x05, 0xf9, 0x02, 0x0c, 0xf7, 0xfe, 0x07, 0x02, 0xfe, 0xfe, 0x03, 0x0b, + 0xf7, 0xfd, 0x0b, 0xf8, 0xfa, 0x03, 0x03, 0xfd, 0xfc, 0x01, 0x06, 0x01, 0xfc, 0xfc, 0xfc, 0x07, 0x08, 0xfb, 0x00, 0xfe, 0xf9, 0xfb, + 0x07, 0x02, 0xf7, 0x06, 0x01, 0xfc, 0x05, 0xfb, 0x01, 0x0b, 0x02, 0xfa, 0xfe, 0x05, 0xfa, 0xfa, 0x02, 0x07, 0x00, 0xfc, 0xfd, 0xff, + 0x05, 0x03, 0xfd, 0x00, 0x01, 0xfd, 0xf6, 0x01, 0x03, 0xfd, 0xfb, 0x01, 0x00, 0xfb, 0xfc, 0x02, 0x03, 0xfb, 0xf8, 0xff, 0x05, 0xf9, + 0xfd, 0x03, 0x01, 0xfd, 0xfe, 0xff, 0xfb, 0xf9, 0xfd, 0x01, 0xfe, 0xfa, 0xfc, 0x03, 0x02, 0xfc, 0xfb, 0x07, 0xf7, 0xf7, 0x08, 0xfe, + 0x00, 0x02, 0xfa, 0xf9, 0x02, 0x06, 0xfb, 0xfc, 0x02, 0x05, 0x02, 0xff, 0x00, 0x06, 0xff, 0xfc, 0xfe, 0xfc, 0x03, 0x07, 0x02, 0x04, + 0xfc, 0xfa, 0x07, 0x01, 0xfb, 0xfc, 0x05, 0xfb, 0xf9, 0x03, 0x03, 0x01, 0xfe, 0xfd, 0xff, 0x03, 0x04, 0x03, 0xff, 0x00, 0x07, 0x01, + 0x03, 0x04, 0xfd, 0xfc, 0xff, 0xff, 0xfb, 0xfb, 0x03, 0x0c, 0x07, 0xff, 0xfa, 0xf9, 0x02, 0x05, 0xfe, 0x00, 0xfb, 0xfb, 0x03, 0x04, + 0x02, 0x00, 0xfd, 0xfc, 0xfd, 0xfc, 0xf7, 0x01, 0x08, 0x00, 0x02, 0x00, 0xfc, 0x01, 0xfc, 0xfa, 0xfe, 0x02, 0x00, 0xff, 0x06, 0x01, + 0xfa, 0xf7, 0xf9, 0x00, 0x03, 0xff, 0xfd, 0xf7, 0xf7, 0x03, 0x01, 0x01, 0x03, 0xfd, 0xf5, 0xf6, 0xff, 0xfc, 0x00, 0x05, 0x03, 0xfe, + 0xfd, 0xfe, 0x00, 0xfa, 0xfa, 0x03, 0x04, 0xfd, 0xf9, 0xff, 0xfe, 0xfd, 0xfe, 0x08, 0x00, 0xfb, 0x05, 0xfe, 0xfb, 0xfe, 0xff, 0x05, + 0x06, 0x01, 0x04, 0x02, 0xff, 0xfd, 0x04, 0x02, 0xfd, 0xfd, 0x01, 0x03, 0x01, 0xf9, 0xfe, 0x03, 0xf9, 0x01, 0x04, 0x00, 0x01, 0xff, + 0xff, 0x02, 0xfc, 0x01, 0x0a, 0x06, 0xfc, 0xfc, 0x02, 0xf8, 0x01, 0x05, 0xfa, 0x06, 0x0b, 0x04, 0xfd, 0x00, 0x05, 0x04, 0xfc, 0x00, + 0x03, 0xfa, 0xff, 0x04, 0x04, 0x04, 0x02, 0x02, 0x03, 0x00, 0xf4, 0xf7, 0x0d, 0xfb, 0xfb, 0x0a, 0xfd, 0x04, 0x06, 0xfa, 0xfe, 0x01, + 0xff, 0xfb, 0x00, 0x01, 0xfe, 0x00, 0x01, 0x00, 0xff, 0xfc, 0xff, 0x00, 0xf7, 0xf8, 0x01, 0x07, 0xff, 0xfe, 0x02, 0x03, 0xfc, 0xfd, + 0xfe, 0xf3, 0x01, 0x06, 0xfc, 0x04, 0xff, 0xff, 0x0a, 0xfa, 0xf5, 0xfc, 0xfa, 0x02, 0x06, 0x03, 0x08, 0xfe, 0xf7, 0x01, 0xfd, 0x01, + 0x06, 0xfc, 0xff, 0x03, 0xfe, 0x03, 0xff, 0xfb, 0x01, 0x05, 0x06, 0x03, 0x03, 0xf8, 0xf6, 0x00, 0x05, 0x01, 0xfd, 0x00, 0x03, 0xff, + 0xf9, 0x05, 0xff, 0xfb, 0x03, 0x05, 0x01, 0xfb, 0xf3, 0x07, 0x0c, 0xff, 0x05, 0x03, 0xfb, 0xf6, 0xfa, 0x03, 0x09, 0x05, 0x01, 0xfd, + 0xfc, 0x03, 0x00, 0xfe, 0x04, 0xfc, 0xfb, 0xff, 0xfc, 0xfe, 0xff, 0xfe, 0x02, 0x00, 0xfe, 0x03, 0xfb, 0xf9, 0xfe, 0xff, 0xfd, 0xfe, + 0x04, 0xfb, 0xfb, 0xfe, 0xfe, 0xfc, 0x00, 0x05, 0x01, 0xfc, 0xfb, 0xff, 0xff, 0x01, 0x01, 0xfe, 0xff, 0x01, 0x01, 0xfe, 0xfb, 0xfb, + 0x00, 0xff, 0x02, 0x03, 0xf8, 0x00, 0x05, 0xff, 0x03, 0xfd, 0xfa, 0x02, 0x03, 0x00, 0xfe, 0xfc, 0x01, 0x03, 0xfe, 0xfd, 0x01, 0x04, + 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x02, 0x03, 0x01, 0x04, 0x03, 0xf9, 0xfc, 0x00, 0x00, 0x00, 0x06, 0x03, 0xfa, 0x07, 0x04, 0xfb, + 0xfe, 0xff, 0x01, 0x03, 0x01, 0xff, 0xfd, 0xfb, 0x02, 0x09, 0x06, 0xf6, 0xff, 0x03, 0xfb, 0x04, 0x03, 0x02, 0x08, 0x00, 0xfc, 0xfe, + 0x00, 0xfd, 0xfd, 0x02, 0xfb, 0xfe, 0x00, 0xfb, 0x00, 0x02, 0xff, 0xfe, 0xfd, 0xfe, 0xff, 0xff, 0x01, 0x01, 0xfa, 0xff, 0x01, 0xfd, + 0xfa, 0xfd, 0xfd, 0xf9, 0x02, 0x01, 0xfd, 0x04, 0x01, 0xf6, 0xf2, 0x05, 0x02, 0xfb, 0x01, 0xf9, 0xfc, 0x01, 0xf9, 0xff, 0x00, 0xfa, + 0x02, 0x00, 0xfc, 0xfd, 0x02, 0x03, 0xfe, 0xfc, 0xfd, 0x00, 0x01, 0x02, 0xfd, 0xfb, 0x04, 0xfc, 0xfe, 0x06, 0x01, 0x01, 0x04, 0x03, + 0xf8, 0xfb, 0x05, 0x07, 0x02, 0xfe, 0xfe, 0xff, 0x01, 0x02, 0x00, 0xfe, 0xff, 0x03, 0x05, 0x02, 0xfd, 0xfd, 0x0b, 0x01, 0xf9, 0x03, + 0x06, 0x05, 0x02, 0x02, 0xfe, 0xff, 0x03, 0x02, 0x01, 0x01, 0x00, 0xfb, 0xfb, 0xff, 0x00, 0x04, 0x05, 0x03, 0x01, 0x00, 0xfd, 0xf8, + 0x01, 0x03, 0xfe, 0xfe, 0x02, 0x01, 0xfc, 0x01, 0x02, 0xfd, 0xf7, 0xfc, 0x00, 0x01, 0x03, 0x00, 0xfc, 0xfb, 0xf9, 0x00, 0x05, 0xfc, + 0xfd, 0xfc, 0xf9, 0xfe, 0xfd, 0xff, 0x05, 0xfe, 0xfc, 0xff, 0xff, 0xfd, 0x00, 0x03, 0xfa, 0xfe, 0x02, 0xfb, 0xff, 0x00, 0x00, 0x05, + 0x00, 0xfb, 0xfd, 0x01, 0x01, 0xff, 0xff, 0xfc, 0x00, 0x07, 0x05, 0xfd, 0xfc, 0x01, 0xfd, 0x00, 0x03, 0xff, 0x04, 0x01, 0xfa, 0xfe, + 0x00, 0x01, 0x04, 0x03, 0x02, 0x00, 0xf9, 0x01, 0x01, 0xfd, 0x07, 0x07, 0xff, 0xfa, 0x00, 0xfe, 0xfd, 0x07, 0x00, 0xfe, 0x04, 0x05, + 0xfe, 0xfd, 0x05, 0xff, 0xfe, 0x02, 0xff, 0xfe, 0x00, 0x04, 0x04, 0x04, 0x00, 0xfc, 0xff, 0x00, 0x00, 0xfe, 0x02, 0x00, 0xfc, 0x05, + 0x03, 0xfe, 0x00, 0x01, 0xfe, 0xfe, 0x03, 0xff, 0xfc, 0xff, 0xfd, 0x02, 0x04, 0xfb, 0xfc, 0xfe, 0xfd, 0xfe, 0x00, 0x00, 0xfd, 0xff, + 0x01, 0xff, 0xfb, 0xfe, 0x02, 0x02, 0xf9, 0xfb, 0xff, 0xfd, 0xf7, 0x02, 0x0c, 0xff, 0xfb, 0xff, 0x02, 0xfd, 0xfd, 0xff, 0x01, 0x02, + 0x02, 0xff, 0xfe, 0xff, 0xff, 0xfe, 0x00, 0x02, 0x01, 0xfa, 0xfc, 0xff, 0x00, 0xff, 0xfe, 0x00, 0x05, 0xfb, 0xfe, 0x03, 0xfd, 0xfd, + 0xfd, 0xfd, 0x07, 0x00, 0xfa, 0x00, 0x02, 0xff, 0xfc, 0xff, 0x00, 0xff, 0xff, 0xfd, 0x01, 0x03, 0xff, 0x02, 0x02, 0x01, 0xff, 0xfd, + 0xfe, 0x01, 0xfe, 0x02, 0x03, 0xfe, 0x01, 0x04, 0x01, 0xfa, 0xfe, 0x01, 0x00, 0x02, 0x04, 0x03, 0x01, 0xfe, 0x00, 0x02, 0xfb, 0xff, + 0x02, 0xfe, 0xfe, 0xff, 0x01, 0x00, 0x04, 0x01, 0xfc, 0xff, 0xff, 0xfd, 0xfd, 0x00, 0x00, 0xfe, 0xfd, 0x03, 0x01, 0xfd, 0x05, 0x00, + 0xfc, 0xff, 0xff, 0xfe, 0xfe, 0x03, 0x00, 0x01, 0x05, 0x02, 0x03, 0x00, 0xf9, 0xff, 0x01, 0xff, 0x02, 0x00, 0xfc, 0xfc, 0xff, 0xff, + 0x00, 0x04, 0xfc, 0xfe, 0x03, 0xfb, 0xfe, 0x02, 0x01, 0x04, 0x01, 0xfe, 0xfe, 0x02, 0x01, 0xfe, 0xfd, 0xff, 0xff, 0xfd, 0x00, 0x03, + 0x00, 0xf9, 0xfe, 0x02, 0x00, 0xfc, 0xfe, 0x00, 0xfe, 0xfe, 0xff, 0x01, 0x01, 0x02, 0xff, 0xfb, 0xff, 0x01, 0x01, 0xff, 0x01, 0x01, + 0x00, 0xff, 0x02, 0x01, 0xfd, 0x00, 0xfe, 0xfc, 0xfd, 0xfc, 0xfe, 0x00, 0x00, 0xfe, 0xff, 0x02, 0xfb, 0xfe, 0x02, 0xfd, 0xff, 0xfe, + 0xfc, 0x06, 0x02, 0xff, 0x03, 0xfe, 0xfa, 0xfc, 0x03, 0xfe, 0xff, 0x04, 0x01, 0xfb, 0xfe, 0x05, 0xfc, 0xfb, 0x00, 0x00, 0x01, 0x00, + 0xfe, 0x00, 0xff, 0xfe, 0xff, 0x02, 0x02, 0xff, 0xfc, 0x02, 0x01, 0xfa, 0x02, 0x02, 0x00, 0x02, 0x05, 0x00, 0xfa, 0x00, 0xff, 0xfe, + 0x02, 0xff, 0x03, 0x05, 0xff, 0xfb, 0xfe, 0x02, 0x05, 0x00, 0xfd, 0xfe, 0xfd, 0xff, 0x02, 0x04, 0x01, 0xff, 0xff, 0xff, 0xfe, 0xff, + 0x02, 0xff, 0xfe, 0xff, 0x01, 0x02, 0x01, 0xff, 0xff, 0xfe, 0xff, 0x01, 0x04, 0x02, 0x00, 0x01, 0xfc, 0xfe, 0x04, 0xfe, 0x00, 0x01, + 0xfc, 0x00, 0xfe, 0xfc, 0x05, 0x00, 0xfe, 0x02, 0x00, 0xff, 0xfe, 0xfe, 0xfe, 0x02, 0x04, 0xfb, 0xff, 0x02, 0xfd, 0xfc, 0x00, 0x03, + 0xfe, 0x03, 0x02, 0xfd, 0xfe, 0xfe, 0x00, 0x04, 0x00, 0x01, 0x03, 0xfe, 0xfb, 0xfe, 0x01, 0xfd, 0x00, 0x03, 0x00, 0x03, 0x00, 0xfc, + 0x00, 0x01, 0x01, 0x00, 0xfc, 0x00, 0x03, 0xfe, 0x02, 0x01, 0xfe, 0x00, 0x02, 0x00, 0xff, 0x00, 0x01, 0xff, 0xfd, 0x02, 0x02, 0xff, + 0x00, 0xfd, 0xfe, 0x00, 0xfc, 0xff, 0x01, 0xfd, 0x03, 0x01, 0xfb, 0x02, 0x00, 0xff, 0x02, 0x00, 0xfd, 0xfc, 0x00, 0x00, 0x02, 0x03, + 0xfe, 0x00, 0x01, 0xfd, 0x01, 0xfe, 0xfb, 0xfe, 0x02, 0x01, 0xfe, 0x01, 0x02, 0x01, 0x00, 0xfe, 0xfe, 0x00, 0x01, 0x01, 0x01, 0x01, + 0xfe, 0xfe, 0x00, 0x01, 0x03, 0xfe, 0xfa, 0x00, 0xff, 0xfd, 0x00, 0x00, 0xfe, 0xff, 0x01, 0xff, 0xff, 0x00, 0xfa, 0x02, 0x03, 0xf9, + 0x01, 0x02, 0xff, 0x02, 0xfc, 0xfd, 0x03, 0xfe, 0xff, 0x01, 0x01, 0xff, 0xfe, 0xff, 0x02, 0x00, 0x00, 0x01, 0x00, 0xfe, 0x00, 0x03, + 0x03, 0xff, 0xfe, 0x04, 0xfe, 0xfd, 0x01, 0xff, 0xfe, 0x00, 0x01, 0xfe, 0xfe, 0x01, 0x03, 0xff, 0xfe, 0x00, 0xfc, 0xfe, 0x00, 0x00, + 0xfe, 0xfe, 0x00, 0xff, 0x02, 0x03, 0x00, 0xfc, 0xfd, 0x00, 0x01, 0x00, 0x01, 0x01, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, + 0x02, 0x02, 0x00, 0xfe, 0x00, 0x01, 0x00, 0x01, 0xfd, 0xfc, 0x02, 0x01, 0xff, 0xff, 0xfe, 0xfd, 0xff, 0x02, 0x00, 0xff, 0xff, 0xfd, + 0xff, 0x00, 0x00, 0x01, 0x00, 0xfe, 0xfe, 0x03, 0x01, 0xfc, 0xfe, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, + 0xfe, 0xfe, 0x01, 0xff, 0x01, 0x02, 0xfe, 0x00, 0x01, 0x00, 0xff, 0x01, 0x02, 0xfe, 0xff, 0xff, 0xfe, 0xff, 0x00, 0x00, 0xff, 0x00, + 0xff, 0xfe, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x01, 0xfe, 0x01, 0x04, 0xff, 0x01, 0x00, 0xfd, 0xfd, 0x00, 0x00, 0xff, 0x02, + 0x01, 0xff, 0xff, 0xfe, 0xff, 0x01, 0xfe, 0xfe, 0xfe, 0xfe, 0x00, 0xfe, 0xfd, 0xff, 0x01, 0x02, 0x00, 0xfc, 0xfd, 0x00, 0x00, 0xfd, + 0xff, 0x02, 0xff, 0xfd, 0xff, 0x02, 0xff, 0xff, 0xff, 0xff, 0x02, 0xff, 0xfc, 0x00, 0xff, 0xff, 0x02, 0x02, 0x00, 0xff, 0x00, 0xff, + 0xff, 0xff, 0xff, 0x02, 0x02, 0xfe, 0x01, 0x01, 0x00, 0x00, 0x01, 0x00, 0xff, 0xff, 0x00, 0x01, 0x00, 0x02, 0x00, 0xfd, 0xfd, 0x02, + 0x04, 0x01, 0xfb, 0xff, 0x03, 0x01, 0xff, 0x00, 0x01, 0x00, 0xfe, 0xff, 0x01, 0x00, 0xff, 0xff, 0xff, 0x00, 0x01, 0x00, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0x01, 0xfd, 0xff, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xfe, 0xfe, 0x01, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x01, 0xff, 0xfe, 0xfe, 0x00, 0xff, 0xfd, 0xfe, 0x01, 0x02, 0xfd, 0xfe, 0xff, 0xff, 0xfe, 0xff, + 0x01, 0x02, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0x00, 0x01, 0x01, 0x00, 0x00, 0x02, 0xfe, 0xfe, 0x01, 0x01, 0xff, 0xff, 0x01, 0x01, 0x01, + 0x00, 0xfe, 0x01, 0x01, 0x00, 0x01, 0xff, 0xff, 0x01, 0xfd, 0xff, 0x02, 0x02, 0x02, 0x01, 0x00, 0xfd, 0xff, 0x00, 0xfd, 0x01, 0x02, + 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0xff, 0xfe, 0xfe, 0x03, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0xfe, 0xfe, 0x00, + 0x01, 0xfc, 0x01, 0x02, 0xff, 0xff, 0x00, 0xfe, 0xfd, 0xfe, 0x00, 0x00, 0x01, 0xfe, 0xfe, 0x01, 0xff, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, + 0xfe, 0xff, 0x00, 0x00, 0xfe, 0x00, 0x00, 0xff, 0x01, 0x00, 0xfe, 0xff, 0xff, 0x00, 0x01, 0x01, 0x01, 0xff, 0xfd, 0xff, 0x00, 0x00, + 0xff, 0x01, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xfe, 0x01, 0xfd, 0xff, 0x02, 0x00, 0x02, 0x01, 0x00, 0x01, 0x00, 0xfe, + 0xff, 0x00, 0x01, 0x02, 0x03, 0x00, 0xfe, 0xfe, 0xfd, 0x01, 0x03, 0x01, 0x00, 0x02, 0x01, 0xfd, 0xfd, 0x00, 0x03, 0x02, 0x00, 0xfe, + 0xff, 0xfe, 0xff, 0x00, 0xfe, 0x00, 0x02, 0x01, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0xff, 0xfe, + 0xff, 0x00, 0x00, 0xff, 0xfc, 0xfe, 0xff, 0xfd, 0x02, 0x00, 0xfe, 0x00, 0xff, 0xff, 0x00, 0xfd, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x01, + 0xfe, 0xfe, 0xfe, 0xfd, 0xfe, 0xff, 0x00, 0x01, 0xfd, 0xff, 0x00, 0xfc, 0xff, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x01, + 0xff, 0x00, 0x00, 0xfe, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, 0x01, 0x02, 0x01, 0x00, + 0xfe, 0x00, 0x02, 0x02, 0x00, 0xfe, 0xfe, 0xff, 0x01, 0x03, 0x02, 0x00, 0xff, 0xfe, 0xff, 0xff, 0xfe, 0x00, 0x03, 0x02, 0xff, 0xff, + 0x00, 0x01, 0x00, 0xff, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x02, 0x02, 0xfe, 0x00, 0x02, 0x00, 0xfe, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x01, + 0x00, 0x00, 0x00, 0xfe, 0xff, 0x00, 0x01, 0xff, 0x02, 0x01, 0xfd, 0x00, 0x00, 0xff, 0x01, 0x01, 0x00, 0xff, 0xfd, 0xfe, 0x00, 0x00, + 0x00, 0xfe, 0xfe, 0x01, 0x00, 0xfd, 0xfe, 0x00, 0xff, 0xfe, 0xfe, 0x00, 0x01, 0x00, 0x01, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xfe, 0x01, 0x01, 0xff, 0x01, 0xfe, 0xfe, 0x01, 0x01, 0x00, 0xfe, 0xff, + 0x00, 0x01, 0x01, 0x02, 0xfe, 0xfe, 0x01, 0x00, 0xfe, 0xff, 0x01, 0x00, 0xff, 0xfe, 0x01, 0x00, 0x00, 0x01, 0xff, 0xfd, 0xfd, 0xff, + 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xfe, 0xfe, 0x00, 0xfe, + 0x00, 0x00, 0xfe, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xfe, 0xfe, 0x00, 0x02, 0x00, 0xff, 0xff, 0xff, 0x00, 0x01, 0xff, 0xff, + 0xfe, 0xfe, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xff, 0x00, 0xfe, 0x00, 0x01, 0xff, 0xff, 0x00, 0xff, 0xfe, 0x00, 0x00, 0xff, 0xff, + 0x00, 0xff, 0xfe, 0x01, 0x00, 0xff, 0x01, 0x00, 0xff, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0xff, 0x01, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x01, 0x01, 0xfd, 0x01, 0x01, 0xff, 0x01, 0x00, 0xff, 0x00, 0x01, + 0x00, 0xfe, 0xfe, 0x00, 0x00, 0xfe, 0x00, 0x00, 0xff, 0xff, 0x01, 0x01, 0xff, 0x00, 0x00, 0xff, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xfe, 0xff, 0x01, 0x00, 0xfe, 0xff, 0x00, 0x00, 0xfe, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0x01, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x01, 0x00, 0xff, 0xff, 0x00, 0x01, 0xff, 0xff, 0x01, 0x01, 0xff, 0xff, 0xff, 0x00, 0x01, 0x00, + 0xff, 0xff, 0x00, 0x00, 0xff, 0x01, 0x00, 0xff, 0xfe, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, + 0x00, 0xfe, 0x01, 0x01, 0xff, 0xfe, 0x01, 0x01, 0xfe, 0xff, 0x00, 0x00, 0xff, 0x01, 0x01, 0x00, 0xff, 0x00, 0x00, 0xfd, 0xff, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xfe, 0xfe, 0xff, 0x00, 0x00, 0xff, 0x00, 0x01, 0xfe, 0xfd, 0xff, 0x01, 0xfe, 0xfe, + 0x00, 0x01, 0xff, 0x00, 0x01, 0xfe, 0xff, 0x00, 0xfe, 0xfe, 0xff, 0xff, 0xfe, 0xff, 0xff, 0x00, 0xff, 0x00, 0x01, 0x00, 0xff, 0xff, + 0xfe, 0xff, 0x00, 0x01, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x01, 0x01, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, + 0x01, 0xff, 0x00, 0x00, 0xfe, 0x00, 0x01, 0x01, 0x01, 0xff, 0xff, 0x00, 0xfe, 0xff, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x01, 0x00, 0x00, 0x01, 0xff, 0xfe, 0xff, 0xff, 0x01, 0x00, 0xfe, 0x01, 0x00, 0xff, 0x01, 0xff, 0x00, 0x01, 0x01, 0x00, 0xff, + 0xff, 0xfd, 0x00, 0x02, 0x01, 0x00, 0xff, 0xff, 0xff, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xff, 0x00, 0x01, 0xff, 0xfe, + 0xff, 0xff, 0xff, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xfe, 0xff, 0x01, 0x01, 0xff, 0xfe, 0xff, + 0x00, 0x01, 0x00, 0xff, 0x00, 0xfe, 0xfe, 0x01, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x01, 0x00, 0xfe, 0xfe, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xff, 0xff, 0xff, 0x00, 0xff, 0xfe, 0xfe, 0x01, 0x01, 0x00, + 0x00, 0xff, 0xfe, 0xfe, 0x00, 0x01, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x01, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x01, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x01, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0xff, 0x00, 0x00, 0x00, 0x01, 0x01, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x02, 0x01, 0xff, 0xff, 0xfe, 0xfe, 0x00, + 0x01, 0x00, 0x00, 0x00, 0xfe, 0xff, 0x00, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x00, 0x01, 0x01, 0x00, 0xff, 0xff, 0xfe, 0xfe, 0x00, + 0xfe, 0xfe, 0xff, 0xff, 0x00, 0x00, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xfe, 0xff, 0x00, 0x00, 0xff, 0xff, 0xfe, 0xfd, + 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x01, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xfe, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0xff, + 0x01, 0x00, 0xfe, 0x00, 0x00, 0xff, 0x00, 0x00, 0x01, 0x01, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xfe, 0xff, 0x00, 0x00, 0x01, + 0x01, 0x00, 0xff, 0xfe, 0xfe, 0xff, 0x00, 0x01, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x00, 0x00, 0xff, 0xfe, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xfe, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x01, 0xff, + 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x01, 0x00, 0xfe, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xfe, 0xff, 0x00, 0xff, 0xff, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x01, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, + 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xff, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x01, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, + 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, + 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, + 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, + 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, + 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, + 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, +}; + +static const unsigned char RIM_2608[3042] = { + 0x52, 0x49, 0x46, 0x46, 0x90, 0x17, 0x00, 0x00, 0x57, 0x41, 0x56, 0x45, 0x66, 0x6d, 0x74, 0x20, 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x01, 0x00, 0x44, 0xac, 0x00, 0x00, 0x88, 0x58, 0x01, 0x00, 0x02, 0x00, 0x10, 0x00, 0x66, 0x61, 0x63, 0x74, 0x04, 0x00, 0x00, 0x00, + 0x0b, 0x00, 0x61, 0x61, 0x17, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x04, 0x01, 0xfb, 0xf5, 0xf3, 0xfe, 0x12, 0x1f, 0x0f, + 0xf0, 0xd9, 0xe1, 0xf6, 0x1c, 0x48, 0x63, 0x44, 0x08, 0xef, 0x0a, 0x3e, 0x5f, 0x5e, 0x4d, 0x40, 0x3f, 0x36, 0x2a, 0x10, 0xdc, 0xa0, + 0x80, 0x85, 0x94, 0xa4, 0xaf, 0xb6, 0xb7, 0xba, 0xc2, 0xd1, 0xf2, 0x19, 0x34, 0x2d, 0x1c, 0x09, 0xf8, 0xf5, 0x06, 0x23, 0x37, 0x48, + 0x49, 0x33, 0x0b, 0xed, 0xdb, 0xca, 0xad, 0x9e, 0xb1, 0xd5, 0x0a, 0x39, 0x4c, 0x3e, 0x2e, 0x34, 0x49, 0x56, 0x4f, 0x36, 0x1f, 0xfb, + 0xd3, 0xb6, 0x97, 0x8d, 0x9b, 0xb5, 0xd1, 0xe6, 0xe6, 0xc0, 0xb4, 0xd7, 0x0c, 0x30, 0x21, 0xf5, 0xdd, 0xe1, 0xe9, 0xe3, 0xdf, 0xea, + 0x02, 0x12, 0x03, 0xdf, 0xc6, 0xcc, 0xe6, 0xf1, 0xe8, 0xec, 0x01, 0x1a, 0x1e, 0x19, 0x0e, 0x0e, 0x25, 0x41, 0x4d, 0x41, 0x2f, 0x19, + 0x05, 0xf7, 0xe5, 0xda, 0xda, 0xe3, 0xe4, 0xee, 0x08, 0x21, 0x1a, 0xfe, 0xf1, 0x02, 0x1e, 0x2c, 0x28, 0x1d, 0x12, 0x0c, 0x17, 0x2f, + 0x3c, 0x27, 0x0d, 0x04, 0x0f, 0x15, 0x11, 0x00, 0xea, 0xdd, 0xdf, 0xeb, 0xfc, 0x13, 0x29, 0x38, 0x40, 0x41, 0x39, 0x2a, 0x1c, 0x16, + 0x17, 0x1b, 0x19, 0x11, 0x09, 0x06, 0x00, 0xf7, 0xf1, 0xf5, 0xfb, 0xfc, 0xf9, 0xf3, 0xe7, 0xd8, 0xd9, 0xe6, 0xfa, 0x0c, 0x1c, 0x1a, + 0x06, 0xf3, 0xf0, 0xfb, 0x08, 0x13, 0x17, 0x18, 0x16, 0x13, 0x08, 0xfa, 0xfa, 0x07, 0x15, 0x19, 0x14, 0x0f, 0x11, 0x18, 0x18, 0x14, + 0x16, 0x22, 0x2e, 0x31, 0x29, 0x24, 0x22, 0x1f, 0x17, 0x0b, 0xfc, 0xf0, 0xf0, 0xed, 0xe7, 0xe6, 0xf5, 0x02, 0xff, 0xf1, 0xe9, 0xf1, + 0x03, 0x16, 0x14, 0x02, 0xf1, 0xec, 0xe7, 0xdd, 0xd4, 0xd9, 0xee, 0x03, 0x08, 0xfd, 0xed, 0xe2, 0xe1, 0xe6, 0xea, 0xe7, 0xe5, 0xe5, + 0xe7, 0xec, 0xf6, 0x01, 0x04, 0x00, 0xfa, 0xf5, 0xf0, 0xea, 0xe1, 0xd7, 0xd5, 0xdd, 0xe6, 0xe9, 0xe8, 0xe7, 0xeb, 0xf1, 0xf9, 0x01, + 0x06, 0xfd, 0xeb, 0xdc, 0xd4, 0xd3, 0xda, 0xe4, 0xed, 0xf1, 0xf2, 0xf3, 0xf6, 0xef, 0xe2, 0xde, 0xe5, 0xf0, 0xf7, 0xfb, 0xfc, 0xf9, + 0xf5, 0xf9, 0x04, 0x0e, 0x0c, 0x04, 0xfa, 0xf3, 0xf2, 0xf7, 0xfd, 0x04, 0x04, 0xff, 0xf9, 0xf5, 0xf1, 0xec, 0xe5, 0xe6, 0xf0, 0x01, + 0x10, 0x15, 0x0e, 0x02, 0xfc, 0x00, 0x06, 0x04, 0xfd, 0xf5, 0xef, 0xf0, 0xf7, 0x04, 0x16, 0x21, 0x20, 0x16, 0x0a, 0x04, 0x01, 0xff, + 0xfc, 0xfb, 0xfe, 0x01, 0x08, 0x0c, 0x09, 0x01, 0xfa, 0xf7, 0xfb, 0x04, 0x0c, 0x0e, 0x0d, 0x0e, 0x12, 0x16, 0x13, 0x0a, 0xff, 0xf6, + 0xf5, 0xf8, 0xfd, 0x02, 0x03, 0x03, 0x04, 0x02, 0xfd, 0xff, 0x0a, 0x15, 0x1b, 0x1b, 0x1a, 0x16, 0x14, 0x14, 0x18, 0x18, 0x16, 0x12, + 0x0c, 0x04, 0xfb, 0xf7, 0xfa, 0x03, 0x0d, 0x17, 0x1b, 0x17, 0x0f, 0x06, 0x02, 0x05, 0x0d, 0x12, 0x10, 0x07, 0xfd, 0xf7, 0xf7, 0xfb, + 0x02, 0x0d, 0x18, 0x1e, 0x1e, 0x1c, 0x1b, 0x1c, 0x1b, 0x19, 0x15, 0x10, 0x08, 0x00, 0xfe, 0x01, 0x05, 0x07, 0x08, 0x08, 0x08, 0x05, + 0x05, 0x06, 0x07, 0x07, 0x05, 0x01, 0x00, 0x02, 0x03, 0x02, 0x00, 0xfe, 0xfc, 0xf9, 0xf3, 0xf0, 0xed, 0xec, 0xec, 0xef, 0xf1, 0xf0, + 0xef, 0xec, 0xe5, 0xe0, 0xe1, 0xe6, 0xec, 0xf0, 0xf2, 0xf2, 0xf2, 0xf1, 0xf0, 0xed, 0xef, 0xf5, 0xfd, 0x03, 0x08, 0x0b, 0x0b, 0x0a, + 0x0c, 0x10, 0x14, 0x12, 0x0d, 0x06, 0xfb, 0xef, 0xe6, 0xe1, 0xdd, 0xde, 0xde, 0xdb, 0xdb, 0xdc, 0xde, 0xe0, 0xe4, 0xe9, 0xef, 0xf7, + 0xfa, 0xfc, 0xff, 0x00, 0xfa, 0xf2, 0xef, 0xee, 0xef, 0xf1, 0xf4, 0xf8, 0xfc, 0xfe, 0xfb, 0xf6, 0xf3, 0xf4, 0xf9, 0x00, 0x06, 0x07, + 0x05, 0x04, 0x03, 0x03, 0x01, 0xfd, 0xf8, 0xf5, 0xf2, 0xef, 0xee, 0xf0, 0xf4, 0xf7, 0xfa, 0xfb, 0xf8, 0xf5, 0xf5, 0xf9, 0xfe, 0x00, + 0x01, 0x00, 0x00, 0xfe, 0xf9, 0xf6, 0xf9, 0x01, 0x06, 0x03, 0xfa, 0xf3, 0xf3, 0xf7, 0xf8, 0xf9, 0xfc, 0x00, 0x01, 0x02, 0x05, 0x0a, + 0x0d, 0x0e, 0x0d, 0x0a, 0x04, 0xfd, 0xf8, 0xf6, 0xf6, 0xf7, 0xfc, 0x02, 0x07, 0x07, 0x06, 0x04, 0x03, 0x05, 0x05, 0x03, 0x01, 0x01, + 0x01, 0x00, 0xfe, 0xfd, 0xfc, 0xfc, 0x01, 0x06, 0x0b, 0x0e, 0x12, 0x10, 0x09, 0x06, 0x0a, 0x13, 0x1c, 0x1c, 0x1b, 0x1d, 0x1e, 0x19, + 0x10, 0x0c, 0x0a, 0x0b, 0x09, 0x00, 0xfb, 0xf9, 0xf8, 0xf8, 0xfd, 0x02, 0x03, 0x04, 0x04, 0x04, 0x08, 0x0a, 0x0b, 0x0c, 0x0c, 0x0f, + 0x0f, 0x0a, 0x04, 0x05, 0x08, 0x05, 0x01, 0x00, 0x03, 0x06, 0x05, 0x02, 0x01, 0x02, 0x00, 0xfe, 0x02, 0x07, 0x0b, 0x0a, 0x0a, 0x05, + 0x03, 0x06, 0x07, 0x04, 0x01, 0x05, 0x04, 0x01, 0xfd, 0xfe, 0xfb, 0xf6, 0xf6, 0xfb, 0x02, 0x08, 0x09, 0x09, 0x08, 0x05, 0x02, 0x01, + 0x01, 0x01, 0x05, 0x07, 0x08, 0x0b, 0x0c, 0x0a, 0x06, 0x07, 0x08, 0x0a, 0x0b, 0x0d, 0x0e, 0x0c, 0x06, 0x01, 0xfc, 0xfa, 0xf7, 0xf7, + 0xf8, 0xf7, 0xf7, 0xf8, 0xf8, 0xf8, 0xfb, 0x00, 0x02, 0x02, 0x00, 0xfd, 0xfb, 0xfd, 0xfb, 0xf4, 0xf1, 0xf2, 0xf3, 0xef, 0xed, 0xef, + 0xf1, 0xf0, 0xf0, 0xef, 0xee, 0xed, 0xee, 0xee, 0xec, 0xee, 0xf0, 0xf1, 0xf4, 0xfa, 0xfe, 0x00, 0x01, 0x01, 0x02, 0x04, 0x08, 0x0c, + 0x0b, 0x03, 0xfc, 0xfb, 0x01, 0x06, 0x07, 0x06, 0x04, 0x00, 0xfa, 0xf5, 0xf3, 0xf3, 0xf6, 0xf7, 0xf6, 0xf1, 0xec, 0xee, 0xee, 0xed, + 0xec, 0xed, 0xee, 0xf1, 0xf7, 0xfb, 0xfa, 0xf6, 0xf3, 0xf2, 0xf3, 0xf7, 0xfe, 0xff, 0xff, 0x00, 0x04, 0x07, 0x06, 0x06, 0x08, 0x0b, + 0x0c, 0x0e, 0x0e, 0x0c, 0x08, 0x01, 0xfc, 0xfa, 0xfa, 0xf8, 0xf3, 0xf1, 0xf4, 0xfa, 0x00, 0x01, 0xfe, 0xfa, 0xf9, 0xf7, 0xf9, 0xfc, + 0xfc, 0x00, 0x03, 0x03, 0xff, 0x00, 0x04, 0x07, 0x08, 0x04, 0x02, 0x05, 0x0b, 0x0b, 0x0a, 0x0e, 0x10, 0x10, 0x0d, 0x09, 0x06, 0x07, + 0x0b, 0x0f, 0x11, 0x11, 0x0d, 0x0d, 0x0f, 0x0d, 0x0d, 0x0e, 0x0d, 0x0b, 0x07, 0x02, 0xff, 0x01, 0x01, 0x01, 0x01, 0x02, 0x01, 0xfe, + 0xfd, 0xfe, 0x03, 0x08, 0x09, 0x05, 0x02, 0x03, 0x06, 0x06, 0x04, 0x03, 0x01, 0x02, 0x03, 0x07, 0x07, 0x06, 0x08, 0x0c, 0x0e, 0x0b, + 0x08, 0x08, 0x0b, 0x0c, 0x0c, 0x0b, 0x09, 0x07, 0x07, 0x04, 0xff, 0xfd, 0xfb, 0xf8, 0xf5, 0xf6, 0xf9, 0xfb, 0xf9, 0xf7, 0xf5, 0xf4, + 0xf3, 0xf8, 0xfa, 0xf9, 0xf7, 0xf9, 0xff, 0x03, 0x02, 0x01, 0x00, 0xfe, 0xfe, 0xff, 0x02, 0x07, 0x0b, 0x0a, 0x07, 0x04, 0x01, 0xfe, + 0xfe, 0xfe, 0xfc, 0xfb, 0x00, 0x06, 0x08, 0x06, 0x04, 0x04, 0x03, 0xfe, 0xfa, 0xf8, 0xfa, 0xfa, 0xf8, 0xf5, 0xf6, 0xf5, 0xf5, 0xf5, + 0xf6, 0xf6, 0xf6, 0xf9, 0xfd, 0x02, 0x06, 0x06, 0x04, 0x02, 0x02, 0x05, 0x03, 0xff, 0xfe, 0xfd, 0xfd, 0xfc, 0xfb, 0xfa, 0xfd, 0x01, + 0x01, 0xff, 0xff, 0xfe, 0xfb, 0xf8, 0xf7, 0xf6, 0xf8, 0xfb, 0xfc, 0xfc, 0xfb, 0xfa, 0xf8, 0xf9, 0xfa, 0xf8, 0xf6, 0xf6, 0xf8, 0xf8, + 0xf8, 0xf9, 0xfb, 0xfc, 0xfb, 0xfb, 0xfc, 0xff, 0x00, 0x00, 0x01, 0xfd, 0xf7, 0xf4, 0xf3, 0xf3, 0xf3, 0xf5, 0xf5, 0xf4, 0xf3, 0xf7, + 0xf9, 0xfb, 0xfb, 0xf7, 0xf4, 0xf7, 0xfe, 0x01, 0x01, 0xff, 0x00, 0xfd, 0xfc, 0xfd, 0xfc, 0xf9, 0xf8, 0xfc, 0x00, 0x02, 0x02, 0x01, + 0x00, 0x01, 0x03, 0x05, 0x05, 0x03, 0x01, 0xfe, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xfe, 0xff, 0x00, 0x02, 0x07, 0x0b, 0x0c, 0x0c, 0x0e, + 0x0c, 0x07, 0x04, 0x03, 0x03, 0x03, 0x05, 0x05, 0x05, 0x05, 0x03, 0xfe, 0xfa, 0xf9, 0xfc, 0x00, 0x00, 0xfd, 0xfa, 0xfa, 0xfd, 0xfe, + 0xfb, 0xfa, 0xfb, 0xfb, 0xfb, 0xfd, 0x02, 0x06, 0x09, 0x09, 0x06, 0x03, 0x01, 0x02, 0x04, 0x07, 0x07, 0x04, 0xfe, 0xf9, 0xf7, 0xf7, + 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfb, 0xfc, 0xfc, 0xfd, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x02, 0x05, 0x06, 0x05, 0x05, 0x06, 0x06, 0x06, + 0x08, 0x0b, 0x0b, 0x07, 0x03, 0xff, 0xfc, 0xf9, 0xfa, 0xfd, 0x01, 0x04, 0x04, 0x04, 0x05, 0x07, 0x0a, 0x0a, 0x08, 0x07, 0x08, 0x0a, + 0x0a, 0x06, 0x04, 0x02, 0x04, 0x06, 0x04, 0x04, 0x07, 0x0a, 0x09, 0x08, 0x06, 0x05, 0x07, 0x08, 0x06, 0x02, 0x01, 0x02, 0x02, 0x05, + 0x07, 0x04, 0xfb, 0xf5, 0xf4, 0xf6, 0xf6, 0xf5, 0xf4, 0xf5, 0xf6, 0xf7, 0xf9, 0xfa, 0xf9, 0xf8, 0xf9, 0xfc, 0x00, 0x03, 0x05, 0x06, + 0x07, 0x08, 0x07, 0x02, 0xff, 0xfe, 0xff, 0x00, 0x00, 0x00, 0xfd, 0xfd, 0x01, 0x04, 0xff, 0xf8, 0xf7, 0xf9, 0xfc, 0xfe, 0xfe, 0xfb, + 0xfb, 0xff, 0x03, 0x01, 0xfd, 0xfc, 0xfd, 0xfd, 0xfd, 0xff, 0xfc, 0xfa, 0xf9, 0xfb, 0xfa, 0xf7, 0xf6, 0xf7, 0xf7, 0xf7, 0xf9, 0xfc, + 0xff, 0x02, 0x02, 0x00, 0xff, 0x00, 0x03, 0x06, 0x06, 0x05, 0x05, 0x06, 0x08, 0x0a, 0x08, 0x05, 0x04, 0x03, 0xfe, 0xf8, 0xf7, 0xf8, + 0xf9, 0xfa, 0xfb, 0xf9, 0xf7, 0xf8, 0xfa, 0xfc, 0xfc, 0xfc, 0xfa, 0xf8, 0xfa, 0xfe, 0x00, 0x02, 0x03, 0x02, 0x01, 0x02, 0x01, 0xfe, + 0xfd, 0xfc, 0xfa, 0xf8, 0xf8, 0xf5, 0xf4, 0xf5, 0xf8, 0xf5, 0xf5, 0xf9, 0xfd, 0xfc, 0xfb, 0xfa, 0xfa, 0xfa, 0xfb, 0xfd, 0xff, 0xff, + 0xfd, 0xfa, 0xfc, 0xfd, 0xfc, 0xfd, 0x00, 0x01, 0xfe, 0xff, 0x02, 0x03, 0x00, 0xfc, 0xfb, 0xff, 0x02, 0x01, 0xfe, 0xfe, 0x02, 0x06, + 0x08, 0x09, 0x07, 0x05, 0x06, 0x0a, 0x0d, 0x10, 0x11, 0x0e, 0x0b, 0x0a, 0x09, 0x06, 0x05, 0x04, 0x04, 0x03, 0x03, 0x05, 0x06, 0x04, + 0x02, 0xff, 0x01, 0x02, 0x00, 0xff, 0x03, 0x08, 0x0a, 0x0b, 0x09, 0x06, 0x04, 0x03, 0x02, 0x04, 0x09, 0x0b, 0x08, 0x03, 0x00, 0x00, + 0x02, 0x04, 0x06, 0x07, 0x07, 0x07, 0x06, 0x06, 0x05, 0x05, 0x03, 0x00, 0xfd, 0xfe, 0xfe, 0xfb, 0xf8, 0xf7, 0xf7, 0xf8, 0xf9, 0xf9, + 0xfa, 0xfd, 0xfd, 0xfa, 0xfa, 0xfc, 0xfd, 0xfd, 0xfe, 0xfc, 0xf7, 0xf5, 0xfa, 0xff, 0xff, 0xfd, 0xfa, 0xf9, 0xf9, 0xf8, 0xf9, 0xfa, + 0xfa, 0xf8, 0xf6, 0xf6, 0xf9, 0xfd, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x03, 0x06, 0x05, 0x00, 0xfe, 0x00, 0x01, 0xff, 0xfb, 0xf9, + 0xfa, 0xfb, 0xfe, 0x01, 0x03, 0x04, 0x05, 0x05, 0x06, 0x04, 0x00, 0xfa, 0xfa, 0xfb, 0xfe, 0x01, 0x02, 0x03, 0x02, 0xff, 0xfc, 0xfc, + 0xff, 0x03, 0x04, 0x01, 0xfe, 0xfb, 0xfb, 0xfa, 0xfa, 0xfb, 0xfc, 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xfb, 0xf9, 0xf9, 0xf9, 0xf9, 0xfa, + 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xfa, 0xfb, 0xff, 0x05, 0x08, 0x05, 0xff, 0xfa, 0xf8, 0xfa, 0x00, 0x05, + 0x06, 0x03, 0x01, 0x01, 0x03, 0x06, 0x07, 0x06, 0x05, 0x06, 0x07, 0x08, 0x08, 0x09, 0x09, 0x08, 0x07, 0x06, 0x02, 0xff, 0xfe, 0xff, + 0x01, 0x02, 0x03, 0x03, 0x04, 0x03, 0x02, 0x02, 0x02, 0x03, 0x05, 0x06, 0x06, 0x04, 0x01, 0x01, 0x02, 0x03, 0x03, 0x02, 0x00, 0xfe, + 0xfd, 0x00, 0x05, 0x0a, 0x0a, 0x07, 0x04, 0x04, 0x05, 0x06, 0x06, 0x03, 0x00, 0xff, 0x00, 0xff, 0x00, 0x02, 0x05, 0x03, 0xff, 0xfe, + 0xfe, 0xfd, 0xfc, 0xfb, 0xf9, 0xfa, 0xfa, 0xf7, 0xf5, 0xf6, 0xf7, 0xf8, 0xf8, 0xf9, 0xfc, 0xff, 0x00, 0x00, 0xff, 0xfd, 0xfa, 0xfa, + 0xf9, 0xfb, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0xff, 0xfc, 0xfb, 0xfa, 0xf9, 0xfa, 0xfd, 0x00, 0x02, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x02, 0xff, 0xfd, 0xfb, 0xfb, 0xfa, 0xfa, 0xfb, 0xfc, 0xfb, 0xfa, 0xf9, 0xf9, 0xfc, 0xfc, 0xfc, 0xfc, + 0xfb, 0xfb, 0xfc, 0xff, 0x01, 0x02, 0x02, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0xff, 0xfd, 0xfc, 0xfd, 0xff, 0xff, 0xfe, 0xff, 0x02, + 0x03, 0x04, 0x03, 0x00, 0xfe, 0xff, 0x02, 0x05, 0x05, 0x03, 0x01, 0x00, 0x01, 0x02, 0x03, 0x03, 0x02, 0x00, 0xfc, 0xfb, 0xfd, 0x00, + 0x02, 0x03, 0x02, 0x00, 0xfd, 0xfb, 0xfb, 0xfc, 0xfe, 0x00, 0x02, 0x02, 0x00, 0x00, 0x01, 0x02, 0x03, 0x03, 0xff, 0xfd, 0xfc, 0xfd, + 0xfc, 0xfb, 0xfd, 0x01, 0x03, 0x02, 0x03, 0x04, 0x06, 0x06, 0x03, 0xfe, 0xfb, 0xfd, 0x01, 0x03, 0x01, 0x01, 0x01, 0x02, 0x03, 0x04, + 0x03, 0x00, 0xfb, 0xfc, 0xff, 0x01, 0x00, 0xfe, 0xfd, 0xfe, 0x03, 0x05, 0x03, 0xff, 0xfe, 0xfd, 0xfc, 0xfc, 0xfd, 0xff, 0x00, 0x00, + 0xff, 0xff, 0x01, 0xfe, 0xfb, 0xfa, 0xfc, 0xff, 0x01, 0x01, 0x01, 0xfe, 0xfc, 0xfb, 0xfd, 0xff, 0xfd, 0xfc, 0xfe, 0x00, 0x01, 0x00, + 0x00, 0x01, 0x00, 0x00, 0x01, 0x03, 0x04, 0x03, 0x01, 0x00, 0x00, 0x01, 0x00, 0xfe, 0xfc, 0xfc, 0xfe, 0x00, 0x00, 0xff, 0xfe, 0xfd, + 0xfe, 0x00, 0x03, 0x02, 0xff, 0xfc, 0xfc, 0xfc, 0xfa, 0xfb, 0xfe, 0x01, 0x02, 0x02, 0x02, 0x01, 0x01, 0x02, 0x03, 0x03, 0x01, 0x01, + 0x02, 0x03, 0x02, 0x00, 0xff, 0xff, 0xff, 0x00, 0x01, 0x03, 0x02, 0x00, 0xfe, 0xfe, 0xfd, 0xfc, 0xfb, 0xfd, 0x00, 0x03, 0x04, 0x04, + 0x03, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0xfe, 0xfb, 0xfa, 0xf9, 0xfa, 0xfb, 0xfd, 0xfe, 0xff, 0x00, 0x01, 0x00, + 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0x02, 0x04, 0x04, 0x02, 0x02, 0x03, 0x02, 0xff, 0xfc, 0xfb, 0xfd, 0x00, 0x02, 0x03, 0x03, 0x03, 0x03, + 0x02, 0xff, 0xff, 0x01, 0x02, 0x02, 0x03, 0x03, 0x01, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xf9, 0xfb, 0xfe, 0x00, 0x01, 0xff, 0xfd, 0xfc, + 0xfb, 0xf8, 0xf8, 0xf9, 0xfb, 0xfc, 0xfd, 0xfe, 0x00, 0x02, 0x04, 0x05, 0x04, 0x01, 0xff, 0xff, 0xfe, 0x00, 0x03, 0x07, 0x07, 0x04, + 0xff, 0xfc, 0xfd, 0xff, 0x00, 0xfd, 0xf9, 0xf8, 0xfa, 0xfd, 0xff, 0xfe, 0xfe, 0xfe, 0xfd, 0xfd, 0xfe, 0x01, 0x03, 0x01, 0xff, 0x00, + 0x02, 0x00, 0xfe, 0xfd, 0xfe, 0x01, 0x04, 0x03, 0x00, 0xfd, 0xfd, 0x01, 0x01, 0x01, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x03, 0x03, 0x03, 0x02, 0x01, 0x02, 0x01, 0xff, 0xfc, 0xfc, 0xff, 0xff, 0xfe, 0xff, 0x03, 0x02, 0x00, 0xfe, 0x00, 0x01, 0x01, + 0xff, 0xfe, 0xfe, 0xfe, 0xfd, 0xfb, 0xfc, 0xfd, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x01, 0x01, 0x01, 0x02, 0x03, 0x02, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x03, 0x03, 0x02, 0x00, 0xff, 0xfe, 0x00, 0x02, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xfe, 0xff, + 0x00, 0xff, 0x00, 0x02, 0x02, 0x00, 0xfe, 0xfe, 0x00, 0x02, 0x02, 0x00, 0xff, 0x00, 0x00, 0xfd, 0xfb, 0xfa, 0xfb, 0xfe, 0x00, 0x01, + 0x01, 0x00, 0xfe, 0xfc, 0xfb, 0xfe, 0x00, 0xfe, 0xfd, 0xfe, 0x01, 0x02, 0x01, 0x00, 0xff, 0xfe, 0xff, 0x00, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x00, 0x00, 0x02, 0x05, 0x06, 0x04, 0x01, 0xff, 0x00, 0x03, 0x05, 0x03, 0x00, 0xff, 0x00, 0xff, 0xfd, 0xfe, 0xff, 0xff, 0xff, + 0xfe, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0x01, 0x02, 0x03, 0x03, 0x01, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0x01, + 0x02, 0x02, 0x02, 0x03, 0x01, 0xff, 0x00, 0x01, 0x00, 0xff, 0x00, 0x01, 0x02, 0x01, 0xfe, 0xfc, 0xfc, 0xfd, 0xfe, 0xff, 0xfe, 0xfe, + 0xfd, 0xfd, 0xfd, 0xfe, 0xfe, 0xfd, 0xfb, 0xfb, 0xfc, 0xfe, 0xff, 0x02, 0x03, 0x01, 0xff, 0xff, 0xfe, 0xfc, 0xfa, 0xf9, 0xf9, 0xfc, + 0xfd, 0xff, 0xff, 0xfd, 0xfc, 0xfd, 0x00, 0x01, 0x01, 0xff, 0xfe, 0xfe, 0x00, 0x01, 0x02, 0x01, 0x01, 0x03, 0x02, 0x00, 0xfe, 0xfe, + 0xff, 0x01, 0x03, 0x03, 0x00, 0xff, 0xff, 0x00, 0x00, 0x01, 0x01, 0xff, 0xfe, 0xfd, 0xfc, 0xfa, 0xfa, 0xfe, 0x00, 0x01, 0x01, 0x00, + 0xfe, 0xff, 0x02, 0x05, 0x05, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0x00, 0x03, 0x02, 0x00, 0xff, 0x00, 0x02, 0x03, 0x02, + 0x01, 0xff, 0xfe, 0xfe, 0x00, 0x01, 0x02, 0x01, 0x01, 0x03, 0x03, 0x03, 0x03, 0x02, 0x01, 0x01, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, + 0x02, 0x01, 0x01, 0x00, 0x00, 0xff, 0xfd, 0xfd, 0xfe, 0xfe, 0xfe, 0xfe, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfe, 0xfe, 0xfe, 0xff, 0xfe, + 0xff, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0x00, 0xff, 0xfe, 0xff, 0xff, 0xfe, 0xfd, 0xfd, + 0xfd, 0xfd, 0xfd, 0xfe, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, + 0x00, 0x01, 0x02, 0x01, 0xff, 0xfe, 0xff, 0xff, 0xfe, 0xfd, 0xfe, 0x00, 0x01, 0x00, 0xff, 0x00, 0x01, 0x02, 0x02, 0x01, 0x00, 0x01, + 0x01, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xff, 0x00, 0xff, 0xfe, 0x00, 0x01, 0x01, 0xff, 0xff, 0xff, 0x01, 0x02, 0x01, 0x00, 0xff, 0x00, + 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xfe, + 0xff, 0xff, 0x01, 0x02, 0x02, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x02, 0x03, 0x03, 0x01, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xfd, 0xfd, 0xfe, 0xff, 0x00, 0x01, 0xff, 0xff, 0xff, 0x00, 0x02, 0x02, 0x01, 0xff, 0xfe, 0xfe, 0x00, 0x01, 0x02, + 0x02, 0x00, 0xff, 0xfe, 0xff, 0x00, 0x00, 0xfe, 0xfb, 0xfb, 0xfe, 0x01, 0x01, 0xff, 0xfe, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x01, 0x02, 0x02, 0x00, 0xff, 0xfe, 0xfe, 0xfc, 0xfc, 0xfc, 0xfd, 0xfd, 0xfc, 0xfd, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x01, 0x01, 0x01, 0xff, 0xff, 0xfe, 0xfd, 0xfc, 0xfd, 0xfe, 0xff, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x00, 0xfe, 0xfd, 0xfd, 0xfe, 0xfe, 0xfe, 0xff, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfe, + 0xfe, 0x00, 0x01, 0x00, 0xff, 0xfe, 0xff, 0x01, 0x01, 0x02, 0x03, 0x02, 0x00, 0xfe, 0xfe, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0x00, 0x01, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x00, + 0xff, 0xff, 0x00, 0x01, 0x01, 0xff, 0xfe, 0xfe, 0x00, 0x00, 0xff, 0xfd, 0xfc, 0xfb, 0xfc, 0xff, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xfe, 0xfd, 0xfe, 0xff, + 0x00, 0xff, 0xff, 0xfe, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xfe, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xfe, 0xfe, 0xff, 0x00, 0x01, 0x02, 0x02, 0x02, 0x01, 0x01, 0x00, + 0xff, 0xfe, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x01, + 0x02, 0x02, 0x01, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, 0x02, 0x01, 0xff, 0xfd, 0xfd, 0xfe, 0xff, 0x00, 0x00, 0xff, + 0xfe, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x01, 0x00, + 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x00, 0xff, 0xff, 0x00, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0x01, 0x01, 0x00, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x02, 0x01, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xfe, 0xff, 0x00, 0x00, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; + +static const unsigned char SD_2608[10674] = { + 0x52, 0x49, 0x46, 0x46, 0x30, 0x53, 0x00, 0x00, 0x57, 0x41, 0x56, 0x45, 0x66, 0x6d, 0x74, 0x20, 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x01, 0x00, 0x44, 0xac, 0x00, 0x00, 0x88, 0x58, 0x01, 0x00, 0x02, 0x00, 0x10, 0x00, 0x66, 0x61, 0x63, 0x74, 0x04, 0x00, 0x00, 0x00, + 0x29, 0x00, 0x61, 0x61, 0x53, 0x00, 0xfe, 0xfe, 0xfd, 0x01, 0x0a, 0x14, 0x1f, 0x26, 0x26, 0x26, 0x24, 0x21, 0x1e, 0x1c, 0x1a, 0x19, + 0x18, 0x18, 0x18, 0x18, 0x1a, 0x1a, 0x19, 0x19, 0x17, 0x15, 0x14, 0x14, 0x12, 0x11, 0x12, 0x0c, 0x0b, 0x0b, 0x07, 0xfc, 0xf8, 0xfb, + 0xf9, 0xee, 0xed, 0xfe, 0x11, 0x0a, 0xf3, 0xe7, 0xff, 0x14, 0x0a, 0xfe, 0xf0, 0xee, 0xf6, 0xf7, 0xf1, 0xf3, 0x07, 0x0b, 0x05, 0xff, + 0xf3, 0xf1, 0xf5, 0xf9, 0xf8, 0xfd, 0x11, 0x2e, 0x4d, 0x64, 0x6b, 0x60, 0x3d, 0x0f, 0xe8, 0xbd, 0xa4, 0xaa, 0xce, 0xfb, 0x23, 0x42, + 0x5a, 0x6b, 0x6d, 0x5b, 0x3d, 0x1f, 0x07, 0xf0, 0xdd, 0xcc, 0xbc, 0xaf, 0xa6, 0x9f, 0x98, 0xa0, 0xaa, 0xad, 0xb4, 0xb7, 0xb9, 0xbb, + 0xbc, 0xb7, 0xaf, 0xad, 0xad, 0xb2, 0xb8, 0xb5, 0xb2, 0xb3, 0xbc, 0xcc, 0xd7, 0xd8, 0xd3, 0xcb, 0xc7, 0xca, 0xd2, 0xdb, 0xde, 0xdd, + 0xd9, 0xdd, 0xe8, 0xf0, 0xf6, 0xf7, 0xf4, 0xf1, 0xf1, 0xf3, 0xf5, 0xf6, 0xf5, 0xf1, 0xf4, 0xf5, 0xf1, 0xea, 0xe6, 0xdf, 0xdd, 0xe7, + 0xf3, 0xf7, 0xf4, 0xf4, 0xec, 0xe0, 0xd9, 0xd5, 0xd5, 0xdb, 0xe5, 0xed, 0xf4, 0xfc, 0x03, 0xfa, 0xe7, 0xd4, 0xc3, 0xb2, 0xa6, 0xa7, + 0xaf, 0xbc, 0xcd, 0xe3, 0xfb, 0x0e, 0x16, 0x13, 0x06, 0xf6, 0xe4, 0xd2, 0xc0, 0xb0, 0xa5, 0x9e, 0xa1, 0xb0, 0xca, 0xe2, 0xf4, 0x03, + 0x0c, 0x0e, 0x0b, 0x0e, 0x0e, 0x09, 0x07, 0xfd, 0xfa, 0xfc, 0xf6, 0xe6, 0xe2, 0xf4, 0xfb, 0x00, 0x0b, 0x19, 0x22, 0x23, 0x22, 0x2c, + 0x31, 0x31, 0x34, 0x37, 0x3d, 0x47, 0x52, 0x5a, 0x61, 0x6a, 0x6d, 0x70, 0x75, 0x7b, 0x7c, 0x7a, 0x77, 0x71, 0x6f, 0x70, 0x72, 0x77, + 0x7b, 0x7c, 0x7e, 0x7e, 0x7e, 0x7d, 0x7b, 0x77, 0x72, 0x6d, 0x67, 0x62, 0x60, 0x5e, 0x5e, 0x5d, 0x5a, 0x57, 0x53, 0x4f, 0x4b, 0x46, + 0x41, 0x3b, 0x36, 0x38, 0x38, 0x33, 0x30, 0x34, 0x3a, 0x3b, 0x3d, 0x3c, 0x39, 0x35, 0x30, 0x2c, 0x28, 0x22, 0x23, 0x27, 0x24, 0x27, + 0x2b, 0x2b, 0x25, 0x2b, 0x33, 0x32, 0x2e, 0x2b, 0x2a, 0x27, 0x26, 0x26, 0x24, 0x25, 0x24, 0x26, 0x2d, 0x2a, 0x25, 0x22, 0x1e, 0x1c, + 0x1e, 0x22, 0x23, 0x22, 0x1f, 0x1b, 0x16, 0x11, 0x0e, 0x0b, 0x08, 0x06, 0x04, 0x01, 0xfc, 0xf6, 0xf2, 0xee, 0xeb, 0xe7, 0xe3, 0xdd, + 0xd8, 0xd4, 0xd1, 0xcd, 0xc8, 0xc4, 0xbe, 0xbb, 0xba, 0xbb, 0xb9, 0xb9, 0xb9, 0xb4, 0xb2, 0xb2, 0xb2, 0xb4, 0xb5, 0xb4, 0xb2, 0xad, + 0xa7, 0xa1, 0x99, 0x95, 0x95, 0x98, 0x9c, 0x9f, 0xa2, 0xa4, 0xa3, 0xa1, 0x9d, 0x97, 0x91, 0x8a, 0x84, 0x83, 0x85, 0x87, 0x8b, 0x8f, + 0x94, 0x99, 0x9e, 0x9e, 0x99, 0x92, 0x8b, 0x85, 0x81, 0x80, 0x82, 0x87, 0x89, 0x8b, 0x8c, 0x8e, 0x92, 0x90, 0x8f, 0x92, 0x94, 0x93, + 0x93, 0x9a, 0x9b, 0x9b, 0x9c, 0x98, 0x9d, 0xa0, 0xa0, 0xa5, 0xb1, 0xbc, 0xc1, 0xc4, 0xca, 0xd3, 0xdd, 0xe2, 0xe1, 0xdf, 0xd9, 0xd5, + 0xd4, 0xd5, 0xd2, 0xd1, 0xd8, 0xe5, 0xf3, 0xfe, 0x05, 0x0b, 0x0e, 0x10, 0x13, 0x17, 0x1c, 0x21, 0x25, 0x2d, 0x36, 0x3e, 0x49, 0x4d, + 0x4a, 0x44, 0x46, 0x49, 0x47, 0x4c, 0x4f, 0x50, 0x53, 0x57, 0x5a, 0x5d, 0x61, 0x60, 0x59, 0x53, 0x53, 0x5a, 0x64, 0x68, 0x63, 0x59, + 0x52, 0x4e, 0x4e, 0x52, 0x55, 0x52, 0x4c, 0x4a, 0x4d, 0x51, 0x50, 0x4b, 0x44, 0x43, 0x45, 0x44, 0x3d, 0x37, 0x32, 0x2d, 0x2b, 0x31, + 0x3a, 0x3d, 0x42, 0x46, 0x46, 0x3e, 0x3c, 0x44, 0x4a, 0x48, 0x40, 0x38, 0x38, 0x40, 0x48, 0x48, 0x46, 0x46, 0x48, 0x4c, 0x4d, 0x51, + 0x5a, 0x60, 0x5e, 0x57, 0x54, 0x56, 0x5b, 0x5c, 0x51, 0x47, 0x41, 0x3f, 0x46, 0x4f, 0x53, 0x4d, 0x48, 0x45, 0x46, 0x47, 0x4d, 0x4e, + 0x47, 0x3f, 0x42, 0x49, 0x49, 0x3c, 0x28, 0x1e, 0x26, 0x2b, 0x25, 0x1c, 0x16, 0x13, 0x14, 0x15, 0x15, 0x16, 0x17, 0x0f, 0x09, 0x04, + 0xfd, 0xfa, 0xfb, 0xf9, 0xef, 0xe1, 0xd5, 0xd6, 0xde, 0xe5, 0xdf, 0xce, 0xb8, 0xae, 0xb4, 0xbf, 0xc3, 0xc5, 0xc8, 0xc1, 0xb8, 0xb2, + 0xb2, 0xb2, 0xb0, 0xac, 0xa8, 0xa7, 0xa8, 0xab, 0xb1, 0xc0, 0xca, 0xbd, 0xad, 0xa4, 0xa6, 0xb0, 0xbb, 0xbe, 0xb7, 0xb2, 0xb1, 0xb4, + 0xbb, 0xb8, 0xad, 0xa2, 0x9f, 0xa4, 0xb1, 0xbf, 0xbd, 0xb4, 0xad, 0xae, 0xb6, 0xc1, 0xc7, 0xc3, 0xb8, 0xae, 0xab, 0xb5, 0xc6, 0xd4, + 0xdf, 0xd7, 0xcb, 0xca, 0xd4, 0xd9, 0xd7, 0xd3, 0xc7, 0xbd, 0xbc, 0xc2, 0xc5, 0xc6, 0xc7, 0xc6, 0xc4, 0xc2, 0xc6, 0xc6, 0xcb, 0xd2, + 0xd1, 0xd2, 0xd5, 0xd8, 0xd0, 0xcc, 0xd1, 0xdb, 0xe2, 0xe7, 0xea, 0xdf, 0xd4, 0xce, 0xcb, 0xc7, 0xc8, 0xcf, 0xd9, 0xe8, 0xf3, 0xf6, + 0xf0, 0xef, 0xf1, 0xee, 0xeb, 0xeb, 0xef, 0xf1, 0xf0, 0xed, 0xea, 0xeb, 0xf4, 0xff, 0x05, 0x01, 0xff, 0xff, 0xf5, 0xfe, 0x13, 0x25, + 0x31, 0x31, 0x24, 0x13, 0x0f, 0x1a, 0x28, 0x2b, 0x22, 0x1b, 0x21, 0x2e, 0x37, 0x38, 0x34, 0x3c, 0x4a, 0x51, 0x4a, 0x38, 0x2e, 0x37, + 0x42, 0x4b, 0x55, 0x62, 0x59, 0x46, 0x39, 0x37, 0x3e, 0x48, 0x4e, 0x49, 0x3e, 0x33, 0x2a, 0x2d, 0x38, 0x44, 0x46, 0x4c, 0x53, 0x4f, + 0x46, 0x3b, 0x34, 0x33, 0x38, 0x3f, 0x45, 0x49, 0x45, 0x3a, 0x33, 0x35, 0x3e, 0x47, 0x49, 0x40, 0x36, 0x34, 0x33, 0x2f, 0x2c, 0x2e, + 0x36, 0x39, 0x33, 0x27, 0x24, 0x2c, 0x2f, 0x29, 0x1d, 0x15, 0x1c, 0x23, 0x22, 0x1c, 0x1c, 0x26, 0x31, 0x34, 0x22, 0x11, 0x0a, 0x03, + 0x00, 0x05, 0x0c, 0x0e, 0x07, 0x02, 0x08, 0x1a, 0x25, 0x23, 0x18, 0x0e, 0x0a, 0x08, 0x05, 0x06, 0x0b, 0x0c, 0x0a, 0x05, 0xff, 0xf7, + 0xf0, 0xec, 0xe9, 0xee, 0xf3, 0xf6, 0xfd, 0x02, 0x05, 0x08, 0x0b, 0x06, 0xfe, 0xfb, 0xf7, 0xf6, 0xf2, 0xed, 0xe7, 0xe8, 0xf0, 0xfa, + 0xfe, 0xfe, 0xff, 0xfe, 0xfb, 0xfa, 0x00, 0x03, 0xff, 0xf5, 0xe5, 0xe2, 0xe7, 0xe5, 0xe2, 0xe6, 0xef, 0xed, 0xeb, 0xea, 0xec, 0xec, + 0xf1, 0xf5, 0xf4, 0xef, 0xe5, 0xd7, 0xcc, 0xc4, 0xc3, 0xcb, 0xda, 0xd9, 0xcb, 0xc3, 0xbc, 0xb7, 0xb4, 0xb5, 0xb3, 0xb4, 0xbe, 0xb7, + 0xb7, 0xc4, 0xd2, 0xca, 0xc2, 0xc7, 0xbf, 0xb8, 0xb4, 0xb2, 0xaf, 0xb3, 0xb8, 0xb4, 0xb9, 0xc2, 0xc6, 0xc0, 0xbb, 0xbb, 0xba, 0xb8, + 0xb8, 0xb7, 0xaf, 0xac, 0xaf, 0xb3, 0xbb, 0xbc, 0xba, 0xbd, 0xca, 0xd1, 0xd2, 0xdb, 0xe5, 0xee, 0xf1, 0xee, 0xe5, 0xde, 0xe2, 0xe6, + 0xe5, 0xde, 0xd8, 0xdc, 0xe8, 0xf2, 0xee, 0xe3, 0xdb, 0xdf, 0xe6, 0xf8, 0x10, 0x1c, 0x18, 0x0a, 0x00, 0x06, 0x11, 0x16, 0x14, 0x16, + 0x1a, 0x1a, 0x14, 0x12, 0x10, 0x0a, 0x04, 0x04, 0x0c, 0x15, 0x1a, 0x1a, 0x19, 0x1d, 0x20, 0x22, 0x27, 0x2a, 0x24, 0x1b, 0x22, 0x2c, + 0x31, 0x30, 0x35, 0x34, 0x2c, 0x25, 0x16, 0x0c, 0x14, 0x30, 0x3a, 0x33, 0x2a, 0x25, 0x24, 0x26, 0x2a, 0x29, 0x2a, 0x2b, 0x25, 0x1c, + 0x1a, 0x26, 0x2e, 0x34, 0x37, 0x36, 0x3b, 0x44, 0x46, 0x3a, 0x2c, 0x22, 0x20, 0x23, 0x20, 0x18, 0x16, 0x19, 0x1e, 0x25, 0x2f, 0x3a, + 0x40, 0x3d, 0x3c, 0x42, 0x49, 0x46, 0x3f, 0x3a, 0x3b, 0x40, 0x3f, 0x32, 0x1f, 0x15, 0x11, 0x0e, 0x0d, 0x13, 0x1d, 0x28, 0x2d, 0x33, + 0x3c, 0x49, 0x46, 0x3c, 0x33, 0x2c, 0x25, 0x24, 0x29, 0x28, 0x1f, 0x12, 0x0c, 0x0f, 0x19, 0x22, 0x26, 0x22, 0x1e, 0x1d, 0x1b, 0x14, + 0x07, 0xfc, 0xfe, 0x08, 0x15, 0x20, 0x26, 0x21, 0x14, 0x0e, 0x10, 0x16, 0x1b, 0x14, 0x07, 0xf9, 0xe7, 0xe1, 0xe7, 0xf1, 0xf7, 0xfd, + 0x03, 0x08, 0x05, 0xfc, 0xf5, 0xf0, 0xf1, 0xf1, 0xe9, 0xdb, 0xd5, 0xd7, 0xcf, 0xd0, 0xd8, 0xe2, 0xf0, 0xfa, 0xf7, 0xe7, 0xe4, 0xe6, + 0xe5, 0xdf, 0xdb, 0xd9, 0xd6, 0xd2, 0xce, 0xcd, 0xcd, 0xd5, 0xdc, 0xdd, 0xd8, 0xdc, 0xe1, 0xd8, 0xd8, 0xd8, 0xd7, 0xdc, 0xdc, 0xd4, + 0xc7, 0xbb, 0xb4, 0xb5, 0xbe, 0xc4, 0xc3, 0xbd, 0xba, 0xc2, 0xd0, 0xd7, 0xd0, 0xc6, 0xbd, 0xb5, 0xb7, 0xc2, 0xce, 0xd3, 0xc5, 0xb2, + 0xaa, 0xb5, 0xc0, 0xbf, 0xb8, 0xb0, 0xab, 0xa7, 0xa5, 0xae, 0xbc, 0xc7, 0xcf, 0xd3, 0xd2, 0xcb, 0xc9, 0xcb, 0xd0, 0xd4, 0xd3, 0xcf, + 0xcd, 0xd3, 0xd6, 0xd1, 0xcf, 0xcd, 0xd1, 0xda, 0xe1, 0xe8, 0xef, 0xf5, 0xf7, 0xf8, 0xfb, 0xfc, 0x01, 0x01, 0xf8, 0xea, 0xec, 0xf9, + 0x04, 0x07, 0x01, 0xf8, 0xf6, 0xfb, 0x06, 0x10, 0x15, 0x10, 0x0b, 0x12, 0x15, 0x16, 0x14, 0x0f, 0x08, 0x0a, 0x17, 0x1b, 0x19, 0x1c, + 0x28, 0x34, 0x32, 0x23, 0x19, 0x1b, 0x22, 0x21, 0x27, 0x29, 0x29, 0x2c, 0x35, 0x36, 0x2e, 0x2b, 0x2c, 0x35, 0x41, 0x41, 0x35, 0x28, + 0x26, 0x28, 0x32, 0x41, 0x43, 0x48, 0x4f, 0x50, 0x46, 0x3a, 0x32, 0x2a, 0x25, 0x2c, 0x3d, 0x44, 0x44, 0x3d, 0x36, 0x36, 0x3e, 0x47, + 0x45, 0x43, 0x3c, 0x2d, 0x2d, 0x2a, 0x25, 0x29, 0x32, 0x38, 0x3a, 0x35, 0x35, 0x31, 0x1f, 0x0e, 0x08, 0x11, 0x21, 0x2a, 0x26, 0x1d, + 0x24, 0x2b, 0x2a, 0x21, 0x16, 0x11, 0x15, 0x1d, 0x1e, 0x17, 0x0f, 0x0a, 0x10, 0x1d, 0x29, 0x28, 0x22, 0x1d, 0x17, 0x17, 0x1d, 0x24, + 0x17, 0x0e, 0x0d, 0x0a, 0x0b, 0x14, 0x1d, 0x17, 0x0e, 0x07, 0x04, 0x15, 0x1d, 0x18, 0x13, 0x0b, 0xfe, 0xf1, 0xf0, 0xff, 0x0e, 0x0d, + 0x01, 0xfc, 0xfc, 0xf3, 0xea, 0xe8, 0xee, 0xf2, 0xf8, 0xfa, 0xf0, 0xdf, 0xd0, 0xcb, 0xd4, 0xe9, 0xf8, 0xf5, 0xe8, 0xde, 0xda, 0xdb, + 0xd2, 0xcd, 0xd1, 0xd1, 0xcd, 0xcc, 0xcf, 0xcb, 0xca, 0xcd, 0xcf, 0xd8, 0xde, 0xdb, 0xd4, 0xcb, 0xbd, 0xae, 0xb7, 0xc3, 0xca, 0xcd, + 0xd1, 0xd1, 0xcb, 0xc8, 0xca, 0xcd, 0xcd, 0xc9, 0xc7, 0xca, 0xca, 0xc8, 0xc6, 0xc8, 0xcd, 0xca, 0xc8, 0xd0, 0xd8, 0xdb, 0xd9, 0xd8, + 0xd3, 0xce, 0xcc, 0xcb, 0xcd, 0xd2, 0xd7, 0xd6, 0xca, 0xbe, 0xc8, 0xd8, 0xe0, 0xdb, 0xd0, 0xcc, 0xd1, 0xd6, 0xd8, 0xd2, 0xca, 0xcd, + 0xd5, 0xe1, 0xef, 0xf9, 0xf7, 0xee, 0xe9, 0xec, 0xf3, 0xf6, 0xf1, 0xf0, 0xf0, 0xec, 0xe5, 0xe4, 0xea, 0xf2, 0xfc, 0x02, 0x01, 0xfb, + 0xf9, 0xf9, 0xf8, 0xfa, 0x04, 0x0d, 0x08, 0x01, 0xff, 0x03, 0x0e, 0x18, 0x1a, 0x15, 0x12, 0x13, 0x15, 0x13, 0x08, 0x06, 0x14, 0x1e, + 0x1e, 0x19, 0x15, 0x1a, 0x1c, 0x1a, 0x1c, 0x2b, 0x39, 0x39, 0x38, 0x37, 0x32, 0x2a, 0x29, 0x32, 0x3f, 0x42, 0x38, 0x32, 0x3b, 0x43, + 0x40, 0x33, 0x26, 0x2b, 0x3c, 0x4c, 0x51, 0x4f, 0x4a, 0x45, 0x42, 0x40, 0x3c, 0x39, 0x2a, 0x25, 0x30, 0x37, 0x36, 0x33, 0x3a, 0x35, + 0x38, 0x41, 0x42, 0x38, 0x2b, 0x25, 0x24, 0x28, 0x2d, 0x30, 0x2d, 0x1f, 0x10, 0x15, 0x21, 0x2b, 0x2e, 0x27, 0x1e, 0x18, 0x13, 0x05, + 0x01, 0x0d, 0x18, 0x1e, 0x1e, 0x18, 0x09, 0x05, 0x0a, 0x0a, 0x08, 0x01, 0xfa, 0xf4, 0xfc, 0x09, 0x0c, 0x08, 0x04, 0x04, 0x02, 0x01, + 0xfe, 0xf9, 0xf5, 0xfb, 0x08, 0x13, 0x15, 0x06, 0xf0, 0xe2, 0xe6, 0xf1, 0xf8, 0xf5, 0xf1, 0xef, 0xec, 0xef, 0xf1, 0xf1, 0xf5, 0x03, + 0x0c, 0x03, 0xf1, 0xe5, 0xe7, 0xee, 0xf1, 0xeb, 0xe4, 0xe6, 0xf0, 0xf3, 0xeb, 0xe9, 0xf0, 0xf9, 0xfa, 0xfc, 0xfc, 0xf3, 0xde, 0xd3, + 0xd6, 0xdf, 0xe3, 0xe4, 0xe6, 0xe9, 0xf4, 0xfa, 0xf5, 0xee, 0xeb, 0xec, 0xef, 0xf4, 0xf8, 0xf4, 0xe6, 0xdc, 0xdc, 0xe3, 0xeb, 0xee, + 0xe7, 0xd8, 0xd3, 0xd4, 0xd5, 0xd7, 0xd4, 0xd1, 0xcf, 0xd1, 0xd0, 0xd5, 0xe6, 0xe9, 0xdb, 0xca, 0xc9, 0xd0, 0xdd, 0xe7, 0xde, 0xcd, + 0xc3, 0xc7, 0xd0, 0xd9, 0xdf, 0xe2, 0xe2, 0xe2, 0xdf, 0xd4, 0xcf, 0xd6, 0xe5, 0xe6, 0xdc, 0xd5, 0xd7, 0xdc, 0xdc, 0xd5, 0xd4, 0xd5, + 0xd6, 0xdb, 0xe5, 0xf3, 0xff, 0x02, 0xfc, 0xf4, 0xf0, 0xef, 0xe8, 0xdf, 0xe3, 0xe1, 0xe0, 0xe5, 0xf4, 0x00, 0x01, 0xfa, 0x00, 0x05, + 0x02, 0xfc, 0xf7, 0xf3, 0xf2, 0x05, 0x11, 0x0e, 0x09, 0xfb, 0xf9, 0x09, 0x14, 0x0f, 0x08, 0x0d, 0x0e, 0x13, 0x1a, 0x18, 0x1a, 0x1a, + 0x13, 0x10, 0x15, 0x19, 0x15, 0x0c, 0x07, 0x0c, 0x16, 0x26, 0x32, 0x32, 0x29, 0x1e, 0x15, 0x13, 0x16, 0x1d, 0x22, 0x23, 0x20, 0x1b, + 0x18, 0x1c, 0x25, 0x2c, 0x2a, 0x27, 0x1f, 0x17, 0x15, 0x1a, 0x1d, 0x1f, 0x26, 0x2b, 0x2a, 0x27, 0x1b, 0x17, 0x21, 0x28, 0x23, 0x1d, + 0x20, 0x1e, 0x1b, 0x15, 0x0d, 0x05, 0x05, 0x0c, 0x10, 0x15, 0x1c, 0x24, 0x23, 0x1d, 0x16, 0x0e, 0x0e, 0x13, 0x16, 0x0d, 0x0c, 0x11, + 0x17, 0x1d, 0x28, 0x2f, 0x29, 0x1d, 0x18, 0x18, 0x13, 0x0b, 0x08, 0x0e, 0x1c, 0x1d, 0x13, 0x16, 0x13, 0x10, 0x0d, 0x0d, 0x06, 0x02, + 0x09, 0x0c, 0x11, 0x16, 0x16, 0x1a, 0x1e, 0x1c, 0x16, 0x10, 0x0c, 0x06, 0x07, 0x05, 0xff, 0x02, 0x03, 0x07, 0x0f, 0x18, 0x19, 0x13, + 0x0b, 0x05, 0xff, 0xfc, 0xff, 0x06, 0x08, 0x00, 0xf9, 0xfc, 0x08, 0x14, 0x0e, 0x01, 0xfb, 0xf7, 0xf4, 0xf3, 0xf6, 0xfb, 0xff, 0xfd, + 0xf7, 0xfa, 0xff, 0xfe, 0x00, 0xff, 0xfa, 0xf4, 0xf1, 0xef, 0xee, 0xef, 0xed, 0xe5, 0xdb, 0xe4, 0xf5, 0xfd, 0xf3, 0xe9, 0xe5, 0xe4, + 0xe1, 0xe1, 0xe1, 0xe2, 0xe8, 0xeb, 0xe6, 0xdc, 0xd8, 0xd2, 0xc8, 0xc7, 0xcd, 0xd6, 0xdb, 0xe0, 0xdf, 0xd9, 0xda, 0xd5, 0xd1, 0xd2, + 0xd2, 0xcf, 0xd0, 0xdb, 0xe2, 0xe2, 0xdd, 0xd5, 0xd6, 0xdc, 0xdf, 0xe3, 0xe4, 0xe1, 0xdc, 0xd9, 0xd9, 0xdf, 0xe5, 0xe9, 0xe8, 0xe6, + 0xe3, 0xe4, 0xe4, 0xdd, 0xda, 0xe2, 0xf2, 0xfe, 0xff, 0xf2, 0xdd, 0xd3, 0xda, 0xe9, 0xf5, 0xf8, 0xfb, 0xfd, 0xf0, 0xe6, 0xe6, 0xef, + 0xf7, 0xfa, 0xf8, 0xf6, 0xf9, 0xf9, 0xf5, 0x03, 0x05, 0x00, 0x05, 0x01, 0xfe, 0xfa, 0xee, 0xe3, 0xe2, 0xeb, 0xef, 0xf2, 0xf5, 0xf5, + 0xfb, 0x07, 0x14, 0x14, 0x12, 0x0e, 0x09, 0x08, 0x08, 0x08, 0x05, 0x04, 0x03, 0x02, 0x05, 0x0a, 0x0d, 0x0c, 0x0b, 0x10, 0x16, 0x18, + 0x16, 0x11, 0x0c, 0x09, 0x0a, 0x13, 0x23, 0x27, 0x22, 0x1d, 0x1d, 0x1b, 0x1a, 0x1d, 0x1a, 0x1e, 0x21, 0x1b, 0x17, 0x1b, 0x20, 0x17, + 0x14, 0x16, 0x1c, 0x29, 0x29, 0x1b, 0x0e, 0x16, 0x21, 0x26, 0x2d, 0x2a, 0x24, 0x23, 0x27, 0x28, 0x25, 0x27, 0x23, 0x1d, 0x17, 0x14, + 0x13, 0x16, 0x1c, 0x27, 0x2c, 0x26, 0x1a, 0x1b, 0x1e, 0x1b, 0x1b, 0x1b, 0x20, 0x27, 0x1d, 0x10, 0x12, 0x2c, 0x2f, 0x24, 0x1d, 0x18, + 0x0d, 0x07, 0x0f, 0x17, 0x16, 0x0f, 0x0e, 0x11, 0x1b, 0x24, 0x1d, 0x13, 0x0f, 0x10, 0x13, 0x10, 0x06, 0xff, 0xff, 0x08, 0x11, 0x0e, + 0x06, 0x04, 0x0e, 0x0e, 0x08, 0x02, 0xff, 0x00, 0x03, 0x06, 0x0a, 0x06, 0xf9, 0xf0, 0xee, 0xf2, 0xf8, 0xf7, 0xf6, 0xf8, 0xfe, 0x03, + 0x04, 0x02, 0xfe, 0xf5, 0xef, 0xf1, 0xef, 0xf0, 0xf3, 0xf4, 0xe8, 0xe1, 0xe3, 0xe6, 0xea, 0xec, 0xea, 0xe1, 0xdf, 0xe2, 0xe2, 0xda, + 0xd9, 0xe1, 0xe7, 0xe5, 0xe4, 0xec, 0xf0, 0xef, 0xed, 0xef, 0xee, 0xea, 0xe9, 0xed, 0xe8, 0xde, 0xd6, 0xd6, 0xd2, 0xd0, 0xde, 0xe6, + 0xea, 0xeb, 0xeb, 0xe8, 0xe8, 0xeb, 0xe3, 0xde, 0xe0, 0xe4, 0xe6, 0xe3, 0xda, 0xd0, 0xcf, 0xd7, 0xe0, 0xe4, 0xe3, 0xe2, 0xe0, 0xe0, + 0xdb, 0xd6, 0xd7, 0xdf, 0xe7, 0xe8, 0xe8, 0xea, 0xee, 0xf0, 0xea, 0xe1, 0xdc, 0xd7, 0xdc, 0xe6, 0xec, 0xe9, 0xe3, 0xdf, 0xdc, 0xd7, + 0xd6, 0xde, 0xe9, 0xee, 0xed, 0xed, 0xf5, 0xf7, 0xed, 0xe3, 0xda, 0xdc, 0xe9, 0xf1, 0xf7, 0xfc, 0xfc, 0xfa, 0xfd, 0x03, 0x00, 0xfc, + 0xf9, 0xf9, 0xfa, 0xfd, 0x01, 0x03, 0x07, 0x08, 0x07, 0x06, 0x05, 0x06, 0x0a, 0x0e, 0x13, 0x16, 0x14, 0x0f, 0x0f, 0x17, 0x1c, 0x1f, + 0x1d, 0x10, 0x00, 0xf9, 0xfe, 0x0e, 0x1d, 0x25, 0x27, 0x27, 0x25, 0x23, 0x1f, 0x24, 0x28, 0x23, 0x19, 0x0d, 0x05, 0x08, 0x14, 0x27, + 0x36, 0x38, 0x33, 0x2c, 0x24, 0x1e, 0x1d, 0x1f, 0x1f, 0x21, 0x1f, 0x1d, 0x20, 0x2a, 0x30, 0x2b, 0x24, 0x1f, 0x1c, 0x18, 0x1d, 0x21, + 0x20, 0x1e, 0x1c, 0x1f, 0x27, 0x2e, 0x29, 0x1f, 0x1b, 0x1a, 0x18, 0x15, 0x12, 0x17, 0x1b, 0x18, 0x13, 0x19, 0x1e, 0x13, 0x16, 0x1d, + 0x1d, 0x16, 0x12, 0x11, 0x0e, 0x0c, 0x09, 0x08, 0x0b, 0x0f, 0x10, 0x0c, 0x04, 0x03, 0x0b, 0x15, 0x18, 0x10, 0x07, 0x05, 0x09, 0x0f, + 0x15, 0x19, 0x16, 0x0d, 0x05, 0xfd, 0xf8, 0xf9, 0xfe, 0xf8, 0xf4, 0xfa, 0x03, 0x08, 0x08, 0x07, 0xfe, 0xf8, 0xf6, 0xf2, 0xf4, 0xf9, + 0xfb, 0xed, 0xea, 0xf4, 0xfa, 0xfa, 0xf5, 0xf1, 0xf0, 0xed, 0xea, 0xe9, 0xf1, 0xf1, 0xeb, 0xe5, 0xe2, 0xe1, 0xe2, 0xe8, 0xea, 0xe6, + 0xdf, 0xd7, 0xda, 0xe3, 0xe9, 0xe7, 0xe4, 0xe5, 0xe6, 0xe3, 0xe2, 0xe7, 0xef, 0xed, 0xe4, 0xdf, 0xdc, 0xda, 0xdc, 0xe6, 0xeb, 0xe8, + 0xdf, 0xda, 0xdb, 0xe1, 0xea, 0xe8, 0xe1, 0xde, 0xe5, 0xe4, 0xdd, 0xdb, 0xe1, 0xe3, 0xdf, 0xe2, 0xe4, 0xe6, 0xe7, 0xe4, 0xe2, 0xe2, + 0xe5, 0xe6, 0xe8, 0xed, 0xed, 0xea, 0xe6, 0xe4, 0xe1, 0xe0, 0xe5, 0xf1, 0xf7, 0xf5, 0xf0, 0xeb, 0xe3, 0xe0, 0xe5, 0xf3, 0xf9, 0xf6, + 0xf3, 0xf3, 0xf3, 0xf2, 0xf1, 0xf0, 0xf1, 0xf9, 0xfd, 0xfc, 0xf9, 0xf4, 0xf5, 0xfa, 0xfd, 0xfd, 0xfd, 0x01, 0x0a, 0x17, 0x1c, 0x18, + 0x13, 0x0a, 0x02, 0xfe, 0xf9, 0xfc, 0x08, 0x14, 0x16, 0x14, 0x12, 0x11, 0x10, 0x10, 0x10, 0x0c, 0x08, 0x08, 0x0d, 0x16, 0x20, 0x22, + 0x13, 0x0b, 0x0c, 0x0f, 0x14, 0x19, 0x1a, 0x10, 0x03, 0xfc, 0x03, 0x1b, 0x26, 0x20, 0x19, 0x14, 0x13, 0x15, 0x18, 0x1f, 0x23, 0x21, + 0x18, 0x17, 0x1c, 0x1a, 0x1a, 0x1d, 0x1d, 0x15, 0x10, 0x11, 0x17, 0x21, 0x22, 0x1d, 0x1f, 0x28, 0x2b, 0x23, 0x17, 0x13, 0x16, 0x1a, + 0x1d, 0x1c, 0x17, 0x12, 0x0d, 0x08, 0x09, 0x15, 0x26, 0x2a, 0x1e, 0x11, 0x12, 0x1b, 0x1b, 0x1c, 0x1a, 0x15, 0x0e, 0x04, 0xf9, 0xf3, + 0xfd, 0x0d, 0x17, 0x17, 0x0e, 0x04, 0x04, 0x0d, 0x0e, 0x08, 0x05, 0x01, 0xfa, 0xf3, 0xf4, 0xf8, 0xff, 0x06, 0x05, 0xfb, 0xf1, 0xf1, + 0xf3, 0xf7, 0xfa, 0xf9, 0xf7, 0xf8, 0xfe, 0xfb, 0xf8, 0xfb, 0xff, 0xfc, 0xfa, 0xfc, 0xf7, 0xf1, 0xef, 0xf5, 0xfc, 0x03, 0x04, 0xfb, + 0xf6, 0xf4, 0xf0, 0xe6, 0xe1, 0xe6, 0xf1, 0xf7, 0xf6, 0xf4, 0xfa, 0x02, 0x07, 0x05, 0xfd, 0xf5, 0xf2, 0xf5, 0xf3, 0xee, 0xe8, 0xe2, + 0xe0, 0xe4, 0xea, 0xec, 0xf2, 0xf9, 0xf8, 0xf0, 0xe9, 0xea, 0xf1, 0xf7, 0xf6, 0xf0, 0xe5, 0xdf, 0xde, 0xde, 0xe0, 0xea, 0xf6, 0xf7, + 0xf0, 0xe4, 0xdc, 0xd8, 0xde, 0xe7, 0xec, 0xef, 0xf2, 0xf7, 0xfa, 0xfe, 0xff, 0xfc, 0xf4, 0xee, 0xed, 0xf2, 0xf5, 0xf8, 0xfa, 0xf9, + 0xfa, 0xfa, 0xfb, 0xf7, 0xfa, 0x00, 0xfe, 0xf6, 0xed, 0xe5, 0xe7, 0xe8, 0xec, 0xfa, 0x03, 0xfd, 0xf1, 0xf2, 0xf2, 0xf5, 0xfd, 0xfe, + 0xfb, 0xf5, 0xf0, 0xf0, 0xf9, 0x04, 0x09, 0xfe, 0xeb, 0xe2, 0xe8, 0xf4, 0xfd, 0x03, 0x01, 0xfd, 0xfb, 0x04, 0x06, 0x00, 0xfc, 0xfe, + 0x01, 0xff, 0xfd, 0xfa, 0xf8, 0xf6, 0xf8, 0xf9, 0xfc, 0x03, 0x02, 0xff, 0xff, 0x04, 0x07, 0x0f, 0x1a, 0x1b, 0x0f, 0x02, 0xfe, 0x07, + 0x0e, 0x0e, 0x0f, 0x10, 0x0f, 0x0b, 0x11, 0x17, 0x1a, 0x1b, 0x17, 0x10, 0x09, 0x0a, 0x10, 0x18, 0x1c, 0x16, 0x0e, 0x07, 0x04, 0xfe, + 0xf9, 0xfa, 0x02, 0x0c, 0x18, 0x23, 0x25, 0x1f, 0x13, 0x06, 0x05, 0x0c, 0x11, 0x0f, 0x0c, 0x06, 0xfe, 0xfb, 0x01, 0x0d, 0x18, 0x18, + 0x11, 0x0a, 0x00, 0x00, 0x05, 0x05, 0x03, 0x0b, 0x1a, 0x21, 0x23, 0x1b, 0x0a, 0xfe, 0xfc, 0xfe, 0xfe, 0x03, 0x08, 0x08, 0x01, 0xfe, + 0x02, 0x0c, 0x19, 0x1c, 0x14, 0x09, 0x01, 0xfe, 0xfd, 0x01, 0x05, 0x0b, 0x12, 0x15, 0x12, 0x0f, 0x0e, 0x0b, 0x09, 0x0b, 0x06, 0x03, + 0xff, 0xf9, 0xff, 0x05, 0x09, 0x0f, 0x0f, 0x0b, 0x02, 0xf5, 0xef, 0xf3, 0xfc, 0x01, 0x05, 0x08, 0x03, 0x04, 0x07, 0x07, 0x00, 0xfe, + 0xff, 0xfa, 0xf8, 0xfc, 0x04, 0x05, 0x03, 0x03, 0x04, 0xfe, 0xf5, 0xef, 0xf2, 0xf5, 0xf8, 0xfd, 0x01, 0xfc, 0xf4, 0xf2, 0xf5, 0xfa, + 0xfc, 0xfa, 0xf4, 0xf5, 0xfb, 0x00, 0xfd, 0xf7, 0xf4, 0xf2, 0xf0, 0xf0, 0xf3, 0xfb, 0x00, 0xfc, 0xfb, 0xf5, 0xf0, 0xf2, 0xf9, 0xfc, + 0xf8, 0xf7, 0xf2, 0xef, 0xf0, 0xf0, 0xee, 0xed, 0xeb, 0xe4, 0xe0, 0xe1, 0xe6, 0xf0, 0xf9, 0xfd, 0xfb, 0xf5, 0xf0, 0xf2, 0xf8, 0xfa, + 0xf7, 0xf8, 0xf5, 0xf4, 0xf6, 0xf3, 0xed, 0xeb, 0xf5, 0xf3, 0xef, 0xf1, 0xf8, 0xf9, 0xf8, 0xfa, 0xfa, 0xfb, 0xfc, 0xfb, 0x00, 0x04, + 0x03, 0xfb, 0xf8, 0xfb, 0xfd, 0xfc, 0xfb, 0xfd, 0xfd, 0xff, 0x02, 0x04, 0x05, 0x06, 0x04, 0xfd, 0xfb, 0xfb, 0xf9, 0xf5, 0xfa, 0x02, + 0x02, 0xfe, 0xf9, 0xf3, 0xf0, 0xf8, 0x06, 0x0f, 0x12, 0x0c, 0x04, 0x01, 0xfe, 0xf9, 0xf6, 0xf6, 0xf6, 0xf6, 0xf4, 0xef, 0xf3, 0xfa, + 0xfd, 0x03, 0x07, 0x09, 0x04, 0x03, 0x00, 0xfa, 0xf9, 0xfe, 0x04, 0x04, 0x01, 0xfb, 0xf6, 0xf1, 0xf1, 0xf8, 0x02, 0x09, 0x09, 0x05, + 0x03, 0x03, 0x01, 0xff, 0x07, 0x0f, 0x0f, 0x08, 0x03, 0x04, 0x09, 0x0d, 0x06, 0xff, 0xff, 0x03, 0x03, 0x01, 0x02, 0x00, 0x04, 0x0d, + 0x14, 0x15, 0x12, 0x0e, 0x0a, 0x07, 0x08, 0x0a, 0x0f, 0x12, 0x11, 0x12, 0x11, 0x10, 0x0f, 0x0e, 0x0e, 0x0f, 0x0f, 0x0c, 0x0d, 0x11, + 0x15, 0x0f, 0x0b, 0x0f, 0x16, 0x14, 0x0b, 0x06, 0x09, 0x11, 0x16, 0x12, 0x0f, 0x0a, 0x02, 0x05, 0x0b, 0x11, 0x17, 0x1b, 0x17, 0x10, + 0x0f, 0x0b, 0x07, 0x05, 0x0c, 0x0d, 0x0a, 0x09, 0x07, 0x01, 0xfb, 0x00, 0x04, 0x09, 0x0e, 0x0a, 0x02, 0xfc, 0xfe, 0x04, 0x07, 0x00, + 0xf4, 0xf3, 0xf9, 0xfc, 0xfc, 0xfa, 0xf7, 0xf5, 0xf5, 0xf8, 0xfc, 0x01, 0xfe, 0xf9, 0xfb, 0xf5, 0xf3, 0xf6, 0xf8, 0xf3, 0xf1, 0xf5, + 0xf6, 0xf5, 0xf0, 0xe8, 0xeb, 0xf0, 0xf0, 0xed, 0xf0, 0xf9, 0x00, 0x03, 0xfe, 0xf7, 0xf7, 0xf5, 0xef, 0xeb, 0xf1, 0xf6, 0xf8, 0xfa, + 0xfd, 0xf9, 0xf2, 0xf1, 0xf2, 0xf6, 0xfb, 0xf8, 0xf4, 0xf5, 0xfb, 0x00, 0x06, 0x07, 0x00, 0xf8, 0xf4, 0xf6, 0x00, 0x03, 0xff, 0xf6, + 0xf2, 0xf3, 0xf8, 0x02, 0x04, 0x00, 0xfd, 0xfc, 0xf8, 0xf5, 0xf7, 0xfc, 0x00, 0xfd, 0xf7, 0xee, 0xed, 0xf4, 0xfa, 0xf8, 0xf4, 0xf7, + 0xf7, 0xf1, 0xeb, 0xf2, 0xfc, 0x02, 0xff, 0xf4, 0xef, 0xf1, 0xf5, 0xf9, 0xfd, 0x01, 0xff, 0xfb, 0xf6, 0xf0, 0xee, 0xee, 0xf3, 0xff, + 0x02, 0xff, 0xfa, 0xf2, 0xed, 0xef, 0xf7, 0xf9, 0xf9, 0xf8, 0xf5, 0xf6, 0xf8, 0xf8, 0xfa, 0xfc, 0x00, 0x02, 0x08, 0x06, 0xfd, 0xf8, + 0xf4, 0xf8, 0x00, 0x05, 0x02, 0xfc, 0xf9, 0xf4, 0xf9, 0x05, 0x09, 0x07, 0x08, 0x0e, 0x0d, 0x08, 0x02, 0xfd, 0x02, 0x07, 0x06, 0x06, + 0x06, 0x08, 0x0a, 0x0b, 0x08, 0x06, 0x0b, 0x0d, 0x10, 0x15, 0x14, 0x0d, 0x06, 0x05, 0x04, 0x08, 0x0c, 0x0a, 0x08, 0x09, 0x0c, 0x0e, + 0x12, 0x15, 0x11, 0x0a, 0x07, 0x0c, 0x15, 0x1a, 0x17, 0x0f, 0x0d, 0x0c, 0x09, 0x06, 0x05, 0x06, 0x09, 0x0e, 0x10, 0x0e, 0x0d, 0x0f, + 0x15, 0x1a, 0x1c, 0x12, 0x09, 0x07, 0x03, 0x07, 0x0f, 0x12, 0x09, 0x01, 0xff, 0x00, 0x06, 0x0e, 0x11, 0x10, 0x0f, 0x0f, 0x0d, 0x08, + 0x01, 0xfb, 0xfc, 0x02, 0x09, 0x0e, 0x0c, 0x08, 0x05, 0x04, 0xff, 0xf9, 0xf5, 0xf7, 0xfa, 0xff, 0x05, 0x07, 0xff, 0xf5, 0xf7, 0xf9, + 0xfc, 0xfc, 0xf8, 0xf1, 0xf1, 0xfb, 0xfd, 0xfc, 0xfa, 0xf9, 0xf9, 0xfa, 0xfb, 0xf9, 0xfa, 0xfc, 0xfa, 0xfa, 0xf7, 0xf1, 0xec, 0xee, + 0xf2, 0xf4, 0xf3, 0xf5, 0xf6, 0xf5, 0xfa, 0xfd, 0xfb, 0xf7, 0xf7, 0xf9, 0xfb, 0xfd, 0xfa, 0xf3, 0xef, 0xf2, 0xf9, 0xfb, 0xf7, 0xf2, + 0xf2, 0xf8, 0xfa, 0xf7, 0xf5, 0xf8, 0xfc, 0xfe, 0xfb, 0xf6, 0xf5, 0xf7, 0xf8, 0xf8, 0xf5, 0xf0, 0xf0, 0xf0, 0xf3, 0xf8, 0xfd, 0xfc, + 0xf4, 0xec, 0xee, 0xf9, 0x02, 0x02, 0x03, 0x03, 0x02, 0x01, 0x00, 0xfe, 0xfa, 0xf8, 0xf8, 0xf7, 0xf3, 0xef, 0xf0, 0xf5, 0xfb, 0xfd, + 0xfc, 0xfd, 0x02, 0x03, 0xfd, 0xf8, 0xf7, 0xfa, 0xff, 0x08, 0x08, 0x02, 0xfd, 0xfc, 0xfd, 0xff, 0xff, 0x00, 0x00, 0xfd, 0xfd, 0xfd, + 0xfd, 0xfe, 0xfd, 0xfc, 0xfd, 0xff, 0x03, 0x04, 0x02, 0x01, 0x01, 0xff, 0xf9, 0xf8, 0xfd, 0x04, 0x08, 0x07, 0x04, 0x02, 0x02, 0x03, + 0x02, 0xfd, 0xf8, 0xf6, 0xf8, 0xfc, 0x00, 0x02, 0x05, 0x0b, 0x0d, 0x08, 0x04, 0xfe, 0xfa, 0xfb, 0xfd, 0x01, 0x07, 0x0a, 0x08, 0x07, + 0x0a, 0x0c, 0x11, 0x12, 0x0a, 0x04, 0xff, 0xfd, 0xfe, 0x08, 0x0f, 0x0f, 0x0e, 0x0b, 0x0a, 0x0c, 0x0b, 0x07, 0x05, 0x06, 0x08, 0x0c, + 0x12, 0x10, 0x0f, 0x0c, 0x05, 0x01, 0x01, 0x04, 0x07, 0x07, 0x03, 0x01, 0x05, 0x0b, 0x0f, 0x0f, 0x0a, 0x08, 0x0a, 0x09, 0x07, 0x05, + 0x05, 0x03, 0x04, 0x04, 0x02, 0x05, 0x09, 0x08, 0x04, 0x04, 0x08, 0x0c, 0x0a, 0x07, 0x03, 0x00, 0xfd, 0xf9, 0xf7, 0xfb, 0xff, 0x00, + 0xff, 0xfd, 0xfb, 0xfb, 0x00, 0x04, 0x06, 0x07, 0x06, 0x04, 0x00, 0xfb, 0xf6, 0xf9, 0xfd, 0xfb, 0xf4, 0xed, 0xea, 0xed, 0xf4, 0xfc, + 0x04, 0x09, 0x04, 0xfc, 0xfa, 0xf6, 0xf3, 0xf4, 0xfc, 0xfd, 0xf8, 0xf4, 0xf3, 0xf7, 0xfd, 0xfe, 0xfc, 0xf8, 0xf6, 0xf8, 0xfd, 0x00, + 0xfe, 0xf9, 0xf5, 0xf2, 0xf3, 0xf3, 0xf5, 0xf9, 0xfb, 0xf9, 0xf8, 0xfc, 0xfb, 0xfd, 0x02, 0xff, 0xf6, 0xef, 0xf0, 0xf6, 0xfe, 0x04, + 0x05, 0x01, 0xfc, 0xfa, 0xfb, 0xf6, 0xf0, 0xf3, 0xfa, 0xff, 0x00, 0xfc, 0xfb, 0xfc, 0xfb, 0xfb, 0xfe, 0xff, 0xfc, 0xfa, 0xf8, 0xf7, + 0xfa, 0x00, 0x04, 0x02, 0xff, 0xfe, 0x00, 0x03, 0x06, 0x05, 0x02, 0xf9, 0xf6, 0xf7, 0xf7, 0xf7, 0xf7, 0xfc, 0x03, 0x06, 0x05, 0x00, + 0xfc, 0xfc, 0xff, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x01, 0x05, 0x05, 0x01, 0xfe, 0xff, 0x03, 0x06, 0x05, 0xfe, + 0xf9, 0xf7, 0xfb, 0x02, 0x07, 0x09, 0x08, 0x07, 0x03, 0xff, 0xfc, 0xff, 0x04, 0x08, 0x0a, 0x09, 0x04, 0x00, 0x01, 0x04, 0x06, 0x06, + 0x07, 0x04, 0x00, 0x00, 0x02, 0x05, 0x06, 0x02, 0x03, 0x08, 0x0c, 0x0b, 0x0a, 0x07, 0x01, 0x00, 0x01, 0x04, 0x0c, 0x10, 0x0d, 0x07, + 0x00, 0xfe, 0x01, 0x07, 0x03, 0xff, 0x00, 0x02, 0x04, 0x06, 0x08, 0x0a, 0x09, 0x06, 0x06, 0x04, 0x01, 0xfe, 0x00, 0x02, 0x05, 0x07, + 0x05, 0x01, 0xfc, 0xf6, 0xf4, 0xf7, 0xfd, 0x03, 0x05, 0x02, 0xfe, 0xfe, 0x03, 0x07, 0x06, 0x00, 0xfa, 0xf9, 0xfa, 0xf9, 0xf8, 0xf9, + 0xfe, 0x04, 0x06, 0x06, 0x04, 0x00, 0xfa, 0xf9, 0xfe, 0x04, 0x06, 0x06, 0x02, 0xf9, 0xf5, 0xf5, 0xf7, 0xfa, 0x00, 0x01, 0xfe, 0xfc, + 0xfb, 0xfc, 0x00, 0x04, 0x04, 0x01, 0x00, 0x00, 0x02, 0x03, 0x00, 0xfc, 0xfb, 0xfe, 0xfd, 0xfd, 0xfe, 0xfd, 0xfe, 0xfc, 0xfa, 0xfb, + 0xfd, 0xff, 0xff, 0x01, 0x04, 0x04, 0xff, 0xfe, 0xfe, 0xfb, 0xf6, 0xf8, 0xfe, 0x02, 0x04, 0x04, 0x02, 0xfb, 0xf6, 0xf5, 0xf7, 0xfa, + 0xfd, 0x00, 0x04, 0x03, 0xfd, 0xf6, 0xf3, 0xf4, 0xf7, 0xfa, 0xfd, 0xfd, 0xfa, 0xf7, 0xf7, 0xfd, 0x04, 0x04, 0x01, 0xfb, 0xf7, 0xf6, + 0xfa, 0xff, 0xff, 0x04, 0x07, 0x06, 0x02, 0xfe, 0xfb, 0xf8, 0xf8, 0xfb, 0xfd, 0xfb, 0xf8, 0xfd, 0x07, 0x07, 0x03, 0x02, 0x04, 0x00, + 0xfc, 0xfb, 0xfd, 0xfc, 0xfa, 0xfa, 0xfc, 0x00, 0x06, 0x0a, 0x06, 0xff, 0xfb, 0xfe, 0x02, 0x06, 0x07, 0x06, 0x03, 0x01, 0x03, 0x04, + 0x03, 0x02, 0x00, 0x02, 0x02, 0xff, 0x01, 0x05, 0x06, 0x05, 0x02, 0x02, 0x04, 0x03, 0x00, 0xff, 0x00, 0x00, 0x03, 0x08, 0x0a, 0x0b, + 0x09, 0x05, 0x00, 0x03, 0x05, 0x03, 0x01, 0x00, 0xff, 0xfe, 0xfc, 0xfb, 0xfd, 0x01, 0x03, 0x02, 0x01, 0xfd, 0xfd, 0x01, 0x05, 0x05, + 0x04, 0x04, 0x02, 0xfc, 0xf8, 0xfb, 0x01, 0x05, 0x04, 0xff, 0x00, 0x03, 0x01, 0xfd, 0xf9, 0xfa, 0xfe, 0x01, 0xff, 0xfc, 0xfd, 0xff, + 0x00, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xfe, 0xfc, 0xfe, 0xfe, 0xfe, 0xfc, 0xfa, 0xf7, 0xf6, 0xfa, 0xff, 0x04, 0x05, 0x02, 0x00, + 0x02, 0x04, 0x01, 0x00, 0x01, 0xff, 0xfb, 0xf9, 0xfb, 0xff, 0x04, 0x06, 0x03, 0xff, 0x00, 0x03, 0xfd, 0xf7, 0xf6, 0xfa, 0xff, 0x00, + 0xfe, 0xfe, 0x01, 0x04, 0x06, 0x05, 0x04, 0x01, 0xfd, 0xf7, 0xf8, 0xfe, 0x02, 0x02, 0x02, 0x03, 0x01, 0xfd, 0xfc, 0xfe, 0xfd, 0xfb, + 0xfb, 0x01, 0x05, 0x04, 0x01, 0x03, 0x02, 0x00, 0xff, 0xfe, 0xfd, 0xfc, 0xff, 0x00, 0x04, 0x09, 0x05, 0xfe, 0xf9, 0xf9, 0xfa, 0xff, + 0x03, 0x01, 0xfd, 0xf9, 0xf6, 0xf9, 0x02, 0x07, 0x05, 0xff, 0xfb, 0xfa, 0xfa, 0xfc, 0xfd, 0xfe, 0xfe, 0xfc, 0xfc, 0xff, 0x00, 0x02, + 0x02, 0x01, 0xfd, 0xfc, 0x01, 0x02, 0x01, 0x00, 0xfe, 0x00, 0x02, 0x01, 0xfb, 0xf9, 0xfb, 0x00, 0x05, 0x08, 0x06, 0x03, 0xff, 0x01, + 0x07, 0x0a, 0x0b, 0x0a, 0x06, 0xfd, 0xf8, 0xf9, 0xfd, 0x01, 0x03, 0x00, 0xfe, 0xff, 0x05, 0x0c, 0x0c, 0x08, 0x02, 0xff, 0xff, 0x00, + 0x01, 0x02, 0x01, 0x03, 0x08, 0x0d, 0x0c, 0x05, 0x00, 0x00, 0x02, 0x02, 0x00, 0xfe, 0xff, 0x00, 0x03, 0x05, 0x03, 0x01, 0x04, 0x07, + 0x04, 0x02, 0xfc, 0xf6, 0xf5, 0xf8, 0xfc, 0x00, 0x06, 0x03, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xfc, 0xfd, 0xfa, 0xfa, 0xfc, + 0xfe, 0xfd, 0xfc, 0xfc, 0xfd, 0xfd, 0xfd, 0xfd, 0xfb, 0xfa, 0xf9, 0xfc, 0xfc, 0xfc, 0xfc, 0xfb, 0xf8, 0xf8, 0xfd, 0xfd, 0xfc, 0xfc, + 0xfd, 0xfd, 0xff, 0xff, 0xf9, 0xf7, 0xfb, 0x02, 0x00, 0xff, 0xff, 0xfd, 0xfc, 0xfb, 0xfb, 0xfd, 0x00, 0x03, 0x03, 0x01, 0xfe, 0xfb, + 0xf9, 0xfb, 0xff, 0x03, 0x05, 0x03, 0x00, 0xfd, 0xfe, 0x01, 0x04, 0x05, 0x03, 0xff, 0xfc, 0xfb, 0xfd, 0x00, 0x02, 0x00, 0xff, 0xff, + 0x00, 0xff, 0xff, 0xfe, 0xfe, 0xfd, 0xfd, 0xff, 0xff, 0x00, 0x01, 0xff, 0xff, 0x01, 0x03, 0x04, 0x02, 0xfd, 0xfa, 0xfa, 0xfe, 0x00, + 0xfe, 0xfb, 0xfc, 0x00, 0x01, 0x02, 0x02, 0x01, 0xff, 0xfb, 0xf8, 0xf9, 0xfd, 0x01, 0x02, 0x02, 0x00, 0xfc, 0xfd, 0x00, 0x04, 0x04, + 0x00, 0xf9, 0xf5, 0xf9, 0xfd, 0xfe, 0xff, 0x04, 0x05, 0x03, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x05, 0x05, 0x04, + 0x01, 0x01, 0x00, 0xff, 0x02, 0x05, 0x06, 0x05, 0x04, 0x02, 0x00, 0x00, 0x01, 0x01, 0x02, 0x04, 0x06, 0x07, 0x09, 0x08, 0x04, 0x00, + 0x01, 0x04, 0x03, 0xfd, 0xfc, 0xff, 0x03, 0x06, 0x09, 0x0a, 0x06, 0x00, 0xfb, 0xfd, 0x03, 0x09, 0x09, 0x05, 0x01, 0x00, 0xff, 0xfa, + 0xfd, 0x01, 0x03, 0x03, 0x02, 0xff, 0xfd, 0x00, 0x02, 0x02, 0x00, 0x00, 0x01, 0x02, 0x02, 0x01, 0x00, 0xfe, 0xfe, 0x00, 0x01, 0x02, + 0xff, 0xfc, 0xfa, 0xfa, 0xfd, 0xff, 0x00, 0xfd, 0xfc, 0xfe, 0xff, 0x00, 0x00, 0x01, 0x02, 0xfe, 0xf8, 0xf3, 0xf6, 0xfb, 0xfe, 0xff, + 0xfd, 0xfc, 0xfd, 0xfd, 0x00, 0x03, 0x00, 0xfa, 0xf9, 0xfd, 0xff, 0x00, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf8, 0xf8, 0xfa, 0xfe, 0x00, + 0xfe, 0xfc, 0xfc, 0xfc, 0xfc, 0xfe, 0x00, 0xff, 0xff, 0x01, 0x03, 0x05, 0x04, 0x01, 0xfd, 0xfa, 0xf7, 0xf9, 0xfd, 0x00, 0x00, 0xff, + 0xfd, 0xfb, 0xfc, 0xfe, 0x01, 0x03, 0x02, 0x02, 0x01, 0x00, 0xfd, 0xfb, 0xfc, 0xfd, 0xfe, 0xfd, 0xfb, 0xfc, 0x00, 0x02, 0x01, 0x00, + 0xfd, 0xfb, 0xf9, 0xfc, 0xfe, 0x00, 0x02, 0x01, 0xfc, 0xf9, 0xfa, 0xfe, 0x01, 0x02, 0x00, 0xff, 0x01, 0x02, 0x01, 0x00, 0x02, 0x05, + 0x03, 0xfe, 0xfb, 0xfc, 0xfe, 0x00, 0xff, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0xff, 0xfd, 0xfe, 0x01, 0x04, 0x05, 0x03, + 0x01, 0x00, 0x01, 0x04, 0x06, 0x05, 0x02, 0xff, 0xfe, 0x00, 0x03, 0x05, 0x04, 0x03, 0x03, 0x03, 0x04, 0x03, 0x04, 0x05, 0x05, 0x05, + 0x04, 0x01, 0xff, 0x00, 0x02, 0x03, 0x03, 0x01, 0x00, 0x03, 0x05, 0x06, 0x05, 0x05, 0x04, 0x03, 0x02, 0x00, 0xfe, 0xfe, 0xfe, 0x00, + 0x02, 0x02, 0x01, 0x01, 0x02, 0x05, 0x04, 0x01, 0xfe, 0xfd, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0xfe, 0xfd, 0xfe, 0x00, 0x01, 0x00, + 0xfe, 0xff, 0x01, 0x01, 0xff, 0xfd, 0xfb, 0xfd, 0x00, 0x01, 0x00, 0xfe, 0xfc, 0xfd, 0xfe, 0xfe, 0xfd, 0xfe, 0x00, 0x02, 0x02, 0x00, + 0xfd, 0xfa, 0xf7, 0xf8, 0xfb, 0xff, 0x02, 0x01, 0xfe, 0xfa, 0xf8, 0xf9, 0xfb, 0xfe, 0x01, 0x01, 0x02, 0xff, 0xfa, 0xf8, 0xfb, 0xfd, + 0xfe, 0x00, 0x00, 0xff, 0xfe, 0xff, 0x01, 0x01, 0xfe, 0xfa, 0xfb, 0xfe, 0xfd, 0xfd, 0xfd, 0xff, 0x00, 0x01, 0x01, 0x00, 0xff, 0xff, + 0xff, 0xff, 0xfd, 0xfb, 0xfb, 0xfc, 0xff, 0x01, 0x00, 0x00, 0x00, 0xff, 0xfc, 0xfb, 0xfb, 0xfc, 0xff, 0x00, 0xff, 0xfe, 0xfd, 0xfe, + 0x00, 0x01, 0x02, 0x01, 0xfd, 0xfb, 0xfb, 0xfc, 0xfb, 0xfd, 0xff, 0x00, 0xfe, 0xfe, 0xfc, 0xfb, 0xfc, 0xff, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x00, 0x01, 0x01, 0x00, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x00, 0x01, 0x00, 0xff, 0x00, 0x02, 0x02, 0x02, 0x02, + 0x02, 0x03, 0x03, 0x02, 0x02, 0x03, 0x03, 0x01, 0x01, 0x04, 0x05, 0x05, 0x05, 0x04, 0x03, 0x03, 0x02, 0x00, 0x01, 0x04, 0x06, 0x07, + 0x06, 0x03, 0x02, 0x01, 0x00, 0x01, 0x04, 0x06, 0x05, 0x03, 0x03, 0x05, 0x08, 0x06, 0x01, 0xff, 0x00, 0x02, 0x03, 0x04, 0x07, 0x09, + 0x07, 0x01, 0xfc, 0xfb, 0xfb, 0xff, 0x01, 0x00, 0x01, 0x02, 0x03, 0x02, 0x01, 0xfe, 0xfd, 0xff, 0xff, 0xfd, 0xfc, 0xfb, 0xfd, 0xff, + 0xff, 0x00, 0x01, 0x02, 0x02, 0x01, 0xfd, 0xf8, 0xfa, 0xfe, 0x00, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0x01, 0x02, 0x01, 0xfd, + 0xfc, 0xfa, 0xfb, 0xfd, 0x00, 0x01, 0xff, 0xfd, 0xfd, 0xfd, 0xfc, 0xfc, 0xfd, 0xfe, 0xff, 0xfe, 0xff, 0x00, 0x00, 0x01, 0xff, 0xfd, + 0xfe, 0xfe, 0xfe, 0xff, 0x02, 0x02, 0x01, 0x00, 0xff, 0xfd, 0xfb, 0xf9, 0xfd, 0x01, 0x02, 0xff, 0xfe, 0xfe, 0xff, 0x01, 0x01, 0xff, + 0xfd, 0xfb, 0xfb, 0xfb, 0xfc, 0xff, 0x00, 0xfd, 0xfb, 0xfc, 0xfe, 0xfe, 0xff, 0xfe, 0xfc, 0xfc, 0xfe, 0xff, 0xfe, 0xfc, 0xfd, 0xfe, + 0x00, 0xff, 0xfd, 0xfc, 0xfd, 0xfd, 0xfc, 0xff, 0xfd, 0xfb, 0xfa, 0xfb, 0xfc, 0xfc, 0xfc, 0xfb, 0xfc, 0xfe, 0xff, 0xff, 0xfd, 0xfc, + 0xfc, 0xfd, 0xfd, 0xfe, 0xff, 0xff, 0xfe, 0xff, 0xff, 0x00, 0x01, 0x00, 0xfe, 0xfe, 0xff, 0x00, 0x01, 0x02, 0x01, 0x01, 0x02, 0x03, + 0x02, 0x02, 0x01, 0x00, 0x02, 0x03, 0x01, 0x01, 0x02, 0x03, 0x04, 0x03, 0x03, 0x03, 0x04, 0x03, 0x02, 0x02, 0x02, 0x03, 0x04, 0x04, + 0x05, 0x04, 0x04, 0x04, 0x04, 0x04, 0x05, 0x06, 0x06, 0x05, 0x03, 0x02, 0x02, 0x02, 0x03, 0x06, 0x07, 0x05, 0x02, 0xff, 0xff, 0x01, + 0x03, 0x04, 0x04, 0x02, 0x00, 0xff, 0x01, 0x00, 0xff, 0xff, 0xff, 0x01, 0x03, 0x03, 0x04, 0x03, 0x02, 0x01, 0x01, 0x00, 0xff, 0xff, + 0x00, 0x00, 0x00, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfd, 0xfd, 0xfe, 0x00, 0xff, 0xff, 0x00, 0xff, 0xfe, 0xfc, 0xfa, + 0xfb, 0xfe, 0x00, 0x01, 0x02, 0x03, 0x00, 0x00, 0xfe, 0xfb, 0xfa, 0xfa, 0xfa, 0xfb, 0xfd, 0xff, 0x00, 0xff, 0x00, 0x01, 0x01, 0xff, + 0xfd, 0xfc, 0xfc, 0xfb, 0xfb, 0xfc, 0xfd, 0xfe, 0xfe, 0xfe, 0xfd, 0xfe, 0xff, 0x00, 0x01, 0x01, 0xff, 0xfd, 0xfc, 0xfc, 0xfe, 0x00, + 0xff, 0xff, 0x00, 0xff, 0xfd, 0xfc, 0xfb, 0xfd, 0xff, 0x00, 0x00, 0xfe, 0xfd, 0xfd, 0xfd, 0xfd, 0xfe, 0xff, 0xff, 0xfe, 0xfd, 0xfb, + 0xfa, 0xfb, 0xfe, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xfd, 0xfc, 0xfd, 0xfd, 0xfd, 0xfb, 0xfb, 0xfe, 0x00, 0x01, 0x01, 0xff, 0xfb, + 0xfa, 0xfc, 0xfe, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xfe, 0xfe, + 0xff, 0x01, 0x02, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x02, 0x04, 0x04, 0x03, 0x03, 0x02, 0x01, 0x00, 0x02, 0x03, 0x03, 0x02, + 0x02, 0x04, 0x04, 0x05, 0x06, 0x06, 0x04, 0x02, 0x00, 0xfe, 0xff, 0x02, 0x04, 0x05, 0x06, 0x05, 0x03, 0x02, 0x03, 0x04, 0x06, 0x04, + 0x01, 0x00, 0x00, 0x01, 0x02, 0x01, 0x02, 0x02, 0x02, 0x02, 0x01, 0x00, 0x00, 0x01, 0x03, 0x05, 0x04, 0x02, 0x00, 0xfe, 0xfe, 0x01, + 0x02, 0x03, 0x02, 0x00, 0xff, 0xfe, 0xff, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xfe, 0xfe, 0xfc, 0xfc, 0xff, 0x02, 0x03, 0x02, 0x00, 0xfe, + 0xfd, 0xff, 0x00, 0x00, 0xff, 0xfd, 0xfc, 0xfd, 0xfe, 0xfd, 0xff, 0x01, 0x00, 0xff, 0xff, 0xfd, 0xfb, 0xfc, 0xfe, 0xfe, 0xfc, 0xfd, + 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0x00, 0xff, 0xff, 0xfe, 0xfd, 0xfd, 0xfe, 0xfd, 0xfd, 0xfd, 0xff, + 0x01, 0x03, 0x01, 0xff, 0xfe, 0xfc, 0xfc, 0xfd, 0xfc, 0xfc, 0xfd, 0xff, 0xfe, 0x00, 0x01, 0xff, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfe, + 0xff, 0xfe, 0xfd, 0xfd, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfd, 0xfc, 0xfc, 0xfd, 0xff, 0x00, + 0x00, 0xff, 0xfe, 0xfe, 0xfe, 0xfd, 0xfc, 0xfd, 0xfd, 0xfe, 0xfe, 0xff, 0xfe, 0xff, 0x00, 0x01, 0x00, 0x00, 0xff, 0xfd, 0xfd, 0xff, + 0x02, 0x02, 0x03, 0x03, 0x02, 0x00, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x01, 0x03, 0x04, 0x03, 0x02, 0x02, 0x02, 0x03, 0x05, 0x05, + 0x02, 0x01, 0x00, 0x01, 0x03, 0x05, 0x05, 0x04, 0x04, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x05, 0x06, 0x06, 0x04, 0x03, 0x02, 0x02, + 0x01, 0x01, 0x01, 0x02, 0x03, 0x04, 0x03, 0x01, 0x00, 0x01, 0x02, 0x03, 0x04, 0x03, 0x02, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x01, + 0x00, 0x00, 0x00, 0x01, 0x02, 0x02, 0x01, 0xfe, 0xfc, 0xfd, 0x00, 0x01, 0x02, 0x02, 0x02, 0x00, 0xfe, 0xfd, 0xfd, 0xfb, 0xfb, 0xfd, + 0xff, 0x00, 0x01, 0x00, 0x00, 0xff, 0xfe, 0xfd, 0xfd, 0xfd, 0xfd, 0xfe, 0x00, 0x02, 0x02, 0xff, 0xfd, 0xfd, 0xff, 0xff, 0xfd, 0xfc, + 0xfa, 0xfa, 0xfc, 0xfe, 0x00, 0x02, 0x02, 0xfd, 0xfa, 0xfa, 0xfc, 0xff, 0xff, 0xfd, 0xfb, 0xfb, 0xfc, 0xfd, 0xfe, 0x00, 0x01, 0x01, + 0x01, 0xff, 0xfd, 0xfa, 0xfa, 0xfb, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfd, 0xfc, 0xfc, 0xfd, 0xfd, 0xfc, 0xfc, 0xfe, 0x00, 0x00, + 0xfe, 0xfc, 0xfc, 0xfd, 0xfd, 0xfd, 0xfc, 0xfd, 0xfe, 0xfe, 0xfc, 0xfd, 0xfe, 0x00, 0x01, 0x00, 0xff, 0xff, 0xfe, 0xfb, 0xfa, 0xfd, + 0xff, 0x00, 0x00, 0xff, 0xfc, 0xfd, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xfe, 0xff, 0x00, 0x01, 0x01, 0x00, 0xff, 0xff, + 0x00, 0x01, 0x03, 0x02, 0x00, 0xfe, 0xfe, 0xff, 0x02, 0x04, 0x03, 0x02, 0x00, 0x00, 0x01, 0x02, 0x03, 0x03, 0x02, 0x00, 0xff, 0x01, + 0x02, 0x03, 0x03, 0x04, 0x04, 0x03, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x02, 0x03, 0x03, 0x02, 0x01, 0x02, 0x04, 0x05, 0x04, + 0x02, 0x00, 0x01, 0x02, 0x03, 0x04, 0x03, 0x01, 0x00, 0x00, 0x01, 0x02, 0x03, 0x03, 0x00, 0xff, 0xff, 0x00, 0x00, 0x01, 0x01, 0x01, + 0x02, 0x03, 0x05, 0x04, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x00, 0xff, 0xfe, 0xfe, 0xfd, 0xfe, 0x00, 0x02, 0x02, 0x03, 0x02, 0x00, + 0xfe, 0xfe, 0xff, 0x00, 0xff, 0xfe, 0xff, 0xff, 0x00, 0x01, 0x01, 0x00, 0xfe, 0xfc, 0xfc, 0xfe, 0x00, 0x02, 0x01, 0xff, 0xfd, 0xfc, + 0xfd, 0xff, 0x00, 0xfe, 0xfd, 0xfc, 0xfc, 0xfd, 0xfe, 0xfe, 0xfe, 0xfd, 0xfd, 0xfe, 0xfe, 0xff, 0x00, 0xff, 0xfd, 0xfc, 0xfc, 0xfd, + 0xfe, 0xfe, 0xfe, 0xfd, 0xfd, 0xfe, 0xfd, 0xfd, 0xfe, 0xfe, 0xfd, 0xfc, 0xfb, 0xfb, 0xfd, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xfd, 0xfa, + 0xf9, 0xfb, 0xfc, 0xfe, 0xfe, 0xfe, 0xfc, 0xfc, 0xfe, 0xff, 0xfd, 0xfd, 0xfd, 0xfe, 0xfd, 0xfd, 0xfe, 0xff, 0xff, 0xfe, 0xfc, 0xfd, + 0xff, 0x01, 0xff, 0xfd, 0xfd, 0xff, 0x00, 0xff, 0xfd, 0xfd, 0xfd, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x01, + 0x02, 0x03, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x01, 0x02, 0x01, 0x01, 0x01, 0x03, 0x02, 0x01, 0x01, 0x03, 0x04, + 0x04, 0x03, 0x02, 0x01, 0x01, 0x01, 0x02, 0x02, 0x01, 0xff, 0x01, 0x04, 0x06, 0x07, 0x06, 0x04, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, + 0x01, 0x01, 0x00, 0x01, 0x01, 0x02, 0x02, 0x02, 0x01, 0x02, 0x02, 0x03, 0x02, 0x00, 0xff, 0xff, 0xff, 0x01, 0x03, 0x04, 0x05, 0x04, + 0x02, 0xff, 0xfe, 0xfe, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x01, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, + 0x01, 0xff, 0xfe, 0xfe, 0xff, 0x00, 0x01, 0xff, 0xfe, 0xfe, 0xff, 0x00, 0x01, 0x01, 0x01, 0xff, 0xfd, 0xfd, 0xff, 0x00, 0xff, 0xfe, + 0xfd, 0xfd, 0xfe, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfd, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfd, 0xfd, 0xfd, 0xfe, + 0xff, 0xff, 0xfe, 0xfd, 0xfc, 0xfc, 0xfc, 0xfc, 0xfd, 0xfe, 0xff, 0xff, 0xfe, 0xfd, 0xfd, 0xfc, 0xfb, 0xfc, 0xfd, 0xfd, 0xfd, 0xfd, + 0xfd, 0xfe, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfc, 0xfc, 0xfc, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfc, 0xfd, 0xfd, 0xfe, 0xff, + 0x00, 0x00, 0xff, 0xfe, 0xfd, 0xfd, 0xfd, 0xfd, 0xfe, 0xff, 0x00, 0x00, 0xff, 0xfd, 0xfd, 0xfc, 0xfe, 0x00, 0x01, 0x01, 0x01, 0x01, + 0x00, 0x00, 0x01, 0x02, 0x02, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0xff, 0x00, 0x03, 0x04, 0x03, 0x02, 0x00, 0x01, 0x02, + 0x04, 0x03, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, 0x04, 0x05, 0x05, 0x03, 0x01, 0xff, 0xff, 0x00, 0x00, + 0x01, 0x02, 0x01, 0x00, 0x01, 0x02, 0x03, 0x03, 0x04, 0x03, 0x02, 0x00, 0x01, 0x02, 0x02, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x02, 0x02, 0x02, 0x02, 0x01, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x01, 0x02, 0x02, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0xff, + 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x01, 0x01, 0x00, 0xff, 0xfe, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, + 0xff, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfe, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xfd, 0xfc, 0xfc, 0xfd, 0xff, 0x00, 0x00, 0xfe, 0xfe, 0xfe, + 0xff, 0xfe, 0xfd, 0xfc, 0xfd, 0xfe, 0xfd, 0xfd, 0xfc, 0xfc, 0xfc, 0xfc, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfc, 0xfc, 0xfd, + 0xff, 0xff, 0xfe, 0xfd, 0xfd, 0xfc, 0xfc, 0xfd, 0xfd, 0xfe, 0xfe, 0xfe, 0xfd, 0xfc, 0xfc, 0xfe, 0xfe, 0xfd, 0xfd, 0xfe, 0xff, 0xff, + 0xff, 0xff, 0xfe, 0xfd, 0xfd, 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xff, 0xff, 0xff, 0x00, 0xff, + 0x01, 0x01, 0x00, 0xfe, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x02, 0x02, 0x02, 0x01, 0x00, 0xff, 0x01, 0x03, 0x03, 0x03, 0x02, 0x01, + 0x00, 0x01, 0x02, 0x02, 0x03, 0x04, 0x05, 0x04, 0x03, 0x01, 0x00, 0x00, 0x01, 0x03, 0x03, 0x04, 0x03, 0x02, 0x01, 0x01, 0x02, 0x03, + 0x02, 0x01, 0x02, 0x03, 0x03, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x03, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x01, 0x02, + 0x02, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, + 0x02, 0x02, 0x01, 0xff, 0xfe, 0xfe, 0xff, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0xff, 0xff, 0xfe, 0xff, 0x00, 0x01, 0x01, 0x00, 0xff, + 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0x00, 0x00, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0x00, 0xff, 0xfe, 0xfc, 0xfc, 0xfd, 0xfe, 0xff, + 0x00, 0x00, 0xfe, 0xfd, 0xfc, 0xfb, 0xfb, 0xfb, 0xfc, 0xfd, 0xff, 0xff, 0xfe, 0xfd, 0xfd, 0xfd, 0xfd, 0xfe, 0xfe, 0xfd, 0xfc, 0xfc, + 0xfb, 0xfb, 0xfb, 0xfc, 0xfd, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xfd, 0xfc, 0xfb, 0xfb, 0xfd, 0xfd, 0xfd, 0xfb, 0xfc, 0xfc, 0xfd, 0xfd, + 0xff, 0xff, 0xff, 0xfe, 0xfd, 0xfc, 0xfd, 0xfd, 0xfd, 0xfe, 0xff, 0x00, 0x00, 0x00, 0xfe, 0xfd, 0xfe, 0x00, 0x01, 0x01, 0xff, 0xfe, + 0xff, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x01, + 0x01, 0x01, 0x01, 0x02, 0x03, 0x02, 0x02, 0x01, 0x00, 0x00, 0x02, 0x04, 0x04, 0x04, 0x03, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x02, 0x03, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, + 0x02, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xfe, 0xfe, 0xff, 0x01, 0x02, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x01, 0x01, + 0x00, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xfe, 0xfe, 0x00, 0x00, 0x00, 0xff, 0xfd, 0xfd, + 0xfd, 0xfe, 0xfd, 0xfd, 0xfd, 0xfc, 0xfc, 0xfd, 0xfe, 0xfe, 0xfe, 0xfd, 0xfc, 0xfb, 0xfc, 0xfc, 0xfe, 0xfe, 0xfd, 0xfc, 0xfc, 0xfd, + 0xfe, 0xfe, 0xfd, 0xfc, 0xfb, 0xfb, 0xfc, 0xfc, 0xfd, 0xfc, 0xfd, 0xfe, 0xfe, 0xfe, 0xfd, 0xfd, 0xfc, 0xfc, 0xfc, 0xfc, 0xfd, 0xfe, + 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfd, 0xfd, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, + 0x00, 0x01, 0x02, 0x02, 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x01, 0x01, 0x02, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x02, 0x02, 0x01, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, + 0x02, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x00, 0xff, 0xff, 0x01, 0x03, 0x03, 0x02, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, + 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x01, 0x01, 0x01, 0x00, 0xff, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xfe, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfe, 0xfd, 0xfd, 0xfe, 0xfe, 0xfe, 0xfe, 0xfd, 0xfc, 0xfd, 0xfd, 0xfe, 0xfe, 0xfd, 0xfc, 0xfc, 0xfd, 0xfe, 0xff, 0xff, 0xfe, + 0xfc, 0xfb, 0xfb, 0xfc, 0xfd, 0xfd, 0xfd, 0xfc, 0xfb, 0xfc, 0xfe, 0xfe, 0xfe, 0xfe, 0xfd, 0xfd, 0xfc, 0xfc, 0xfc, 0xfc, 0xfd, 0xfe, + 0xfd, 0xfd, 0xfe, 0xfd, 0xfd, 0xfe, 0xfe, 0xfd, 0xfd, 0xfe, 0xfe, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xfe, 0xff, + 0x00, 0x01, 0x01, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0x01, 0x01, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x02, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x01, 0x01, 0x02, 0x03, 0x03, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x02, + 0x02, 0x02, 0x02, 0x02, 0x03, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x02, 0x02, 0x03, 0x03, 0x03, 0x02, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x02, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x00, 0xff, 0x00, 0x01, 0x01, 0x02, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x01, 0x01, 0x01, 0x01, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xfe, 0xfe, 0xff, + 0x00, 0xff, 0xfe, 0xfd, 0xfd, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, + 0xfe, 0xfe, 0xfd, 0xfc, 0xfc, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfc, 0xfc, 0xfc, 0xfd, 0xfd, 0xfd, 0xfc, 0xfd, + 0xfd, 0xfe, 0xfe, 0xfd, 0xfd, 0xfc, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfe, 0xfe, 0xfe, 0xfe, 0xfd, 0xfe, 0xfe, 0xff, 0xff, 0xfe, 0xfd, + 0xfe, 0xff, 0x00, 0x01, 0x00, 0xfe, 0xfe, 0xff, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x01, 0x02, 0x02, 0x02, 0x02, 0x01, 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x00, 0x00, + 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x02, 0x03, 0x03, 0x03, 0x02, 0x02, 0x01, 0x01, 0x01, 0x02, + 0x02, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x02, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0xff, 0xff, 0x00, 0x01, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x01, 0x01, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfd, 0xfd, 0xfd, 0xfe, 0xfe, 0xfe, 0xfd, 0xfe, + 0xfe, 0xfe, 0xfe, 0xfd, 0xfd, 0xfd, 0xfe, 0xfe, 0xfe, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfe, 0xfd, 0xfd, 0xfd, 0xfc, 0xfc, 0xfc, 0xfd, + 0xfd, 0xfe, 0xfe, 0xfe, 0xfe, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfe, 0xfe, 0xfe, 0xfe, 0xfd, 0xfd, 0xfd, 0xfe, 0xfe, 0xfe, 0xfe, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, + 0xfe, 0xfd, 0xfe, 0xfe, 0xfe, 0xfe, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfe, 0xfe, 0xfe, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfc, 0xfd, 0xfe, + 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfe, 0xfe, 0xfd, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xfe, 0xfe, 0xfe, + 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x02, 0x02, 0x01, + 0x01, 0x01, 0x00, 0x00, 0x01, 0x02, 0x02, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x01, 0x01, + 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, + 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfe, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, + 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, + 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, + 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xfe, + 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfd, 0xfd, 0xfd, 0xfd, 0xfe, 0xfe, 0xfd, 0xfd, 0xfd, + 0xfd, 0xfd, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfd, 0xfd, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfd, 0xfe, 0xfe, + 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, + 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, + 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, + 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfd, 0xfd, 0xfd, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, + 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfd, 0xfd, 0xfd, 0xfe, + 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, + 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, + 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, + 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, + 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, + 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, + 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, + 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xfe, + 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, + 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, +}; + +static const unsigned char TOM_2608[18562] = { + 0x52, 0x49, 0x46, 0x46, 0xd0, 0x90, 0x00, 0x00, 0x57, 0x41, 0x56, 0x45, 0x66, 0x6d, 0x74, 0x20, 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x01, 0x00, 0x44, 0xac, 0x00, 0x00, 0x88, 0x58, 0x01, 0x00, 0x02, 0x00, 0x10, 0x00, 0x66, 0x61, 0x63, 0x74, 0x04, 0x00, 0x00, 0x00, + 0x48, 0x00, 0x61, 0x61, 0x90, 0x00, 0xff, 0x02, 0x07, 0x0c, 0x0d, 0x0d, 0x0e, 0x0e, 0x0c, 0x0b, 0x0b, 0x0b, 0x02, 0x01, 0x09, 0x0d, + 0x05, 0xf9, 0xf4, 0xf0, 0xf0, 0xef, 0xed, 0xeb, 0xe9, 0xe7, 0xe8, 0xe8, 0xed, 0xf7, 0xf8, 0xe0, 0xc7, 0xd7, 0xd8, 0xe2, 0xf3, 0xe3, + 0xc9, 0xc5, 0xe0, 0xe9, 0xf4, 0xf2, 0xcd, 0xda, 0x00, 0x0f, 0xfe, 0xeb, 0xf0, 0x0b, 0xfc, 0xed, 0xea, 0xdf, 0xd9, 0xed, 0x0e, 0x03, + 0xe7, 0xc9, 0xb2, 0xb5, 0xbf, 0xbe, 0xb9, 0xd4, 0x03, 0x21, 0x1d, 0x08, 0x08, 0x2b, 0x4f, 0x59, 0x3d, 0xff, 0xdc, 0xdc, 0xf5, 0x1d, + 0x3f, 0x35, 0xf3, 0xdb, 0xf3, 0x1c, 0x39, 0x30, 0x15, 0x03, 0x0a, 0x10, 0x26, 0x5b, 0x7f, 0x63, 0x22, 0x23, 0x4a, 0x67, 0x52, 0x3c, + 0x1f, 0x13, 0x2d, 0x52, 0x60, 0x50, 0x34, 0x2f, 0x3c, 0x43, 0x2e, 0x21, 0x28, 0x29, 0x38, 0x47, 0x48, 0x3d, 0x39, 0x3e, 0x44, 0x40, + 0x31, 0x29, 0x39, 0x40, 0x39, 0x32, 0x33, 0x40, 0x50, 0x58, 0x55, 0x49, 0x35, 0x1c, 0x09, 0x0f, 0x26, 0x21, 0x09, 0xff, 0x1c, 0x2c, + 0x29, 0x26, 0x38, 0x4b, 0x4c, 0x36, 0x25, 0x1b, 0x0d, 0xed, 0xd9, 0xd5, 0xdf, 0xf3, 0xfe, 0xff, 0x00, 0xe8, 0xcf, 0xc5, 0xc7, 0xd5, + 0xe0, 0xd9, 0xb2, 0xa3, 0xb8, 0xd6, 0xd8, 0xd2, 0xc9, 0xa6, 0x9d, 0xa7, 0xae, 0xbb, 0xc5, 0xd1, 0xdc, 0xcf, 0xb5, 0xa5, 0xab, 0xbe, + 0xc8, 0xbc, 0x9b, 0x95, 0xac, 0xc0, 0xbf, 0xba, 0xb7, 0x9f, 0x97, 0xa6, 0xbd, 0xaa, 0x98, 0x94, 0x93, 0x89, 0x8e, 0xa1, 0xa9, 0x94, + 0x81, 0x90, 0xa0, 0xa6, 0xa4, 0xaa, 0xa9, 0xae, 0xb6, 0xb7, 0xa4, 0x9b, 0xb8, 0xc2, 0xc4, 0xce, 0xe3, 0xd9, 0xc0, 0xb9, 0xd4, 0xe6, + 0xe2, 0xdc, 0xe5, 0xf6, 0x02, 0x02, 0x02, 0x09, 0x11, 0xe9, 0xe3, 0xff, 0x04, 0xf4, 0xeb, 0xf8, 0x04, 0x0f, 0x0d, 0x01, 0xf7, 0xfb, + 0x04, 0x07, 0x05, 0x05, 0x00, 0xe1, 0xd7, 0xee, 0x11, 0x06, 0xf8, 0xff, 0x0e, 0x0f, 0x15, 0x25, 0x1b, 0x0c, 0x05, 0x05, 0x01, 0x03, + 0x0e, 0x15, 0x22, 0x24, 0x18, 0x0e, 0x16, 0x20, 0x1b, 0x17, 0x28, 0x45, 0x4e, 0x45, 0x39, 0x34, 0x2e, 0x2d, 0x35, 0x41, 0x4f, 0x51, + 0x49, 0x40, 0x43, 0x48, 0x45, 0x2a, 0x25, 0x39, 0x47, 0x4c, 0x4b, 0x4b, 0x54, 0x5d, 0x5d, 0x54, 0x4c, 0x49, 0x4c, 0x50, 0x5a, 0x5e, + 0x57, 0x5c, 0x5e, 0x64, 0x73, 0x79, 0x6d, 0x5b, 0x5a, 0x62, 0x69, 0x68, 0x64, 0x63, 0x63, 0x5e, 0x51, 0x48, 0x46, 0x43, 0x41, 0x45, + 0x4f, 0x57, 0x55, 0x4f, 0x4f, 0x42, 0x39, 0x3d, 0x44, 0x4b, 0x44, 0x31, 0x2b, 0x2f, 0x32, 0x2a, 0x24, 0x22, 0x24, 0x21, 0x19, 0x0d, + 0x03, 0x0b, 0x1a, 0x1c, 0x09, 0xf2, 0xe7, 0xed, 0xff, 0x04, 0xf9, 0xed, 0xe8, 0xed, 0xf4, 0xf0, 0xeb, 0xe4, 0xda, 0xd0, 0xce, 0xcf, + 0xcf, 0xd8, 0xea, 0xf7, 0xed, 0xe0, 0xda, 0xdc, 0xd6, 0xd2, 0xcf, 0xc9, 0xc8, 0xd2, 0xde, 0xdb, 0xd4, 0xd0, 0xd5, 0xe5, 0xe6, 0xd3, + 0xbd, 0xb0, 0xb1, 0xbd, 0xcd, 0xcf, 0xc3, 0xb7, 0xbe, 0xc8, 0xc9, 0xc0, 0xb7, 0xaf, 0xac, 0xb8, 0xc1, 0xbd, 0xb4, 0xb0, 0xb4, 0xb9, + 0xb6, 0xa7, 0x9a, 0x99, 0x9e, 0x9c, 0x97, 0x99, 0x98, 0xa3, 0xb5, 0xb7, 0xb4, 0xb2, 0xb5, 0xb6, 0xbd, 0xc6, 0xc2, 0xb3, 0xa0, 0x9a, + 0xb0, 0xcb, 0xd7, 0xcb, 0xb0, 0xa3, 0xaf, 0xc8, 0xdc, 0xdf, 0xd5, 0xcb, 0xc7, 0xc6, 0xc2, 0xc5, 0xc6, 0xc0, 0xb8, 0xb7, 0xc1, 0xcf, + 0xdb, 0xde, 0xe1, 0xe9, 0xed, 0xeb, 0xe5, 0xe6, 0xee, 0xf8, 0xfc, 0xf9, 0xf7, 0x00, 0x0e, 0x0d, 0xff, 0xf1, 0xf3, 0xfe, 0x07, 0x07, + 0x0c, 0x0f, 0x0e, 0x09, 0x03, 0xfe, 0xfd, 0x07, 0x11, 0x14, 0x10, 0x0c, 0x0b, 0x0e, 0x10, 0x11, 0x0f, 0x0d, 0x0e, 0x18, 0x23, 0x26, + 0x16, 0x19, 0x2d, 0x32, 0x35, 0x38, 0x35, 0x21, 0x1c, 0x23, 0x28, 0x31, 0x35, 0x33, 0x31, 0x2a, 0x26, 0x2b, 0x2f, 0x32, 0x35, 0x3b, + 0x39, 0x3d, 0x47, 0x4a, 0x48, 0x47, 0x49, 0x4e, 0x4d, 0x46, 0x43, 0x41, 0x43, 0x46, 0x44, 0x3c, 0x38, 0x3b, 0x36, 0x33, 0x34, 0x33, + 0x30, 0x2e, 0x30, 0x36, 0x3d, 0x3e, 0x35, 0x2c, 0x27, 0x27, 0x26, 0x23, 0x16, 0x09, 0x0a, 0x16, 0x1c, 0x13, 0x18, 0x24, 0x28, 0x19, + 0x17, 0x1d, 0x20, 0x24, 0x23, 0x22, 0x27, 0x25, 0x21, 0x1c, 0x16, 0x0e, 0x0d, 0x14, 0x25, 0x23, 0x19, 0x1a, 0x1b, 0x19, 0x15, 0x15, + 0x09, 0xf6, 0xe8, 0xef, 0xf3, 0xf4, 0xfc, 0x05, 0x01, 0xf6, 0xf6, 0xf4, 0xef, 0xe9, 0xea, 0xeb, 0xea, 0xe9, 0xe2, 0xdc, 0xda, 0xd9, + 0xd4, 0xcf, 0xd1, 0xd7, 0xdb, 0xd6, 0xc8, 0xc0, 0xc1, 0xcb, 0xd5, 0xd8, 0xd0, 0xc4, 0xbd, 0xbd, 0xbf, 0xbf, 0xba, 0xb9, 0xbc, 0xbc, + 0xb2, 0xa6, 0xa1, 0x9f, 0x9b, 0x96, 0x98, 0x9e, 0xa1, 0xa1, 0xa7, 0xa8, 0xa5, 0xa2, 0xa6, 0xaa, 0xaa, 0xaa, 0xa8, 0xa7, 0xaa, 0xb0, + 0xb2, 0xb0, 0xac, 0xac, 0xaf, 0xb2, 0xaf, 0xab, 0xa9, 0xac, 0xb2, 0xb6, 0xb6, 0xb2, 0xb2, 0xb8, 0xc0, 0xc5, 0xc8, 0xc7, 0xc2, 0xbc, + 0xba, 0xbd, 0xc5, 0xce, 0xd3, 0xd4, 0xd1, 0xd1, 0xd6, 0xe1, 0xe8, 0xe8, 0xe5, 0xe3, 0xe3, 0xe7, 0xed, 0xf3, 0xf9, 0xff, 0x05, 0x09, + 0x07, 0xff, 0xf9, 0xfe, 0x09, 0x10, 0x0b, 0x05, 0x06, 0x10, 0x16, 0x1a, 0x20, 0x1e, 0x1c, 0x1d, 0x21, 0x27, 0x2e, 0x33, 0x35, 0x33, + 0x31, 0x31, 0x31, 0x33, 0x36, 0x36, 0x38, 0x38, 0x36, 0x34, 0x33, 0x36, 0x3b, 0x3d, 0x39, 0x37, 0x39, 0x3b, 0x3c, 0x3e, 0x41, 0x41, + 0x40, 0x3e, 0x40, 0x43, 0x46, 0x46, 0x43, 0x3e, 0x3b, 0x3a, 0x3b, 0x3a, 0x36, 0x31, 0x2b, 0x27, 0x25, 0x28, 0x2b, 0x2d, 0x30, 0x30, + 0x30, 0x31, 0x32, 0x32, 0x35, 0x38, 0x3a, 0x37, 0x32, 0x31, 0x35, 0x3a, 0x3c, 0x3f, 0x3c, 0x35, 0x31, 0x33, 0x39, 0x3b, 0x3a, 0x37, + 0x35, 0x35, 0x33, 0x2f, 0x2b, 0x28, 0x29, 0x2c, 0x2d, 0x2b, 0x29, 0x29, 0x2a, 0x29, 0x27, 0x28, 0x2c, 0x32, 0x33, 0x30, 0x2c, 0x28, + 0x25, 0x22, 0x23, 0x24, 0x24, 0x20, 0x20, 0x21, 0x21, 0x1e, 0x17, 0x0f, 0x0c, 0x0d, 0x10, 0x12, 0x10, 0x0c, 0x08, 0x06, 0x06, 0x08, + 0x09, 0x07, 0x06, 0x02, 0xfb, 0xf5, 0xf8, 0x01, 0x05, 0x00, 0xf9, 0xf7, 0xf8, 0xf8, 0xf6, 0xf6, 0xf8, 0xf9, 0xf5, 0xee, 0xeb, 0xec, + 0xec, 0xed, 0xee, 0xf0, 0xf0, 0xee, 0xe9, 0xe4, 0xe0, 0xdf, 0xdf, 0xdd, 0xdb, 0xda, 0xdd, 0xe0, 0xe1, 0xdb, 0xd5, 0xd5, 0xdc, 0xdf, + 0xdc, 0xd9, 0xd7, 0xd5, 0xd5, 0xd2, 0xce, 0xca, 0xc8, 0xc7, 0xc9, 0xcc, 0xcd, 0xcb, 0xc9, 0xc8, 0xc5, 0xc2, 0xbe, 0xbc, 0xb8, 0xb5, + 0xb5, 0xb5, 0xb7, 0xba, 0xba, 0xb7, 0xb2, 0xb1, 0xb4, 0xb5, 0xb5, 0xb4, 0xb9, 0xba, 0xb9, 0xbb, 0xc0, 0xc1, 0xba, 0xb4, 0xae, 0xab, + 0xab, 0xae, 0xb2, 0xb6, 0xbb, 0xbe, 0xc0, 0xc2, 0xc5, 0xc9, 0xcb, 0xc9, 0xc9, 0xc9, 0xc9, 0xca, 0xce, 0xcf, 0xcf, 0xd2, 0xd6, 0xd8, + 0xd9, 0xd9, 0xd8, 0xd8, 0xdc, 0xde, 0xde, 0xdf, 0xe3, 0xe7, 0xe8, 0xe6, 0xe3, 0xe3, 0xe8, 0xec, 0xef, 0xf1, 0xf2, 0xf7, 0xfa, 0xfa, + 0xf9, 0xf7, 0xf4, 0xf3, 0xf9, 0x01, 0x0a, 0x11, 0x12, 0x10, 0x11, 0x15, 0x16, 0x16, 0x15, 0x16, 0x1a, 0x1e, 0x1e, 0x1a, 0x19, 0x1c, + 0x1f, 0x1f, 0x1a, 0x17, 0x18, 0x1b, 0x1c, 0x1a, 0x19, 0x19, 0x1a, 0x1e, 0x23, 0x28, 0x2a, 0x2e, 0x34, 0x3a, 0x3d, 0x39, 0x33, 0x2f, + 0x31, 0x35, 0x37, 0x37, 0x37, 0x39, 0x3b, 0x3e, 0x3f, 0x3e, 0x3e, 0x40, 0x42, 0x41, 0x3d, 0x39, 0x3b, 0x41, 0x45, 0x48, 0x49, 0x48, + 0x45, 0x43, 0x44, 0x47, 0x4a, 0x4b, 0x4a, 0x48, 0x47, 0x48, 0x4b, 0x4e, 0x4f, 0x4c, 0x48, 0x45, 0x44, 0x43, 0x43, 0x43, 0x43, 0x43, + 0x42, 0x40, 0x3f, 0x40, 0x41, 0x43, 0x42, 0x3e, 0x39, 0x35, 0x33, 0x32, 0x34, 0x36, 0x34, 0x2e, 0x27, 0x26, 0x29, 0x2e, 0x2f, 0x2c, + 0x25, 0x20, 0x21, 0x26, 0x27, 0x22, 0x1c, 0x1a, 0x19, 0x16, 0x11, 0x0e, 0x0b, 0x0a, 0x08, 0x06, 0x04, 0x03, 0x01, 0xfd, 0xfa, 0xf8, + 0xf5, 0xf4, 0xf7, 0xfc, 0xfd, 0xfc, 0xf9, 0xf3, 0xee, 0xea, 0xe8, 0xea, 0xed, 0xee, 0xec, 0xea, 0xe8, 0xe6, 0xe6, 0xe7, 0xe6, 0xe1, + 0xdc, 0xd9, 0xda, 0xdd, 0xdd, 0xd8, 0xd0, 0xcc, 0xce, 0xd3, 0xd4, 0xd0, 0xcc, 0xcd, 0xd1, 0xd6, 0xd7, 0xd6, 0xd5, 0xd8, 0xdd, 0xe0, + 0xdd, 0xd8, 0xd3, 0xd3, 0xd4, 0xd4, 0xd1, 0xcc, 0xc8, 0xc7, 0xc8, 0xc8, 0xc6, 0xc6, 0xc6, 0xc4, 0xc1, 0xc2, 0xc4, 0xc6, 0xc6, 0xc7, + 0xc7, 0xc9, 0xcb, 0xc9, 0xc7, 0xc5, 0xc6, 0xc8, 0xc9, 0xc7, 0xc7, 0xc4, 0xc3, 0xc4, 0xc6, 0xc6, 0xc4, 0xc3, 0xc2, 0xc2, 0xc2, 0xc4, + 0xc7, 0xca, 0xcc, 0xcc, 0xca, 0xc8, 0xc6, 0xc5, 0xc4, 0xc4, 0xc5, 0xc9, 0xcb, 0xcc, 0xcd, 0xce, 0xd0, 0xd2, 0xd5, 0xd8, 0xda, 0xd9, + 0xd8, 0xd7, 0xd8, 0xdc, 0xe2, 0xe5, 0xe4, 0xe2, 0xe5, 0xea, 0xee, 0xed, 0xea, 0xe7, 0xea, 0xf1, 0xf5, 0xf5, 0xf1, 0xf1, 0xf5, 0xf9, + 0xfd, 0xff, 0xff, 0xfd, 0xfb, 0xfb, 0x00, 0x05, 0x08, 0x08, 0x07, 0x09, 0x0c, 0x0e, 0x0f, 0x0f, 0x0f, 0x12, 0x15, 0x17, 0x17, 0x17, + 0x19, 0x1e, 0x22, 0x22, 0x21, 0x23, 0x25, 0x25, 0x25, 0x26, 0x2b, 0x2f, 0x31, 0x2f, 0x2c, 0x2c, 0x2f, 0x36, 0x3a, 0x3a, 0x39, 0x37, + 0x36, 0x36, 0x36, 0x36, 0x36, 0x37, 0x36, 0x35, 0x35, 0x37, 0x37, 0x35, 0x33, 0x34, 0x39, 0x3e, 0x40, 0x3e, 0x3b, 0x3a, 0x39, 0x3a, + 0x3a, 0x3a, 0x3c, 0x3d, 0x3d, 0x3c, 0x3c, 0x3b, 0x39, 0x37, 0x35, 0x35, 0x36, 0x37, 0x36, 0x34, 0x35, 0x38, 0x38, 0x34, 0x30, 0x2b, + 0x29, 0x2b, 0x2c, 0x29, 0x26, 0x24, 0x26, 0x28, 0x29, 0x28, 0x25, 0x20, 0x1e, 0x1d, 0x1f, 0x21, 0x22, 0x22, 0x20, 0x20, 0x22, 0x23, + 0x23, 0x22, 0x24, 0x27, 0x26, 0x24, 0x20, 0x1d, 0x1c, 0x1d, 0x1b, 0x19, 0x18, 0x17, 0x17, 0x16, 0x15, 0x14, 0x14, 0x14, 0x10, 0x0c, + 0x0b, 0x0e, 0x0f, 0x0f, 0x0c, 0x0a, 0x0a, 0x0a, 0x0c, 0x0c, 0x0b, 0x08, 0x06, 0x04, 0x03, 0x03, 0x04, 0x03, 0x00, 0xfe, 0xff, 0xfd, + 0xfa, 0xf9, 0xfb, 0xfc, 0xfc, 0xfb, 0xf8, 0xf4, 0xf3, 0xf2, 0xf2, 0xf1, 0xee, 0xec, 0xec, 0xed, 0xec, 0xea, 0xe7, 0xe5, 0xe4, 0xe4, + 0xe3, 0xe2, 0xe2, 0xe3, 0xe4, 0xe5, 0xe4, 0xe3, 0xe3, 0xe1, 0xde, 0xdc, 0xdc, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, 0xe0, 0xde, 0xda, 0xd6, + 0xd3, 0xd5, 0xd7, 0xd7, 0xd6, 0xd4, 0xd0, 0xcb, 0xc7, 0xc8, 0xca, 0xcb, 0xca, 0xcc, 0xcf, 0xcf, 0xcd, 0xcc, 0xcb, 0xca, 0xca, 0xc9, + 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc7, 0xc3, 0xc0, 0xbe, 0xbe, 0xbe, 0xbd, 0xb9, 0xb9, 0xbc, 0xbf, 0xc0, 0xbf, 0xbf, 0xbf, 0xc0, 0xc2, + 0xc5, 0xc5, 0xc6, 0xc7, 0xc9, 0xcb, 0xcc, 0xcb, 0xc8, 0xca, 0xcd, 0xce, 0xce, 0xcd, 0xce, 0xd0, 0xd3, 0xd6, 0xd8, 0xd8, 0xd8, 0xd9, + 0xdc, 0xe1, 0xe4, 0xe3, 0xe3, 0xe4, 0xe8, 0xeb, 0xec, 0xeb, 0xec, 0xef, 0xf1, 0xf3, 0xf3, 0xf4, 0xf4, 0xf6, 0xfa, 0xfc, 0xfe, 0xff, + 0x00, 0x02, 0x03, 0x04, 0x05, 0x03, 0x03, 0x05, 0x06, 0x08, 0x0c, 0x10, 0x12, 0x11, 0x10, 0x12, 0x15, 0x17, 0x17, 0x19, 0x1b, 0x1e, + 0x21, 0x21, 0x20, 0x21, 0x24, 0x27, 0x29, 0x29, 0x28, 0x28, 0x29, 0x2b, 0x2d, 0x2e, 0x2e, 0x2d, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, + 0x2d, 0x2d, 0x2e, 0x30, 0x31, 0x33, 0x34, 0x36, 0x38, 0x3a, 0x3b, 0x3b, 0x3c, 0x3f, 0x42, 0x43, 0x43, 0x40, 0x3e, 0x3f, 0x40, 0x41, + 0x41, 0x40, 0x40, 0x41, 0x42, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x45, 0x46, 0x46, 0x43, 0x41, 0x40, 0x3f, 0x3e, 0x3d, 0x3c, 0x3b, + 0x3b, 0x3b, 0x3c, 0x3b, 0x39, 0x36, 0x34, 0x34, 0x35, 0x36, 0x35, 0x35, 0x34, 0x35, 0x35, 0x33, 0x30, 0x2d, 0x2b, 0x2b, 0x2b, 0x29, + 0x26, 0x23, 0x22, 0x23, 0x20, 0x1c, 0x19, 0x19, 0x1b, 0x1c, 0x1a, 0x17, 0x13, 0x10, 0x0d, 0x0d, 0x0d, 0x0c, 0x0a, 0x07, 0x06, 0x07, + 0x08, 0x05, 0xff, 0xfc, 0xfb, 0xfb, 0xfa, 0xf9, 0xf7, 0xf5, 0xf3, 0xf3, 0xf4, 0xf4, 0xf2, 0xf0, 0xef, 0xef, 0xed, 0xeb, 0xea, 0xe9, + 0xe8, 0xe6, 0xe4, 0xe5, 0xe6, 0xe7, 0xe6, 0xe5, 0xe6, 0xe6, 0xe6, 0xe6, 0xe5, 0xe4, 0xe1, 0xdf, 0xdd, 0xdb, 0xd9, 0xd7, 0xd6, 0xd7, + 0xd7, 0xd7, 0xd7, 0xd6, 0xd6, 0xd5, 0xd4, 0xd4, 0xd4, 0xd5, 0xd7, 0xd8, 0xd9, 0xda, 0xda, 0xd9, 0xd8, 0xd8, 0xd7, 0xd7, 0xd8, 0xd9, + 0xd7, 0xd7, 0xd8, 0xd9, 0xda, 0xd8, 0xd5, 0xd4, 0xd2, 0xd2, 0xd3, 0xd3, 0xd2, 0xd1, 0xcf, 0xcf, 0xcf, 0xd0, 0xcf, 0xce, 0xce, 0xce, + 0xce, 0xcf, 0xce, 0xcd, 0xcd, 0xcd, 0xce, 0xd0, 0xd2, 0xd3, 0xd2, 0xd0, 0xcf, 0xce, 0xd0, 0xd2, 0xd2, 0xd1, 0xcf, 0xce, 0xcd, 0xce, + 0xcf, 0xd1, 0xd2, 0xd2, 0xd1, 0xd0, 0xcf, 0xcf, 0xd0, 0xd0, 0xd1, 0xd2, 0xd2, 0xd1, 0xd1, 0xd1, 0xd3, 0xd5, 0xd6, 0xd7, 0xd7, 0xd8, + 0xda, 0xda, 0xdb, 0xdb, 0xdb, 0xdb, 0xdc, 0xdd, 0xdf, 0xdf, 0xdf, 0xe1, 0xe5, 0xe8, 0xe9, 0xe9, 0xeb, 0xee, 0xf0, 0xf2, 0xf5, 0xf8, + 0xfb, 0xfc, 0xfd, 0xfe, 0x01, 0x03, 0x04, 0x03, 0x04, 0x07, 0x0c, 0x0f, 0x10, 0x0f, 0x0f, 0x10, 0x12, 0x14, 0x15, 0x16, 0x18, 0x1c, + 0x20, 0x23, 0x23, 0x23, 0x24, 0x29, 0x2d, 0x30, 0x31, 0x30, 0x2f, 0x2f, 0x30, 0x33, 0x34, 0x34, 0x33, 0x32, 0x32, 0x34, 0x35, 0x37, + 0x36, 0x35, 0x35, 0x35, 0x35, 0x35, 0x34, 0x34, 0x34, 0x33, 0x33, 0x34, 0x35, 0x35, 0x36, 0x37, 0x39, 0x38, 0x37, 0x36, 0x37, 0x37, + 0x37, 0x36, 0x36, 0x37, 0x37, 0x39, 0x3b, 0x3c, 0x3c, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x38, 0x35, 0x33, 0x33, 0x33, 0x32, 0x30, 0x2f, + 0x2f, 0x30, 0x31, 0x32, 0x32, 0x31, 0x2f, 0x2e, 0x2d, 0x2c, 0x2c, 0x2a, 0x28, 0x26, 0x25, 0x25, 0x26, 0x27, 0x25, 0x24, 0x25, 0x26, + 0x27, 0x27, 0x27, 0x26, 0x25, 0x24, 0x22, 0x20, 0x20, 0x21, 0x22, 0x21, 0x20, 0x1f, 0x1d, 0x1d, 0x1d, 0x1c, 0x1a, 0x17, 0x15, 0x13, + 0x13, 0x14, 0x14, 0x12, 0x0f, 0x0c, 0x0b, 0x0b, 0x0b, 0x0b, 0x0a, 0x09, 0x08, 0x08, 0x07, 0x05, 0x02, 0x00, 0x00, 0x00, 0x01, 0xff, + 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0xf7, 0xf6, 0xf6, 0xf6, 0xf6, 0xf5, 0xf3, 0xf1, 0xef, 0xed, 0xec, 0xea, 0xe9, 0xe9, 0xe9, 0xe8, + 0xe7, 0xe6, 0xe4, 0xe2, 0xe0, 0xdf, 0xdd, 0xdb, 0xd8, 0xd8, 0xd8, 0xd9, 0xd8, 0xd6, 0xd5, 0xd3, 0xd3, 0xd3, 0xd4, 0xd3, 0xd2, 0xd3, + 0xd4, 0xd3, 0xd1, 0xcf, 0xce, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcc, 0xc9, 0xc6, 0xc4, 0xc2, 0xc1, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, + 0xbd, 0xbd, 0xbe, 0xc0, 0xc0, 0xc0, 0xc0, 0xc1, 0xc3, 0xc4, 0xc5, 0xc4, 0xc2, 0xc0, 0xc0, 0xc2, 0xc2, 0xc3, 0xc3, 0xc3, 0xc3, 0xc5, + 0xc6, 0xc5, 0xc4, 0xc3, 0xc4, 0xc4, 0xc5, 0xc5, 0xc4, 0xc4, 0xc5, 0xc5, 0xc4, 0xc5, 0xc7, 0xca, 0xcd, 0xd0, 0xd1, 0xd2, 0xd2, 0xd2, + 0xd3, 0xd4, 0xd4, 0xd3, 0xd3, 0xd3, 0xd5, 0xd7, 0xd9, 0xda, 0xdc, 0xde, 0xe1, 0xe3, 0xe5, 0xe8, 0xea, 0xeb, 0xeb, 0xec, 0xee, 0xf0, + 0xf3, 0xf5, 0xf7, 0xf7, 0xf7, 0xf8, 0xf9, 0xfb, 0xfc, 0xff, 0x01, 0x03, 0x03, 0x05, 0x07, 0x0a, 0x0c, 0x0e, 0x10, 0x11, 0x12, 0x14, + 0x16, 0x19, 0x1b, 0x1c, 0x1f, 0x20, 0x22, 0x23, 0x24, 0x25, 0x25, 0x26, 0x26, 0x26, 0x27, 0x28, 0x2a, 0x2d, 0x2e, 0x2e, 0x2e, 0x2f, + 0x30, 0x32, 0x33, 0x34, 0x35, 0x36, 0x36, 0x37, 0x39, 0x3b, 0x3c, 0x3d, 0x3d, 0x3d, 0x3e, 0x3f, 0x40, 0x40, 0x40, 0x41, 0x41, 0x42, + 0x44, 0x44, 0x44, 0x43, 0x43, 0x43, 0x43, 0x43, 0x42, 0x42, 0x42, 0x40, 0x40, 0x41, 0x43, 0x42, 0x43, 0x43, 0x42, 0x40, 0x3f, 0x3f, + 0x41, 0x42, 0x42, 0x42, 0x40, 0x3e, 0x3e, 0x3f, 0x40, 0x42, 0x42, 0x42, 0x41, 0x40, 0x3f, 0x3d, 0x3c, 0x3a, 0x38, 0x36, 0x35, 0x34, + 0x34, 0x33, 0x31, 0x2f, 0x2e, 0x2e, 0x2c, 0x2b, 0x2b, 0x2a, 0x29, 0x28, 0x26, 0x25, 0x25, 0x25, 0x25, 0x23, 0x21, 0x1f, 0x1e, 0x1f, + 0x1e, 0x1c, 0x19, 0x16, 0x13, 0x11, 0x10, 0x0e, 0x0d, 0x0b, 0x0a, 0x08, 0x06, 0x04, 0x03, 0x01, 0x00, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, + 0xf9, 0xf7, 0xf6, 0xf5, 0xf5, 0xf6, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf1, 0xef, 0xed, 0xec, 0xe9, 0xe6, 0xe3, 0xe1, 0xe0, 0xde, 0xdd, + 0xdc, 0xdd, 0xde, 0xde, 0xdd, 0xdb, 0xd9, 0xd8, 0xd8, 0xd9, 0xd8, 0xd7, 0xd5, 0xd4, 0xd2, 0xd1, 0xd1, 0xd1, 0xd1, 0xd0, 0xd1, 0xd2, + 0xd3, 0xd2, 0xd1, 0xd0, 0xd0, 0xd0, 0xce, 0xce, 0xcd, 0xcd, 0xcc, 0xcb, 0xc9, 0xc7, 0xc7, 0xc7, 0xc7, 0xc6, 0xc5, 0xc4, 0xc3, 0xc2, + 0xc3, 0xc3, 0xc3, 0xc2, 0xc1, 0xc2, 0xc3, 0xc3, 0xc2, 0xc1, 0xc1, 0xc2, 0xc2, 0xc2, 0xc2, 0xc2, 0xc1, 0xc2, 0xc2, 0xc2, 0xc1, 0xc1, + 0xc1, 0xc2, 0xc3, 0xc3, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc8, 0xc9, 0xc9, 0xca, 0xca, 0xca, 0xca, 0xcb, 0xcd, 0xce, 0xce, 0xce, + 0xcf, 0xd1, 0xd2, 0xd4, 0xd5, 0xd5, 0xd6, 0xd6, 0xd6, 0xd7, 0xd8, 0xd9, 0xdb, 0xdc, 0xdd, 0xdf, 0xe1, 0xe3, 0xe5, 0xe6, 0xe8, 0xe8, + 0xe9, 0xea, 0xeb, 0xed, 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf7, 0xf8, 0xfa, 0xfb, 0xfd, 0xff, 0x01, 0x03, 0x05, 0x06, 0x07, 0x08, 0x0a, + 0x0c, 0x0d, 0x0e, 0x10, 0x10, 0x11, 0x12, 0x13, 0x14, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1d, 0x20, 0x22, 0x24, 0x25, 0x25, 0x25, 0x26, + 0x27, 0x29, 0x2b, 0x2c, 0x2d, 0x2d, 0x2e, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x30, 0x31, 0x31, 0x31, 0x32, 0x34, 0x36, 0x38, 0x39, 0x39, + 0x39, 0x3a, 0x3b, 0x3d, 0x3d, 0x3e, 0x3f, 0x3f, 0x40, 0x41, 0x40, 0x3f, 0x3e, 0x3d, 0x3c, 0x3c, 0x3b, 0x3a, 0x39, 0x37, 0x37, 0x37, + 0x37, 0x38, 0x39, 0x3a, 0x3a, 0x39, 0x39, 0x39, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x39, 0x39, 0x39, 0x39, 0x3a, 0x3b, 0x3b, 0x3b, 0x3a, + 0x39, 0x38, 0x37, 0x38, 0x39, 0x3a, 0x3a, 0x39, 0x39, 0x38, 0x37, 0x36, 0x36, 0x35, 0x34, 0x32, 0x31, 0x2f, 0x2e, 0x2e, 0x2f, 0x2f, + 0x30, 0x2f, 0x2e, 0x2d, 0x2d, 0x2c, 0x2b, 0x29, 0x28, 0x26, 0x24, 0x22, 0x20, 0x1e, 0x1d, 0x1c, 0x1b, 0x1a, 0x19, 0x17, 0x16, 0x14, + 0x13, 0x12, 0x10, 0x0e, 0x0c, 0x0a, 0x08, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0xfe, 0xfc, 0xfa, 0xf7, 0xf5, 0xf4, 0xf2, 0xf1, + 0xef, 0xee, 0xec, 0xeb, 0xeb, 0xeb, 0xea, 0xe8, 0xe6, 0xe5, 0xe3, 0xe2, 0xe1, 0xde, 0xdc, 0xd9, 0xd7, 0xd4, 0xd2, 0xd0, 0xce, 0xcc, + 0xcb, 0xca, 0xc9, 0xc9, 0xc8, 0xc8, 0xc8, 0xc8, 0xc7, 0xc6, 0xc6, 0xc5, 0xc4, 0xc3, 0xc2, 0xc1, 0xc1, 0xc0, 0xc1, 0xc1, 0xc0, 0xbf, + 0xbe, 0xbe, 0xbf, 0xc0, 0xbf, 0xbe, 0xbd, 0xbd, 0xbe, 0xbe, 0xbf, 0xc0, 0xc1, 0xc0, 0xc0, 0xbf, 0xbe, 0xbc, 0xbb, 0xbb, 0xbb, 0xba, + 0xb9, 0xb8, 0xb7, 0xb7, 0xb7, 0xb7, 0xb8, 0xba, 0xbb, 0xbc, 0xbc, 0xbd, 0xbe, 0xbe, 0xc0, 0xc1, 0xc1, 0xc1, 0xc1, 0xc2, 0xc3, 0xc4, + 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd2, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd9, 0xd9, 0xda, 0xdb, + 0xdd, 0xde, 0xe0, 0xe1, 0xe3, 0xe4, 0xe5, 0xe7, 0xe9, 0xeb, 0xed, 0xef, 0xf1, 0xf3, 0xf5, 0xf8, 0xfb, 0xfd, 0xff, 0x00, 0x02, 0x03, + 0x06, 0x07, 0x09, 0x0a, 0x0b, 0x0d, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x16, 0x16, 0x17, 0x17, 0x18, 0x19, 0x1b, 0x1d, 0x1f, 0x21, + 0x23, 0x25, 0x27, 0x28, 0x29, 0x29, 0x2a, 0x2a, 0x2b, 0x2c, 0x2e, 0x2f, 0x2f, 0x30, 0x31, 0x31, 0x31, 0x31, 0x31, 0x32, 0x33, 0x34, + 0x36, 0x37, 0x37, 0x37, 0x37, 0x38, 0x39, 0x3b, 0x3c, 0x3d, 0x3d, 0x3d, 0x3e, 0x3e, 0x3e, 0x3e, 0x3f, 0x3f, 0x40, 0x41, 0x41, 0x41, + 0x41, 0x41, 0x41, 0x41, 0x40, 0x40, 0x3f, 0x40, 0x40, 0x3f, 0x3e, 0x3e, 0x3e, 0x3e, 0x3d, 0x3d, 0x3d, 0x3e, 0x3e, 0x3e, 0x3e, 0x3e, + 0x3d, 0x3c, 0x3c, 0x3c, 0x3b, 0x3a, 0x39, 0x38, 0x37, 0x37, 0x36, 0x35, 0x34, 0x34, 0x34, 0x33, 0x32, 0x31, 0x30, 0x30, 0x30, 0x30, + 0x2f, 0x2e, 0x2c, 0x2a, 0x29, 0x27, 0x26, 0x24, 0x22, 0x22, 0x21, 0x20, 0x1e, 0x1c, 0x1c, 0x1b, 0x1a, 0x18, 0x17, 0x15, 0x13, 0x12, + 0x10, 0x0e, 0x0c, 0x0a, 0x09, 0x07, 0x06, 0x05, 0x03, 0x02, 0x00, 0xfe, 0xfc, 0xfa, 0xf9, 0xf8, 0xf6, 0xf5, 0xf4, 0xf3, 0xf3, 0xf3, + 0xf2, 0xf1, 0xef, 0xee, 0xec, 0xeb, 0xe9, 0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe0, 0xdf, 0xdd, 0xdc, 0xdb, 0xda, 0xda, 0xd9, 0xd7, + 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd1, 0xd1, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xcf, 0xce, 0xcd, 0xcd, 0xcd, 0xcc, 0xca, + 0xc9, 0xc9, 0xc9, 0xc9, 0xca, 0xca, 0xca, 0xca, 0xcb, 0xcc, 0xcc, 0xcd, 0xcd, 0xce, 0xcf, 0xcf, 0xd0, 0xd1, 0xd1, 0xd1, 0xd2, 0xd3, + 0xd4, 0xd4, 0xd4, 0xd3, 0xd3, 0xd3, 0xd3, 0xd3, 0xd2, 0xd1, 0xd1, 0xd1, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd5, 0xd5, 0xd4, 0xd4, + 0xd4, 0xd5, 0xd5, 0xd5, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xdf, 0xdf, 0xe0, 0xe0, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, + 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe2, 0xe2, 0xe4, 0xe4, 0xe6, 0xe7, 0xe8, 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf8, 0xf9, 0xfb, 0xfd, 0xfe, 0x00, 0x01, 0x01, 0x02, 0x04, 0x06, 0x07, 0x08, 0x09, 0x0a, + 0x0b, 0x0d, 0x0e, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x18, 0x19, 0x1a, 0x1b, 0x1d, 0x1d, 0x1e, 0x1e, 0x1f, 0x20, + 0x21, 0x22, 0x23, 0x24, 0x26, 0x27, 0x28, 0x28, 0x28, 0x28, 0x29, 0x2a, 0x2a, 0x2b, 0x2b, 0x2b, 0x2c, 0x2c, 0x2c, 0x2c, 0x2b, 0x2b, + 0x2b, 0x2c, 0x2b, 0x2b, 0x2b, 0x2c, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2f, 0x2f, 0x2f, 0x2f, + 0x2e, 0x2e, 0x2e, 0x2e, 0x2d, 0x2d, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2b, 0x2b, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, + 0x2b, 0x2b, 0x2a, 0x29, 0x2a, 0x2b, 0x2b, 0x2b, 0x2b, 0x2a, 0x2a, 0x29, 0x28, 0x27, 0x26, 0x26, 0x25, 0x25, 0x24, 0x23, 0x21, 0x20, + 0x20, 0x20, 0x20, 0x1f, 0x1e, 0x1c, 0x1b, 0x1a, 0x19, 0x18, 0x18, 0x18, 0x17, 0x17, 0x15, 0x14, 0x13, 0x12, 0x11, 0x10, 0x0e, 0x0b, + 0x09, 0x08, 0x07, 0x07, 0x06, 0x05, 0x04, 0x02, 0x01, 0x00, 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf9, 0xf8, 0xf8, 0xf7, 0xf7, + 0xf5, 0xf3, 0xf2, 0xf1, 0xf0, 0xee, 0xec, 0xeb, 0xe9, 0xe8, 0xe7, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0, 0xdf, 0xdf, 0xdf, 0xdf, 0xde, + 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xda, 0xd9, 0xd8, 0xd8, 0xd8, 0xd7, 0xd6, 0xd6, 0xd4, 0xd4, 0xd4, 0xd3, 0xd2, 0xd1, 0xd1, 0xd0, 0xcf, + 0xcf, 0xce, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0xce, 0xce, 0xce, 0xcf, 0xd0, 0xd1, 0xd1, 0xd1, 0xd1, 0xd1, 0xd2, 0xd2, 0xd3, + 0xd3, 0xd4, 0xd4, 0xd4, 0xd3, 0xd3, 0xd3, 0xd3, 0xd3, 0xd3, 0xd3, 0xd3, 0xd3, 0xd2, 0xd2, 0xd2, 0xd2, 0xd3, 0xd4, 0xd5, 0xd7, 0xd8, + 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, 0xe0, 0xe1, 0xe2, 0xe4, 0xe5, 0xe5, 0xe6, 0xe6, 0xe7, 0xe8, 0xe8, 0xe9, 0xe9, 0xea, 0xeb, 0xec, + 0xed, 0xee, 0xee, 0xee, 0xef, 0xf0, 0xf1, 0xf1, 0xf1, 0xf1, 0xf2, 0xf3, 0xf3, 0xf4, 0xf5, 0xf6, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfc, + 0xfd, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x01, 0x02, 0x03, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x09, 0x09, 0x09, 0x0a, 0x0b, 0x0c, + 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1c, 0x1d, 0x1d, 0x1d, 0x1e, 0x1f, + 0x1f, 0x20, 0x20, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x26, 0x26, 0x26, 0x26, 0x26, 0x25, 0x26, 0x26, + 0x27, 0x28, 0x29, 0x2a, 0x2a, 0x29, 0x28, 0x27, 0x26, 0x26, 0x26, 0x26, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x26, 0x26, 0x26, 0x26, + 0x26, 0x26, 0x27, 0x27, 0x26, 0x25, 0x25, 0x24, 0x24, 0x23, 0x22, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x1f, 0x1e, 0x1e, 0x1e, 0x1e, + 0x1d, 0x1c, 0x1b, 0x1a, 0x19, 0x19, 0x18, 0x18, 0x17, 0x17, 0x17, 0x16, 0x15, 0x14, 0x13, 0x13, 0x13, 0x14, 0x14, 0x13, 0x13, 0x13, + 0x13, 0x12, 0x12, 0x12, 0x12, 0x12, 0x11, 0x10, 0x10, 0x0f, 0x0e, 0x0d, 0x0c, 0x0b, 0x0a, 0x0a, 0x09, 0x08, 0x08, 0x07, 0x06, 0x05, + 0x04, 0x03, 0x03, 0x02, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0xff, 0xff, 0xfe, 0xfd, 0xfc, 0xfc, 0xfb, 0xfa, 0xf9, 0xf7, 0xf7, 0xf6, + 0xf6, 0xf5, 0xf4, 0xf3, 0xf1, 0xf1, 0xf0, 0xef, 0xed, 0xec, 0xeb, 0xeb, 0xeb, 0xeb, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xe9, 0xe8, + 0xe8, 0xe7, 0xe6, 0xe5, 0xe5, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, + 0xe3, 0xe4, 0xe5, 0xe5, 0xe5, 0xe6, 0xe6, 0xe6, 0xe6, 0xe5, 0xe6, 0xe6, 0xe6, 0xe5, 0xe4, 0xe4, 0xe4, 0xe4, 0xe3, 0xe3, 0xe3, 0xe3, + 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe4, 0xe4, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe5, 0xe5, 0xe5, 0xe5, + 0xe5, 0xe5, 0xe5, 0xe6, 0xe6, 0xe5, 0xe5, 0xe4, 0xe4, 0xe4, 0xe5, 0xe5, 0xe5, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, + 0xe4, 0xe5, 0xe6, 0xe7, 0xe7, 0xe7, 0xe7, 0xe8, 0xe9, 0xe9, 0xea, 0xea, 0xea, 0xea, 0xeb, 0xeb, 0xec, 0xed, 0xef, 0xf1, 0xf2, 0xf2, + 0xf3, 0xf4, 0xf4, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf4, 0xf5, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfc, + 0xfd, 0xff, 0x00, 0x01, 0x01, 0x02, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x0a, 0x0a, 0x0b, 0x0c, 0x0d, 0x0d, 0x0e, 0x0f, 0x0f, + 0x10, 0x11, 0x11, 0x12, 0x12, 0x13, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x19, 0x19, 0x19, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, + 0x1e, 0x1f, 0x20, 0x21, 0x21, 0x22, 0x22, 0x22, 0x23, 0x23, 0x23, 0x24, 0x25, 0x25, 0x26, 0x27, 0x27, 0x28, 0x28, 0x28, 0x29, 0x29, + 0x29, 0x29, 0x29, 0x29, 0x28, 0x28, 0x28, 0x28, 0x28, 0x27, 0x27, 0x27, 0x27, 0x26, 0x26, 0x25, 0x25, 0x26, 0x27, 0x27, 0x27, 0x26, + 0x26, 0x26, 0x27, 0x27, 0x28, 0x28, 0x27, 0x26, 0x25, 0x25, 0x25, 0x25, 0x26, 0x26, 0x26, 0x26, 0x26, 0x25, 0x24, 0x24, 0x23, 0x23, + 0x22, 0x20, 0x1f, 0x1d, 0x1c, 0x1b, 0x1c, 0x1c, 0x1c, 0x1b, 0x1a, 0x1a, 0x19, 0x18, 0x18, 0x17, 0x16, 0x15, 0x14, 0x13, 0x13, 0x12, + 0x11, 0x10, 0x0f, 0x0e, 0x0d, 0x0c, 0x0b, 0x0a, 0x09, 0x08, 0x07, 0x06, 0x05, 0x04, 0x03, 0x01, 0x00, 0xff, 0xfd, 0xfc, 0xfa, 0xf9, + 0xf8, 0xf7, 0xf5, 0xf4, 0xf3, 0xf3, 0xf2, 0xf2, 0xf1, 0xf0, 0xf0, 0xef, 0xef, 0xee, 0xed, 0xec, 0xec, 0xeb, 0xeb, 0xea, 0xe9, 0xe8, + 0xe7, 0xe6, 0xe6, 0xe5, 0xe5, 0xe4, 0xe4, 0xe3, 0xe2, 0xe1, 0xe1, 0xe0, 0xe0, 0xdf, 0xdf, 0xdf, 0xde, 0xde, 0xde, 0xdf, 0xdf, 0xdf, + 0xdf, 0xdf, 0xdf, 0xdf, 0xde, 0xde, 0xde, 0xde, 0xde, 0xde, 0xde, 0xde, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, + 0xdd, 0xdc, 0xdc, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdc, 0xdc, 0xdc, 0xdb, 0xda, 0xda, 0xd9, 0xd9, 0xd9, 0xda, 0xdb, + 0xdc, 0xdc, 0xdd, 0xdd, 0xde, 0xde, 0xde, 0xde, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe1, 0xe1, 0xe1, + 0xe1, 0xe1, 0xe2, 0xe2, 0xe3, 0xe3, 0xe4, 0xe4, 0xe5, 0xe6, 0xe7, 0xe7, 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xec, 0xed, 0xee, 0xef, 0xf0, + 0xf0, 0xf1, 0xf2, 0xf2, 0xf3, 0xf4, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xf9, 0xfa, 0xfa, 0xfb, 0xfd, 0xfe, 0xff, 0x00, 0x01, 0x02, + 0x03, 0x03, 0x04, 0x05, 0x06, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0b, 0x0c, 0x0c, 0x0d, 0x0e, 0x0f, 0x0f, 0x10, 0x11, 0x11, 0x12, + 0x13, 0x14, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1d, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, + 0x1e, 0x1e, 0x1e, 0x1f, 0x1f, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, + 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x21, 0x21, 0x21, 0x22, 0x22, 0x21, 0x22, 0x22, 0x22, 0x22, 0x23, 0x23, 0x22, 0x22, 0x22, 0x22, + 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1e, 0x1e, 0x1d, 0x1d, + 0x1d, 0x1d, 0x1d, 0x1d, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x1a, + 0x19, 0x19, 0x18, 0x17, 0x16, 0x15, 0x15, 0x14, 0x13, 0x12, 0x12, 0x11, 0x10, 0x10, 0x0f, 0x0e, 0x0d, 0x0c, 0x0b, 0x0b, 0x0a, 0x09, + 0x08, 0x07, 0x07, 0x06, 0x06, 0x05, 0x04, 0x03, 0x03, 0x02, 0x01, 0x00, 0xff, 0xfe, 0xfc, 0xfb, 0xfa, 0xf8, 0xf6, 0xf5, 0xf3, 0xf2, + 0xf0, 0xef, 0xee, 0xed, 0xec, 0xeb, 0xeb, 0xea, 0xe9, 0xe8, 0xe8, 0xe7, 0xe6, 0xe5, 0xe4, 0xe4, 0xe3, 0xe3, 0xe2, 0xe1, 0xe1, 0xe0, + 0xdf, 0xde, 0xde, 0xde, 0xde, 0xdd, 0xdd, 0xdd, 0xdc, 0xdb, 0xdb, 0xda, 0xda, 0xd9, 0xd8, 0xd8, 0xd7, 0xd7, 0xd6, 0xd6, 0xd6, 0xd6, + 0xd6, 0xd6, 0xd6, 0xd6, 0xd5, 0xd5, 0xd5, 0xd5, 0xd5, 0xd4, 0xd4, 0xd4, 0xd4, 0xd3, 0xd3, 0xd3, 0xd4, 0xd4, 0xd4, 0xd4, 0xd4, 0xd4, + 0xd5, 0xd5, 0xd5, 0xd5, 0xd5, 0xd5, 0xd5, 0xd5, 0xd5, 0xd5, 0xd6, 0xd7, 0xd7, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd7, 0xd7, + 0xd7, 0xd7, 0xd7, 0xd7, 0xd8, 0xd8, 0xd9, 0xda, 0xda, 0xda, 0xdb, 0xdb, 0xdc, 0xdd, 0xdd, 0xde, 0xde, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, + 0xe0, 0xe1, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xef, 0xf0, 0xf1, 0xf2, 0xf4, 0xf5, + 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff, 0x00, 0x01, 0x02, 0x03, 0x05, 0x07, 0x08, 0x0a, 0x0c, 0x0d, 0x0f, 0x10, 0x12, + 0x13, 0x14, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1e, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x24, 0x25, 0x26, 0x27, 0x28, + 0x29, 0x2a, 0x2b, 0x2c, 0x2c, 0x2d, 0x2e, 0x2f, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x37, 0x37, 0x38, 0x38, 0x38, + 0x38, 0x38, 0x38, 0x39, 0x39, 0x39, 0x39, 0x39, 0x38, 0x38, 0x38, 0x38, 0x38, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, + 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x36, 0x36, 0x35, 0x35, 0x34, 0x33, 0x32, 0x31, 0x30, 0x2f, 0x2e, 0x2d, 0x2c, 0x2b, 0x2a, + 0x29, 0x28, 0x28, 0x27, 0x27, 0x27, 0x26, 0x25, 0x24, 0x23, 0x22, 0x21, 0x20, 0x1f, 0x1e, 0x1d, 0x1c, 0x1b, 0x1a, 0x19, 0x18, 0x17, + 0x16, 0x15, 0x14, 0x12, 0x11, 0x10, 0x0e, 0x0d, 0x0b, 0x0a, 0x08, 0x07, 0x05, 0x04, 0x03, 0x02, 0x00, 0xff, 0xfe, 0xfd, 0xfc, 0xfc, + 0xfb, 0xfa, 0xf9, 0xf8, 0xf7, 0xf5, 0xf4, 0xf2, 0xf1, 0xf0, 0xef, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, + 0xe1, 0xe0, 0xe0, 0xdf, 0xdf, 0xde, 0xde, 0xde, 0xdd, 0xdc, 0xdc, 0xdb, 0xdb, 0xda, 0xda, 0xda, 0xd9, 0xd8, 0xd8, 0xd8, 0xd7, 0xd7, + 0xd6, 0xd5, 0xd5, 0xd4, 0xd3, 0xd3, 0xd2, 0xd2, 0xd1, 0xd1, 0xd1, 0xd0, 0xd0, 0xd0, 0xcf, 0xcf, 0xcf, 0xcf, 0xce, 0xce, 0xce, 0xce, + 0xce, 0xce, 0xce, 0xce, 0xce, 0xcf, 0xcf, 0xcf, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd1, 0xd2, 0xd2, 0xd2, 0xd3, 0xd3, 0xd3, + 0xd3, 0xd4, 0xd4, 0xd4, 0xd4, 0xd4, 0xd4, 0xd4, 0xd3, 0xd3, 0xd3, 0xd3, 0xd4, 0xd4, 0xd5, 0xd5, 0xd6, 0xd7, 0xd7, 0xd8, 0xd8, 0xd9, + 0xd9, 0xda, 0xda, 0xdb, 0xdc, 0xdc, 0xdd, 0xdd, 0xde, 0xde, 0xdf, 0xe0, 0xe0, 0xe1, 0xe2, 0xe2, 0xe3, 0xe3, 0xe4, 0xe4, 0xe5, 0xe5, + 0xe6, 0xe7, 0xe7, 0xe8, 0xe9, 0xea, 0xeb, 0xed, 0xee, 0xef, 0xf1, 0xf3, 0xf4, 0xf6, 0xf7, 0xf8, 0xfa, 0xfb, 0xfd, 0xfe, 0xff, 0x00, + 0x02, 0x03, 0x04, 0x06, 0x07, 0x08, 0x08, 0x09, 0x0b, 0x0c, 0x0d, 0x0e, 0x10, 0x11, 0x12, 0x13, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, + 0x1b, 0x1c, 0x1d, 0x1e, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2a, 0x2b, 0x2c, 0x2c, 0x2d, 0x2d, 0x2d, + 0x2e, 0x2e, 0x2f, 0x2f, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x32, 0x32, 0x32, + 0x32, 0x32, 0x32, 0x32, 0x32, 0x31, 0x31, 0x30, 0x30, 0x2f, 0x2f, 0x2e, 0x2e, 0x2d, 0x2d, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2a, 0x2a, 0x2a, 0x2a, 0x29, 0x29, 0x28, 0x28, 0x27, 0x26, 0x26, 0x25, 0x24, 0x23, 0x23, 0x22, + 0x22, 0x22, 0x21, 0x21, 0x20, 0x20, 0x1f, 0x1f, 0x1e, 0x1d, 0x1c, 0x1c, 0x1b, 0x1a, 0x1a, 0x19, 0x19, 0x18, 0x17, 0x17, 0x16, 0x15, + 0x14, 0x13, 0x12, 0x11, 0x10, 0x0f, 0x0e, 0x0d, 0x0c, 0x0c, 0x0b, 0x0a, 0x09, 0x08, 0x07, 0x06, 0x05, 0x05, 0x03, 0x02, 0x01, 0x00, + 0xff, 0xfe, 0xfd, 0xfc, 0xfc, 0xfb, 0xfa, 0xfa, 0xf9, 0xf8, 0xf7, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, + 0xe9, 0xe8, 0xe6, 0xe5, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0, 0xe0, 0xdf, 0xde, 0xde, 0xdd, 0xdd, 0xdc, 0xdc, 0xdb, 0xda, 0xda, 0xd9, + 0xd8, 0xd8, 0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd2, 0xd1, 0xd0, 0xd0, 0xcf, 0xce, 0xce, 0xce, 0xcd, 0xcd, 0xcd, 0xcc, 0xcd, 0xcd, + 0xcd, 0xcd, 0xcd, 0xce, 0xce, 0xce, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xce, 0xcf, 0xce, 0xce, 0xce, 0xce, 0xce, 0xce, 0xce, 0xce, + 0xce, 0xce, 0xce, 0xce, 0xcf, 0xcf, 0xcf, 0xd0, 0xd1, 0xd2, 0xd2, 0xd3, 0xd4, 0xd4, 0xd5, 0xd6, 0xd6, 0xd7, 0xd7, 0xd8, 0xd8, 0xd9, + 0xd9, 0xda, 0xdb, 0xdb, 0xdc, 0xdd, 0xdd, 0xde, 0xdf, 0xe0, 0xe0, 0xe1, 0xe2, 0xe3, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, + 0xeb, 0xec, 0xed, 0xee, 0xf0, 0xf1, 0xf2, 0xf3, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfc, 0xfd, 0xfe, 0xff, 0x00, 0x01, 0x02, 0x03, + 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x11, 0x12, 0x13, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, + 0x19, 0x1a, 0x1b, 0x1c, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x25, 0x26, 0x26, 0x27, 0x27, 0x28, 0x29, 0x29, 0x2a, 0x2b, + 0x2b, 0x2c, 0x2c, 0x2d, 0x2d, 0x2e, 0x2e, 0x2e, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2f, 0x2f, 0x2f, + 0x30, 0x30, 0x30, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x30, 0x30, 0x30, 0x2f, 0x2f, 0x2e, 0x2e, 0x2d, 0x2d, + 0x2c, 0x2c, 0x2c, 0x2b, 0x2b, 0x2a, 0x2a, 0x29, 0x29, 0x29, 0x28, 0x28, 0x27, 0x27, 0x26, 0x26, 0x26, 0x25, 0x24, 0x24, 0x24, 0x23, + 0x22, 0x22, 0x21, 0x20, 0x1f, 0x1e, 0x1d, 0x1c, 0x1b, 0x1a, 0x19, 0x18, 0x17, 0x16, 0x15, 0x14, 0x13, 0x12, 0x12, 0x11, 0x10, 0x10, + 0x0f, 0x0e, 0x0d, 0x0c, 0x0c, 0x0b, 0x0a, 0x09, 0x08, 0x07, 0x06, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0xff, 0xfe, 0xfd, 0xfb, + 0xfa, 0xf9, 0xf8, 0xf7, 0xf6, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0, 0xef, 0xee, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8, 0xe7, 0xe6, 0xe5, + 0xe4, 0xe3, 0xe3, 0xe2, 0xe1, 0xe0, 0xdf, 0xde, 0xde, 0xdd, 0xdc, 0xdb, 0xdb, 0xda, 0xda, 0xd9, 0xd9, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, + 0xd8, 0xd7, 0xd7, 0xd7, 0xd7, 0xd7, 0xd7, 0xd7, 0xd6, 0xd6, 0xd6, 0xd5, 0xd5, 0xd5, 0xd5, 0xd5, 0xd5, 0xd5, 0xd5, 0xd5, 0xd5, 0xd5, + 0xd5, 0xd5, 0xd5, 0xd5, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xd7, 0xd7, 0xd7, 0xd8, 0xd8, 0xd9, 0xd9, 0xda, 0xda, 0xda, 0xda, 0xdb, 0xdb, + 0xdb, 0xdc, 0xdc, 0xdc, 0xdd, 0xdd, 0xde, 0xde, 0xdf, 0xdf, 0xe0, 0xe0, 0xe1, 0xe2, 0xe2, 0xe3, 0xe3, 0xe4, 0xe4, 0xe5, 0xe6, 0xe6, + 0xe7, 0xe8, 0xe8, 0xe9, 0xea, 0xea, 0xeb, 0xec, 0xec, 0xed, 0xed, 0xee, 0xef, 0xef, 0xf0, 0xf0, 0xf1, 0xf1, 0xf2, 0xf2, 0xf3, 0xf4, + 0xf4, 0xf5, 0xf6, 0xf7, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfb, 0xfc, 0xfd, 0xfd, 0xfe, 0xff, 0x00, 0x00, 0x01, 0x02, 0x02, 0x03, 0x04, + 0x04, 0x05, 0x06, 0x06, 0x07, 0x08, 0x09, 0x09, 0x0a, 0x0a, 0x0b, 0x0c, 0x0d, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x13, 0x14, + 0x15, 0x16, 0x16, 0x17, 0x17, 0x18, 0x18, 0x19, 0x19, 0x19, 0x19, 0x1a, 0x1a, 0x1a, 0x1a, 0x1b, 0x1b, 0x1b, 0x1c, 0x1c, 0x1d, 0x1d, + 0x1e, 0x1e, 0x1f, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x20, 0x1f, 0x1f, 0x1f, + 0x1f, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1d, 0x1d, 0x1d, 0x1d, 0x1c, 0x1c, 0x1c, 0x1b, 0x1b, 0x1a, 0x1a, 0x1a, 0x19, 0x19, 0x19, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x17, 0x17, 0x16, 0x16, 0x15, 0x15, 0x14, 0x14, 0x13, 0x13, 0x12, 0x12, 0x12, 0x12, 0x11, 0x11, + 0x11, 0x11, 0x11, 0x10, 0x10, 0x10, 0x10, 0x0f, 0x0f, 0x0f, 0x0f, 0x0e, 0x0e, 0x0e, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0c, 0x0c, 0x0c, 0x0c, 0x0b, 0x0b, 0x0b, 0x0b, 0x0a, 0x0a, 0x0a, 0x0a, 0x09, 0x09, 0x09, 0x09, 0x08, 0x08, 0x08, 0x07, 0x07, + 0x06, 0x06, 0x05, 0x05, 0x04, 0x03, 0x03, 0x02, 0x02, 0x01, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfd, 0xfc, 0xfc, + 0xfb, 0xfb, 0xfb, 0xfa, 0xfa, 0xf9, 0xf9, 0xf8, 0xf7, 0xf7, 0xf6, 0xf5, 0xf5, 0xf4, 0xf4, 0xf3, 0xf3, 0xf3, 0xf2, 0xf2, 0xf1, 0xf1, + 0xf1, 0xf0, 0xf0, 0xef, 0xef, 0xee, 0xee, 0xed, 0xed, 0xec, 0xec, 0xeb, 0xeb, 0xea, 0xea, 0xea, 0xe9, 0xe8, 0xe8, 0xe7, 0xe7, 0xe6, + 0xe6, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe3, 0xe3, 0xe3, + 0xe3, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe5, 0xe5, + 0xe5, 0xe6, 0xe6, 0xe6, 0xe7, 0xe7, 0xe7, 0xe7, 0xe8, 0xe8, 0xe8, 0xe9, 0xe9, 0xe9, 0xe9, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, + 0xea, 0xea, 0xeb, 0xeb, 0xeb, 0xeb, 0xec, 0xec, 0xed, 0xed, 0xee, 0xef, 0xef, 0xf0, 0xf1, 0xf1, 0xf2, 0xf3, 0xf3, 0xf3, 0xf4, 0xf4, + 0xf4, 0xf5, 0xf5, 0xf6, 0xf6, 0xf7, 0xf7, 0xf7, 0xf8, 0xf8, 0xf9, 0xfa, 0xfa, 0xfb, 0xfc, 0xfc, 0xfd, 0xfe, 0xff, 0xff, 0x00, 0x01, + 0x02, 0x02, 0x03, 0x03, 0x04, 0x04, 0x05, 0x05, 0x06, 0x06, 0x06, 0x07, 0x07, 0x08, 0x08, 0x09, 0x09, 0x0a, 0x0b, 0x0b, 0x0c, 0x0c, + 0x0d, 0x0d, 0x0e, 0x0e, 0x0e, 0x0f, 0x0f, 0x10, 0x10, 0x10, 0x11, 0x11, 0x12, 0x12, 0x13, 0x13, 0x14, 0x14, 0x15, 0x15, 0x15, 0x15, + 0x15, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x17, 0x17, 0x17, 0x17, 0x18, 0x18, 0x18, 0x19, 0x19, + 0x19, 0x19, 0x19, 0x1a, 0x1a, 0x1a, 0x19, 0x19, 0x19, 0x19, 0x19, 0x18, 0x18, 0x18, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, + 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x18, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x16, 0x16, 0x16, 0x15, + 0x15, 0x15, 0x14, 0x14, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x12, 0x13, 0x12, 0x12, 0x12, 0x11, 0x11, 0x11, 0x11, 0x11, 0x10, + 0x10, 0x10, 0x0f, 0x0f, 0x0f, 0x0e, 0x0e, 0x0d, 0x0d, 0x0c, 0x0c, 0x0b, 0x0a, 0x0a, 0x09, 0x09, 0x08, 0x08, 0x08, 0x07, 0x07, 0x07, + 0x06, 0x06, 0x06, 0x05, 0x05, 0x05, 0x05, 0x04, 0x04, 0x04, 0x03, 0x03, 0x02, 0x02, 0x01, 0x01, 0x00, 0xff, 0xff, 0xfe, 0xfd, 0xfd, + 0xfc, 0xfb, 0xfa, 0xfa, 0xf9, 0xf9, 0xf8, 0xf7, 0xf7, 0xf6, 0xf5, 0xf5, 0xf4, 0xf4, 0xf3, 0xf3, 0xf3, 0xf2, 0xf2, 0xf2, 0xf1, 0xf1, + 0xf1, 0xf0, 0xf0, 0xf0, 0xef, 0xef, 0xef, 0xee, 0xee, 0xed, 0xed, 0xed, 0xec, 0xec, 0xec, 0xec, 0xec, 0xeb, 0xeb, 0xeb, 0xeb, 0xeb, + 0xeb, 0xea, 0xea, 0xea, 0xea, 0xe9, 0xe9, 0xe9, 0xe9, 0xe8, 0xe8, 0xe8, 0xe8, 0xe8, 0xe7, 0xe7, 0xe7, 0xe7, 0xe6, 0xe6, 0xe6, 0xe5, + 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, + 0xe4, 0xe4, 0xe4, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe6, 0xe7, 0xe7, 0xe8, 0xe8, 0xe8, 0xe8, + 0xe9, 0xe9, 0xea, 0xea, 0xea, 0xeb, 0xeb, 0xec, 0xec, 0xec, 0xed, 0xed, 0xed, 0xee, 0xee, 0xef, 0xef, 0xf0, 0xf0, 0xf0, 0xf1, 0xf1, + 0xf2, 0xf2, 0xf2, 0xf3, 0xf3, 0xf4, 0xf4, 0xf5, 0xf6, 0xf6, 0xf7, 0xf8, 0xf8, 0xf9, 0xfa, 0xfb, 0xfb, 0xfc, 0xfd, 0xfd, 0xfe, 0xfe, + 0xff, 0xff, 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 0x03, 0x03, 0x04, 0x05, 0x05, 0x06, 0x06, 0x07, 0x07, 0x07, 0x08, 0x08, 0x08, 0x09, + 0x09, 0x09, 0x0a, 0x0a, 0x0a, 0x0b, 0x0b, 0x0b, 0x0c, 0x0c, 0x0c, 0x0d, 0x0d, 0x0e, 0x0e, 0x0e, 0x0f, 0x0f, 0x10, 0x10, 0x10, 0x11, + 0x11, 0x11, 0x12, 0x12, 0x12, 0x12, 0x12, 0x13, 0x13, 0x13, 0x13, 0x13, 0x14, 0x14, 0x14, 0x15, 0x15, 0x15, 0x15, 0x16, 0x16, 0x16, + 0x16, 0x17, 0x17, 0x17, 0x18, 0x18, 0x18, 0x18, 0x19, 0x19, 0x19, 0x1a, 0x1a, 0x1a, 0x1a, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, + 0x1b, 0x1b, 0x1b, 0x1b, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1d, 0x1d, 0x1d, 0x1d, 0x1e, 0x1e, 0x1e, 0x1e, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, + 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1d, 0x1d, 0x1d, 0x1c, + 0x1c, 0x1b, 0x1b, 0x1a, 0x1a, 0x1a, 0x19, 0x19, 0x18, 0x18, 0x17, 0x17, 0x17, 0x16, 0x16, 0x15, 0x15, 0x14, 0x14, 0x13, 0x12, 0x12, + 0x11, 0x10, 0x0f, 0x0f, 0x0e, 0x0d, 0x0c, 0x0b, 0x0a, 0x09, 0x08, 0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0xff, 0xfe, 0xfe, + 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf9, 0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf4, 0xf3, 0xf2, 0xf1, 0xf1, 0xf0, 0xef, 0xef, 0xee, 0xed, 0xec, + 0xeb, 0xeb, 0xea, 0xe9, 0xe8, 0xe8, 0xe7, 0xe6, 0xe5, 0xe4, 0xe4, 0xe3, 0xe2, 0xe1, 0xe1, 0xe0, 0xdf, 0xdf, 0xde, 0xdd, 0xdd, 0xdc, + 0xdc, 0xdb, 0xdb, 0xdb, 0xda, 0xda, 0xda, 0xd9, 0xd9, 0xd9, 0xd9, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd7, 0xd7, 0xd7, 0xd7, 0xd7, 0xd7, + 0xd7, 0xd7, 0xd7, 0xd7, 0xd7, 0xd7, 0xd7, 0xd7, 0xd7, 0xd7, 0xd7, 0xd8, 0xd8, 0xd8, 0xd9, 0xd9, 0xd9, 0xd9, 0xda, 0xda, 0xda, 0xda, + 0xda, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdc, 0xdc, 0xdc, 0xdc, 0xdd, 0xdd, 0xde, 0xde, 0xde, 0xdf, 0xdf, 0xe0, 0xe0, 0xe1, 0xe1, 0xe2, + 0xe3, 0xe3, 0xe4, 0xe4, 0xe5, 0xe6, 0xe6, 0xe7, 0xe8, 0xe8, 0xe9, 0xea, 0xea, 0xeb, 0xec, 0xec, 0xed, 0xee, 0xee, 0xef, 0xf0, 0xf0, + 0xf1, 0xf2, 0xf2, 0xf3, 0xf4, 0xf4, 0xf5, 0xf6, 0xf7, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfb, 0xfc, 0xfd, 0xfe, 0xff, 0xff, 0x00, 0x01, + 0x02, 0x02, 0x03, 0x04, 0x04, 0x05, 0x06, 0x07, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0b, 0x0c, 0x0d, 0x0e, 0x0e, 0x0f, 0x10, 0x11, 0x12, + 0x12, 0x13, 0x14, 0x15, 0x16, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1a, 0x1b, 0x1c, 0x1d, 0x1d, 0x1e, 0x1e, 0x1f, 0x1f, 0x20, 0x20, 0x21, + 0x21, 0x22, 0x23, 0x23, 0x24, 0x24, 0x25, 0x26, 0x26, 0x27, 0x27, 0x28, 0x28, 0x29, 0x29, 0x29, 0x2a, 0x2a, 0x2a, 0x2a, 0x2b, 0x2b, + 0x2b, 0x2b, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, + 0x2b, 0x2b, 0x2b, 0x2a, 0x2a, 0x2a, 0x29, 0x29, 0x29, 0x28, 0x28, 0x28, 0x27, 0x27, 0x26, 0x26, 0x25, 0x25, 0x24, 0x24, 0x23, 0x23, + 0x22, 0x22, 0x21, 0x20, 0x20, 0x1f, 0x1e, 0x1e, 0x1d, 0x1c, 0x1b, 0x1a, 0x1a, 0x19, 0x18, 0x17, 0x16, 0x15, 0x14, 0x13, 0x12, 0x11, + 0x10, 0x0f, 0x0e, 0x0d, 0x0c, 0x0b, 0x0b, 0x0a, 0x09, 0x08, 0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01, 0x01, 0x00, 0xff, 0xfe, 0xfd, + 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf2, 0xf1, 0xf0, 0xef, 0xef, 0xee, 0xee, 0xed, 0xec, 0xeb, 0xeb, + 0xea, 0xe9, 0xe8, 0xe8, 0xe7, 0xe6, 0xe6, 0xe5, 0xe4, 0xe4, 0xe3, 0xe2, 0xe2, 0xe1, 0xe1, 0xe0, 0xdf, 0xdf, 0xde, 0xde, 0xde, 0xdd, + 0xdd, 0xdc, 0xdc, 0xdb, 0xdb, 0xdb, 0xda, 0xda, 0xda, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd8, 0xd7, 0xd7, + 0xd7, 0xd7, 0xd7, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xd5, 0xd5, 0xd5, 0xd5, 0xd5, 0xd5, 0xd5, 0xd5, 0xd5, 0xd5, 0xd6, 0xd6, + 0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xd7, 0xd7, 0xd7, 0xd7, 0xd7, 0xd8, 0xd8, 0xd8, 0xd9, 0xd9, 0xd9, 0xda, 0xda, 0xda, 0xdb, 0xdb, 0xdc, + 0xdc, 0xdd, 0xdd, 0xde, 0xde, 0xdf, 0xe0, 0xe0, 0xe1, 0xe1, 0xe2, 0xe3, 0xe3, 0xe4, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe8, 0xe9, 0xea, + 0xeb, 0xec, 0xed, 0xed, 0xee, 0xef, 0xf0, 0xf1, 0xf2, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, + 0xfe, 0xff, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0e, 0x0f, 0x10, 0x11, 0x12, + 0x13, 0x13, 0x14, 0x15, 0x16, 0x17, 0x17, 0x18, 0x19, 0x1a, 0x1a, 0x1b, 0x1c, 0x1d, 0x1d, 0x1e, 0x1e, 0x1f, 0x20, 0x20, 0x21, 0x21, + 0x22, 0x22, 0x23, 0x23, 0x24, 0x24, 0x25, 0x25, 0x26, 0x26, 0x27, 0x27, 0x28, 0x28, 0x28, 0x29, 0x29, 0x29, 0x29, 0x2a, 0x2a, 0x2a, + 0x2a, 0x2a, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2a, 0x2a, 0x2a, 0x2a, + 0x2a, 0x2a, 0x29, 0x29, 0x29, 0x28, 0x28, 0x28, 0x27, 0x27, 0x26, 0x26, 0x25, 0x25, 0x25, 0x24, 0x24, 0x23, 0x23, 0x23, 0x22, 0x22, + 0x21, 0x21, 0x20, 0x20, 0x1f, 0x1e, 0x1e, 0x1d, 0x1d, 0x1c, 0x1b, 0x1a, 0x1a, 0x19, 0x19, 0x18, 0x17, 0x17, 0x16, 0x15, 0x15, 0x14, + 0x13, 0x13, 0x12, 0x12, 0x11, 0x10, 0x10, 0x0f, 0x0f, 0x0e, 0x0d, 0x0d, 0x0c, 0x0b, 0x0b, 0x0a, 0x09, 0x09, 0x08, 0x07, 0x06, 0x06, + 0x05, 0x04, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0xff, 0xfe, 0xfd, 0xfc, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0xf7, 0xf7, 0xf6, 0xf5, 0xf4, + 0xf3, 0xf2, 0xf1, 0xf0, 0xf0, 0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe9, 0xe8, 0xe7, 0xe6, 0xe5, 0xe4, 0xe4, 0xe3, 0xe2, 0xe1, + 0xe1, 0xe0, 0xdf, 0xdf, 0xde, 0xde, 0xdd, 0xdd, 0xdd, 0xdc, 0xdc, 0xdb, 0xdb, 0xda, 0xda, 0xd9, 0xd9, 0xd8, 0xd8, 0xd7, 0xd7, 0xd7, + 0xd6, 0xd6, 0xd6, 0xd5, 0xd5, 0xd5, 0xd5, 0xd4, 0xd4, 0xd4, 0xd4, 0xd4, 0xd3, 0xd3, 0xd3, 0xd3, 0xd3, 0xd3, 0xd2, 0xd2, 0xd2, 0xd2, + 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd2, 0xd3, 0xd3, 0xd3, 0xd4, 0xd4, 0xd4, 0xd5, 0xd5, 0xd6, 0xd6, 0xd7, 0xd7, 0xd8, 0xd9, 0xd9, + 0xda, 0xda, 0xdb, 0xdb, 0xdc, 0xdc, 0xdd, 0xdd, 0xde, 0xde, 0xdf, 0xe0, 0xe0, 0xe1, 0xe1, 0xe2, 0xe2, 0xe3, 0xe4, 0xe5, 0xe5, 0xe6, + 0xe7, 0xe8, 0xe9, 0xea, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, + 0xfc, 0xfd, 0xfe, 0xff, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, + 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x16, 0x17, 0x18, 0x19, 0x19, 0x1a, 0x1a, 0x1b, 0x1c, 0x1c, 0x1d, 0x1d, 0x1e, 0x1e, 0x1f, + 0x1f, 0x20, 0x20, 0x20, 0x21, 0x21, 0x22, 0x22, 0x23, 0x23, 0x24, 0x24, 0x24, 0x25, 0x25, 0x25, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, + 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, + 0x27, 0x27, 0x27, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x25, 0x25, 0x25, 0x24, 0x24, 0x24, 0x23, 0x23, 0x22, 0x22, 0x21, 0x21, 0x21, + 0x20, 0x1f, 0x1f, 0x1e, 0x1e, 0x1d, 0x1c, 0x1c, 0x1b, 0x1b, 0x1a, 0x19, 0x19, 0x18, 0x18, 0x17, 0x17, 0x16, 0x15, 0x15, 0x14, 0x13, + 0x13, 0x12, 0x11, 0x11, 0x10, 0x0f, 0x0f, 0x0e, 0x0d, 0x0c, 0x0c, 0x0b, 0x0a, 0x09, 0x09, 0x08, 0x07, 0x06, 0x05, 0x04, 0x04, 0x03, + 0x02, 0x01, 0x00, 0x00, 0xff, 0xfe, 0xfd, 0xfd, 0xfc, 0xfb, 0xfb, 0xfa, 0xf9, 0xf9, 0xf8, 0xf7, 0xf7, 0xf6, 0xf6, 0xf5, 0xf4, 0xf4, + 0xf3, 0xf3, 0xf2, 0xf1, 0xf1, 0xf0, 0xf0, 0xef, 0xee, 0xee, 0xed, 0xed, 0xec, 0xec, 0xeb, 0xea, 0xea, 0xe9, 0xe9, 0xe9, 0xe8, 0xe8, + 0xe7, 0xe7, 0xe6, 0xe6, 0xe6, 0xe5, 0xe5, 0xe5, 0xe5, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, + 0xe3, 0xe2, 0xe2, 0xe2, 0xe2, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe1, + 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, + 0xe4, 0xe4, 0xe4, 0xe5, 0xe5, 0xe5, 0xe5, 0xe6, 0xe6, 0xe6, 0xe7, 0xe7, 0xe8, 0xe8, 0xe8, 0xe9, 0xe9, 0xea, 0xea, 0xeb, 0xeb, 0xeb, + 0xec, 0xec, 0xed, 0xed, 0xee, 0xee, 0xef, 0xf0, 0xf0, 0xf1, 0xf1, 0xf2, 0xf3, 0xf3, 0xf4, 0xf4, 0xf5, 0xf6, 0xf6, 0xf7, 0xf7, 0xf8, + 0xf8, 0xf9, 0xf9, 0xfa, 0xfa, 0xfb, 0xfc, 0xfc, 0xfd, 0xfd, 0xfe, 0xfe, 0xff, 0xff, 0x00, 0x00, 0x01, 0x02, 0x02, 0x03, 0x03, 0x04, + 0x04, 0x05, 0x05, 0x06, 0x07, 0x07, 0x08, 0x08, 0x09, 0x09, 0x0a, 0x0a, 0x0a, 0x0b, 0x0b, 0x0c, 0x0c, 0x0c, 0x0d, 0x0d, 0x0e, 0x0e, + 0x0e, 0x0f, 0x0f, 0x0f, 0x10, 0x10, 0x10, 0x11, 0x11, 0x11, 0x12, 0x12, 0x12, 0x13, 0x13, 0x13, 0x14, 0x14, 0x14, 0x15, 0x15, 0x15, + 0x16, 0x16, 0x16, 0x16, 0x17, 0x17, 0x17, 0x17, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x16, 0x16, 0x16, 0x15, 0x15, 0x15, 0x15, 0x14, 0x14, 0x14, 0x13, 0x13, + 0x13, 0x13, 0x12, 0x12, 0x12, 0x11, 0x11, 0x11, 0x11, 0x10, 0x10, 0x10, 0x10, 0x0f, 0x0f, 0x0f, 0x0f, 0x0e, 0x0e, 0x0e, 0x0d, 0x0d, + 0x0d, 0x0c, 0x0c, 0x0c, 0x0b, 0x0b, 0x0b, 0x0a, 0x0a, 0x09, 0x09, 0x08, 0x08, 0x08, 0x07, 0x07, 0x06, 0x06, 0x05, 0x05, 0x04, 0x04, + 0x04, 0x03, 0x03, 0x03, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfd, 0xfd, 0xfc, 0xfb, + 0xfb, 0xfa, 0xfa, 0xf9, 0xf9, 0xf8, 0xf7, 0xf7, 0xf6, 0xf6, 0xf5, 0xf5, 0xf4, 0xf4, 0xf4, 0xf3, 0xf3, 0xf3, 0xf2, 0xf2, 0xf2, 0xf1, + 0xf1, 0xf1, 0xf1, 0xf0, 0xf0, 0xf0, 0xef, 0xef, 0xee, 0xee, 0xee, 0xed, 0xed, 0xed, 0xec, 0xec, 0xec, 0xeb, 0xeb, 0xeb, 0xea, 0xea, + 0xea, 0xea, 0xe9, 0xe9, 0xe9, 0xe9, 0xe8, 0xe8, 0xe8, 0xe8, 0xe8, 0xe8, 0xe8, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, + 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe8, 0xe8, 0xe8, 0xe8, 0xe8, 0xe8, 0xe8, 0xe9, 0xe9, + 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xea, 0xea, 0xea, 0xea, 0xea, 0xeb, 0xeb, 0xeb, 0xeb, 0xec, 0xec, 0xec, 0xec, 0xed, 0xed, + 0xed, 0xee, 0xee, 0xee, 0xef, 0xef, 0xef, 0xf0, 0xf0, 0xf0, 0xf1, 0xf1, 0xf1, 0xf2, 0xf2, 0xf2, 0xf2, 0xf3, 0xf3, 0xf3, 0xf3, 0xf4, + 0xf4, 0xf4, 0xf4, 0xf5, 0xf5, 0xf6, 0xf6, 0xf6, 0xf7, 0xf7, 0xf8, 0xf8, 0xf9, 0xf9, 0xfa, 0xfb, 0xfb, 0xfc, 0xfc, 0xfd, 0xfd, 0xfe, + 0xff, 0xff, 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 0x02, 0x03, 0x03, 0x04, 0x04, 0x04, 0x05, 0x05, 0x06, 0x06, 0x06, 0x07, 0x07, 0x08, + 0x08, 0x09, 0x09, 0x0a, 0x0a, 0x0b, 0x0b, 0x0c, 0x0c, 0x0d, 0x0d, 0x0e, 0x0e, 0x0f, 0x0f, 0x0f, 0x10, 0x10, 0x11, 0x11, 0x11, 0x12, + 0x12, 0x12, 0x13, 0x13, 0x13, 0x14, 0x14, 0x14, 0x14, 0x15, 0x15, 0x15, 0x15, 0x16, 0x16, 0x16, 0x16, 0x16, 0x17, 0x17, 0x17, 0x17, + 0x17, 0x17, 0x17, 0x17, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x16, 0x16, 0x16, 0x16, 0x16, 0x15, 0x15, 0x15, 0x15, 0x15, 0x14, + 0x14, 0x14, 0x13, 0x13, 0x13, 0x13, 0x12, 0x12, 0x12, 0x11, 0x11, 0x11, 0x10, 0x10, 0x10, 0x0f, 0x0f, 0x0f, 0x0e, 0x0e, 0x0e, 0x0d, + 0x0d, 0x0d, 0x0c, 0x0c, 0x0c, 0x0b, 0x0b, 0x0a, 0x0a, 0x0a, 0x09, 0x09, 0x09, 0x08, 0x08, 0x07, 0x07, 0x07, 0x06, 0x06, 0x05, 0x05, + 0x04, 0x04, 0x04, 0x03, 0x03, 0x03, 0x02, 0x02, 0x01, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfd, 0xfd, 0xfd, 0xfc, + 0xfc, 0xfb, 0xfb, 0xfb, 0xfa, 0xfa, 0xf9, 0xf9, 0xf9, 0xf8, 0xf8, 0xf8, 0xf7, 0xf7, 0xf7, 0xf6, 0xf6, 0xf6, 0xf5, 0xf5, 0xf5, 0xf4, + 0xf4, 0xf4, 0xf3, 0xf3, 0xf3, 0xf2, 0xf2, 0xf2, 0xf1, 0xf1, 0xf1, 0xf0, 0xf0, 0xf0, 0xf0, 0xef, 0xef, 0xef, 0xef, 0xef, 0xee, 0xee, + 0xee, 0xee, 0xed, 0xed, 0xed, 0xed, 0xed, 0xec, 0xec, 0xec, 0xec, 0xec, 0xeb, 0xeb, 0xeb, 0xeb, 0xeb, 0xea, 0xea, 0xea, 0xea, 0xea, + 0xea, 0xea, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, + 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xea, 0xea, 0xea, 0xea, 0xea, 0xeb, 0xeb, 0xeb, + 0xeb, 0xec, 0xec, 0xec, 0xec, 0xed, 0xed, 0xed, 0xed, 0xee, 0xee, 0xee, 0xee, 0xee, 0xef, 0xef, 0xef, 0xef, 0xf0, 0xf0, 0xf0, 0xf1, + 0xf1, 0xf2, 0xf2, 0xf2, 0xf3, 0xf3, 0xf4, 0xf4, 0xf5, 0xf5, 0xf6, 0xf6, 0xf6, 0xf7, 0xf7, 0xf8, 0xf8, 0xf9, 0xf9, 0xf9, 0xfa, 0xfa, + 0xfb, 0xfb, 0xfc, 0xfc, 0xfc, 0xfd, 0xfd, 0xfe, 0xfe, 0xff, 0xff, 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 0x03, 0x03, 0x04, 0x04, 0x05, + 0x05, 0x06, 0x06, 0x07, 0x07, 0x08, 0x08, 0x08, 0x09, 0x09, 0x0a, 0x0a, 0x0a, 0x0b, 0x0b, 0x0c, 0x0c, 0x0c, 0x0d, 0x0d, 0x0e, 0x0e, + 0x0f, 0x0f, 0x10, 0x10, 0x11, 0x11, 0x11, 0x12, 0x12, 0x13, 0x13, 0x14, 0x14, 0x14, 0x15, 0x15, 0x16, 0x16, 0x16, 0x17, 0x17, 0x17, + 0x17, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x1a, 0x1a, 0x1a, + 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x17, 0x17, 0x17, 0x17, 0x17, 0x16, 0x16, 0x16, 0x16, 0x16, 0x15, 0x15, 0x15, 0x15, 0x15, 0x14, 0x14, + 0x14, 0x14, 0x13, 0x13, 0x13, 0x13, 0x12, 0x12, 0x12, 0x11, 0x11, 0x11, 0x11, 0x10, 0x10, 0x10, 0x0f, 0x0f, 0x0e, 0x0e, 0x0e, 0x0d, + 0x0d, 0x0c, 0x0c, 0x0b, 0x0b, 0x0a, 0x0a, 0x0a, 0x09, 0x09, 0x08, 0x08, 0x07, 0x07, 0x06, 0x06, 0x05, 0x04, 0x04, 0x03, 0x02, 0x02, + 0x01, 0x01, 0x00, 0xff, 0xfe, 0xfe, 0xfd, 0xfc, 0xfc, 0xfb, 0xfa, 0xfa, 0xf9, 0xf8, 0xf8, 0xf7, 0xf6, 0xf5, 0xf5, 0xf4, 0xf3, 0xf3, + 0xf2, 0xf2, 0xf1, 0xf0, 0xf0, 0xef, 0xef, 0xee, 0xee, 0xed, 0xed, 0xec, 0xec, 0xeb, 0xea, 0xea, 0xe9, 0xe9, 0xe8, 0xe8, 0xe7, 0xe7, + 0xe6, 0xe6, 0xe5, 0xe5, 0xe4, 0xe4, 0xe3, 0xe3, 0xe3, 0xe2, 0xe2, 0xe2, 0xe1, 0xe1, 0xe1, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xdf, + 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, + 0xdf, 0xdf, 0xdf, 0xdf, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe1, 0xe1, 0xe1, 0xe1, 0xe2, 0xe2, 0xe2, 0xe3, 0xe3, 0xe3, 0xe4, 0xe4, 0xe5, + 0xe5, 0xe5, 0xe6, 0xe6, 0xe6, 0xe7, 0xe7, 0xe7, 0xe8, 0xe8, 0xe9, 0xe9, 0xea, 0xea, 0xeb, 0xeb, 0xec, 0xed, 0xed, 0xee, 0xee, 0xef, + 0xef, 0xf0, 0xf1, 0xf1, 0xf2, 0xf3, 0xf3, 0xf4, 0xf4, 0xf5, 0xf6, 0xf6, 0xf7, 0xf8, 0xf8, 0xf9, 0xf9, 0xfa, 0xfb, 0xfb, 0xfc, 0xfd, + 0xfe, 0xfe, 0xff, 0x00, 0x01, 0x01, 0x02, 0x03, 0x03, 0x04, 0x05, 0x06, 0x06, 0x07, 0x08, 0x08, 0x09, 0x0a, 0x0a, 0x0b, 0x0b, 0x0c, + 0x0d, 0x0d, 0x0e, 0x0e, 0x0f, 0x10, 0x10, 0x11, 0x12, 0x12, 0x13, 0x13, 0x14, 0x15, 0x15, 0x16, 0x16, 0x17, 0x18, 0x18, 0x19, 0x19, + 0x1a, 0x1a, 0x1a, 0x1b, 0x1b, 0x1c, 0x1c, 0x1c, 0x1d, 0x1d, 0x1e, 0x1e, 0x1e, 0x1e, 0x1f, 0x1f, 0x1f, 0x20, 0x20, 0x20, 0x21, 0x21, + 0x21, 0x21, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x22, 0x22, + 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21, 0x21, 0x21, 0x21, 0x20, 0x20, 0x20, 0x20, 0x1f, 0x1f, 0x1f, 0x1e, 0x1e, 0x1d, 0x1d, 0x1d, + 0x1c, 0x1c, 0x1b, 0x1b, 0x1a, 0x1a, 0x19, 0x19, 0x18, 0x18, 0x17, 0x17, 0x16, 0x15, 0x15, 0x14, 0x14, 0x13, 0x13, 0x12, 0x12, 0x11, + 0x10, 0x10, 0x0f, 0x0e, 0x0e, 0x0d, 0x0c, 0x0c, 0x0b, 0x0a, 0x0a, 0x09, 0x08, 0x07, 0x07, 0x06, 0x05, 0x05, 0x04, 0x03, 0x03, 0x02, + 0x01, 0x01, 0x00, 0xff, 0xff, 0xfe, 0xfe, 0xfd, 0xfc, 0xfc, 0xfb, 0xfa, 0xfa, 0xf9, 0xf8, 0xf8, 0xf7, 0xf6, 0xf6, 0xf5, 0xf4, 0xf4, + 0xf3, 0xf2, 0xf2, 0xf1, 0xf1, 0xf0, 0xef, 0xef, 0xee, 0xee, 0xed, 0xed, 0xed, 0xec, 0xec, 0xeb, 0xeb, 0xea, 0xea, 0xe9, 0xe9, 0xe8, + 0xe8, 0xe7, 0xe7, 0xe6, 0xe6, 0xe6, 0xe5, 0xe5, 0xe4, 0xe4, 0xe4, 0xe3, 0xe3, 0xe2, 0xe2, 0xe2, 0xe1, 0xe1, 0xe1, 0xe1, 0xe0, 0xe0, + 0xe0, 0xe0, 0xe0, 0xe0, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, + 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xdf, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe1, 0xe1, 0xe1, 0xe1, 0xe2, 0xe2, 0xe2, 0xe3, 0xe3, 0xe3, 0xe4, + 0xe4, 0xe4, 0xe5, 0xe5, 0xe5, 0xe6, 0xe6, 0xe7, 0xe7, 0xe7, 0xe8, 0xe8, 0xe8, 0xe9, 0xe9, 0xea, 0xea, 0xeb, 0xeb, 0xec, 0xec, 0xed, + 0xee, 0xee, 0xef, 0xef, 0xf0, 0xf0, 0xf1, 0xf2, 0xf2, 0xf3, 0xf3, 0xf4, 0xf4, 0xf5, 0xf5, 0xf6, 0xf6, 0xf7, 0xf8, 0xf8, 0xf9, 0xfa, + 0xfa, 0xfb, 0xfb, 0xfc, 0xfd, 0xfd, 0xfe, 0xfe, 0xff, 0x00, 0x00, 0x01, 0x01, 0x02, 0x03, 0x03, 0x04, 0x04, 0x05, 0x06, 0x06, 0x07, + 0x08, 0x08, 0x09, 0x09, 0x0a, 0x0b, 0x0b, 0x0c, 0x0c, 0x0d, 0x0d, 0x0e, 0x0e, 0x0f, 0x10, 0x10, 0x11, 0x11, 0x12, 0x12, 0x12, 0x13, + 0x13, 0x14, 0x14, 0x15, 0x15, 0x15, 0x16, 0x16, 0x16, 0x17, 0x17, 0x17, 0x18, 0x18, 0x18, 0x19, 0x19, 0x19, 0x1a, 0x1a, 0x1a, 0x1b, + 0x1b, 0x1b, 0x1b, 0x1c, 0x1c, 0x1c, 0x1c, 0x1d, 0x1d, 0x1d, 0x1d, 0x1d, 0x1d, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, 0x1e, + 0x1d, 0x1d, 0x1d, 0x1d, 0x1d, 0x1d, 0x1d, 0x1d, 0x1d, 0x1d, 0x1d, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1c, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, + 0x1a, 0x1a, 0x1a, 0x1a, 0x19, 0x19, 0x19, 0x19, 0x18, 0x18, 0x18, 0x17, 0x17, 0x17, 0x16, 0x16, 0x16, 0x15, 0x15, 0x14, 0x14, 0x14, + 0x13, 0x13, 0x12, 0x12, 0x12, 0x11, 0x11, 0x10, 0x10, 0x10, 0x0f, 0x0f, 0x0e, 0x0e, 0x0d, 0x0d, 0x0c, 0x0c, 0x0c, 0x0b, 0x0b, 0x0a, + 0x0a, 0x09, 0x09, 0x08, 0x08, 0x07, 0x07, 0x06, 0x06, 0x05, 0x04, 0x04, 0x03, 0x03, 0x02, 0x02, 0x01, 0x00, 0x00, 0xff, 0xff, 0xfe, + 0xfd, 0xfd, 0xfc, 0xfc, 0xfb, 0xfa, 0xfa, 0xf9, 0xf9, 0xf8, 0xf8, 0xf7, 0xf7, 0xf6, 0xf5, 0xf5, 0xf4, 0xf4, 0xf3, 0xf3, 0xf2, 0xf2, + 0xf1, 0xf1, 0xf0, 0xf0, 0xef, 0xef, 0xee, 0xee, 0xed, 0xed, 0xec, 0xec, 0xeb, 0xeb, 0xea, 0xea, 0xe9, 0xe9, 0xe8, 0xe8, 0xe7, 0xe7, + 0xe6, 0xe6, 0xe6, 0xe5, 0xe5, 0xe5, 0xe4, 0xe4, 0xe4, 0xe4, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe2, 0xe2, 0xe2, 0xe2, + 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe2, 0xe3, 0xe3, 0xe3, + 0xe3, 0xe3, 0xe4, 0xe4, 0xe4, 0xe4, 0xe4, 0xe5, 0xe5, 0xe5, 0xe6, 0xe6, 0xe6, 0xe6, 0xe7, 0xe7, 0xe8, 0xe8, 0xe8, 0xe9, 0xe9, 0xe9, + 0xea, 0xea, 0xea, 0xeb, 0xeb, 0xec, 0xec, 0xec, 0xed, 0xed, 0xee, 0xee, 0xef, 0xef, 0xef, 0xf0, 0xf0, 0xf1, 0xf1, 0xf2, 0xf2, 0xf3, + 0xf3, 0xf4, 0xf4, 0xf5, 0xf5, 0xf6, 0xf6, 0xf7, 0xf8, 0xf8, 0xf9, 0xf9, 0xfa, 0xfa, 0xfb, 0xfb, 0xfc, 0xfd, 0xfd, 0xfe, 0xfe, 0xff, + 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 0x03, 0x04, 0x04, 0x05, 0x05, 0x06, 0x06, 0x07, 0x07, 0x08, 0x08, 0x09, 0x09, 0x0a, 0x0a, 0x0b, + 0x0b, 0x0c, 0x0c, 0x0d, 0x0d, 0x0e, 0x0e, 0x0e, 0x0f, 0x0f, 0x10, 0x10, 0x10, 0x11, 0x11, 0x11, 0x12, 0x12, 0x12, 0x13, 0x13, 0x13, + 0x14, 0x14, 0x14, 0x14, 0x15, 0x15, 0x15, 0x16, 0x16, 0x16, 0x16, 0x16, 0x17, 0x17, 0x17, 0x17, 0x17, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, + 0x1a, 0x1a, 0x1a, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x18, 0x18, 0x18, 0x18, 0x18, 0x17, 0x17, 0x17, 0x17, 0x17, 0x16, 0x16, + 0x16, 0x16, 0x15, 0x15, 0x15, 0x14, 0x14, 0x14, 0x13, 0x13, 0x12, 0x12, 0x12, 0x11, 0x11, 0x10, 0x10, 0x0f, 0x0f, 0x0f, 0x0e, 0x0e, + 0x0d, 0x0d, 0x0c, 0x0c, 0x0b, 0x0b, 0x0a, 0x0a, 0x09, 0x09, 0x08, 0x08, 0x07, 0x07, 0x07, 0x06, 0x06, 0x05, 0x05, 0x04, 0x04, 0x03, + 0x03, 0x02, 0x02, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfd, 0xfd, 0xfc, 0xfc, 0xfb, 0xfb, 0xfa, 0xfa, 0xf9, 0xf9, + 0xf8, 0xf8, 0xf7, 0xf7, 0xf6, 0xf6, 0xf5, 0xf5, 0xf4, 0xf4, 0xf3, 0xf3, 0xf3, 0xf2, 0xf2, 0xf1, 0xf1, 0xf1, 0xf0, 0xf0, 0xf0, 0xef, + 0xef, 0xef, 0xef, 0xee, 0xee, 0xee, 0xed, 0xed, 0xed, 0xed, 0xec, 0xec, 0xec, 0xec, 0xec, 0xec, 0xeb, 0xeb, 0xeb, 0xeb, 0xeb, 0xeb, + 0xeb, 0xeb, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, + 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xeb, 0xeb, 0xeb, 0xeb, 0xeb, 0xeb, 0xec, + 0xec, 0xec, 0xec, 0xec, 0xec, 0xed, 0xed, 0xed, 0xed, 0xed, 0xee, 0xee, 0xee, 0xee, 0xef, 0xef, 0xef, 0xef, 0xf0, 0xf0, 0xf0, 0xf0, + 0xf1, 0xf1, 0xf2, 0xf2, 0xf2, 0xf3, 0xf3, 0xf3, 0xf4, 0xf4, 0xf5, 0xf5, 0xf5, 0xf6, 0xf6, 0xf7, 0xf7, 0xf7, 0xf8, 0xf8, 0xf8, 0xf9, + 0xf9, 0xf9, 0xfa, 0xfa, 0xfb, 0xfb, 0xfb, 0xfc, 0xfc, 0xfc, 0xfd, 0xfd, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0x00, 0x00, 0x01, 0x01, 0x02, + 0x02, 0x02, 0x03, 0x03, 0x04, 0x04, 0x05, 0x05, 0x05, 0x06, 0x06, 0x06, 0x07, 0x07, 0x07, 0x08, 0x08, 0x08, 0x09, 0x09, 0x09, 0x09, + 0x0a, 0x0a, 0x0a, 0x0a, 0x0b, 0x0b, 0x0b, 0x0b, 0x0c, 0x0c, 0x0c, 0x0c, 0x0d, 0x0d, 0x0d, 0x0d, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x0a, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x08, 0x08, 0x08, 0x08, 0x08, 0x07, 0x07, 0x07, 0x07, 0x07, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x05, 0x05, 0x05, 0x05, 0x05, 0x04, 0x04, 0x04, 0x04, 0x03, 0x03, 0x03, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, + 0x01, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfd, 0xfd, 0xfd, 0xfc, 0xfc, 0xfc, 0xfb, 0xfb, 0xfb, 0xfb, 0xfa, 0xfa, + 0xfa, 0xf9, 0xf9, 0xf8, 0xf8, 0xf8, 0xf7, 0xf7, 0xf7, 0xf6, 0xf6, 0xf6, 0xf5, 0xf5, 0xf5, 0xf4, 0xf4, 0xf4, 0xf3, 0xf3, 0xf3, 0xf3, + 0xf2, 0xf2, 0xf2, 0xf1, 0xf1, 0xf1, 0xf1, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xef, 0xef, 0xef, 0xef, 0xef, 0xee, 0xee, 0xee, 0xee, 0xee, + 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, + 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xef, 0xef, 0xef, 0xef, + 0xef, 0xef, 0xef, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf2, 0xf2, 0xf2, 0xf2, 0xf3, 0xf3, 0xf3, 0xf3, 0xf4, + 0xf4, 0xf4, 0xf4, 0xf5, 0xf5, 0xf5, 0xf5, 0xf6, 0xf6, 0xf6, 0xf7, 0xf7, 0xf7, 0xf7, 0xf8, 0xf8, 0xf8, 0xf9, 0xf9, 0xf9, 0xfa, 0xfa, + 0xfa, 0xfb, 0xfb, 0xfc, 0xfc, 0xfc, 0xfd, 0xfd, 0xfd, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, + 0x02, 0x02, 0x03, 0x03, 0x04, 0x04, 0x04, 0x04, 0x05, 0x05, 0x05, 0x06, 0x06, 0x06, 0x07, 0x07, 0x07, 0x08, 0x08, 0x08, 0x09, 0x09, + 0x09, 0x0a, 0x0a, 0x0a, 0x0b, 0x0b, 0x0b, 0x0c, 0x0c, 0x0c, 0x0c, 0x0d, 0x0d, 0x0d, 0x0d, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x10, 0x10, 0x10, 0x10, 0x10, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x13, + 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x14, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, + 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x11, 0x11, 0x11, 0x11, 0x11, 0x10, 0x10, 0x10, + 0x10, 0x0f, 0x0f, 0x0f, 0x0f, 0x0e, 0x0e, 0x0e, 0x0e, 0x0d, 0x0d, 0x0d, 0x0c, 0x0c, 0x0c, 0x0b, 0x0b, 0x0b, 0x0a, 0x0a, 0x0a, 0x09, + 0x09, 0x09, 0x08, 0x08, 0x07, 0x07, 0x07, 0x06, 0x06, 0x06, 0x05, 0x05, 0x04, 0x04, 0x04, 0x03, 0x03, 0x02, 0x02, 0x02, 0x01, 0x01, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfd, 0xfd, 0xfd, 0xfc, 0xfc, 0xfb, 0xfb, 0xfb, 0xfa, 0xfa, 0xfa, 0xf9, 0xf9, 0xf8, + 0xf8, 0xf8, 0xf8, 0xf7, 0xf7, 0xf7, 0xf6, 0xf6, 0xf6, 0xf5, 0xf5, 0xf5, 0xf4, 0xf4, 0xf4, 0xf4, 0xf3, 0xf3, 0xf3, 0xf3, 0xf2, 0xf2, + 0xf2, 0xf1, 0xf1, 0xf1, 0xf1, 0xf1, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xef, 0xef, 0xef, 0xef, 0xef, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, + 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xed, 0xec, 0xec, 0xec, 0xec, 0xec, 0xec, 0xec, 0xec, 0xec, 0xec, 0xec, 0xec, 0xec, 0xec, + 0xec, 0xec, 0xec, 0xec, 0xec, 0xec, 0xec, 0xec, 0xec, 0xec, 0xec, 0xec, 0xec, 0xec, 0xec, 0xec, 0xec, 0xec, 0xec, 0xed, 0xed, 0xed, + 0xed, 0xed, 0xed, 0xed, 0xed, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xef, 0xef, 0xef, 0xef, 0xef, 0xf0, 0xf0, 0xf0, 0xf0, 0xf1, 0xf1, + 0xf1, 0xf2, 0xf2, 0xf2, 0xf2, 0xf3, 0xf3, 0xf3, 0xf4, 0xf4, 0xf4, 0xf5, 0xf5, 0xf5, 0xf6, 0xf6, 0xf7, 0xf7, 0xf7, 0xf8, 0xf8, 0xf9, + 0xf9, 0xf9, 0xfa, 0xfa, 0xfb, 0xfb, 0xfc, 0xfc, 0xfd, 0xfd, 0xfd, 0xfe, 0xfe, 0xff, 0xff, 0x00, 0x00, 0x01, 0x01, 0x01, 0x02, 0x02, + 0x03, 0x03, 0x03, 0x04, 0x04, 0x05, 0x05, 0x05, 0x06, 0x06, 0x07, 0x07, 0x07, 0x08, 0x08, 0x08, 0x09, 0x09, 0x0a, 0x0a, 0x0a, 0x0b, + 0x0b, 0x0b, 0x0c, 0x0c, 0x0c, 0x0c, 0x0d, 0x0d, 0x0d, 0x0e, 0x0e, 0x0e, 0x0e, 0x0f, 0x0f, 0x0f, 0x0f, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, + 0x13, 0x13, 0x13, 0x13, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x13, 0x13, 0x13, 0x13, + 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x0f, 0x0f, 0x0f, 0x0f, 0x0e, 0x0e, 0x0e, 0x0e, 0x0d, 0x0d, 0x0d, 0x0c, 0x0c, 0x0c, 0x0c, 0x0b, 0x0b, 0x0b, + 0x0b, 0x0a, 0x0a, 0x0a, 0x09, 0x09, 0x09, 0x08, 0x08, 0x08, 0x08, 0x07, 0x07, 0x06, 0x06, 0x06, 0x05, 0x05, 0x05, 0x04, 0x04, 0x03, + 0x03, 0x02, 0x02, 0x02, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfd, 0xfd, 0xfc, 0xfc, 0xfb, 0xfb, 0xfb, 0xfa, 0xfa, + 0xfa, 0xf9, 0xf9, 0xf8, 0xf8, 0xf8, 0xf7, 0xf7, 0xf6, 0xf6, 0xf5, 0xf5, 0xf5, 0xf4, 0xf4, 0xf3, 0xf3, 0xf3, 0xf2, 0xf2, 0xf1, 0xf1, + 0xf1, 0xf0, 0xf0, 0xf0, 0xef, 0xef, 0xef, 0xee, 0xee, 0xee, 0xee, 0xed, 0xed, 0xed, 0xec, 0xec, 0xec, 0xec, 0xeb, 0xeb, 0xeb, 0xeb, + 0xea, 0xea, 0xea, 0xea, 0xea, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe8, 0xe8, 0xe8, 0xe8, 0xe8, 0xe8, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, + 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe8, 0xe8, 0xe8, 0xe8, 0xe8, 0xe8, 0xe9, 0xe9, 0xe9, 0xe9, + 0xea, 0xea, 0xea, 0xea, 0xea, 0xeb, 0xeb, 0xeb, 0xeb, 0xec, 0xec, 0xec, 0xed, 0xed, 0xed, 0xee, 0xee, 0xee, 0xef, 0xef, 0xef, 0xf0, + 0xf0, 0xf1, 0xf1, 0xf1, 0xf2, 0xf2, 0xf3, 0xf3, 0xf3, 0xf4, 0xf4, 0xf5, 0xf5, 0xf5, 0xf6, 0xf6, 0xf7, 0xf7, 0xf8, 0xf8, 0xf9, 0xf9, + 0xfa, 0xfa, 0xfb, 0xfb, 0xfc, 0xfc, 0xfd, 0xfd, 0xfe, 0xfe, 0xff, 0xff, 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 0x03, 0x03, 0x04, 0x04, + 0x05, 0x05, 0x06, 0x06, 0x07, 0x07, 0x08, 0x08, 0x09, 0x09, 0x09, 0x0a, 0x0a, 0x0b, 0x0b, 0x0c, 0x0c, 0x0c, 0x0d, 0x0d, 0x0d, 0x0e, + 0x0e, 0x0e, 0x0f, 0x0f, 0x0f, 0x10, 0x10, 0x10, 0x11, 0x11, 0x11, 0x11, 0x12, 0x12, 0x12, 0x12, 0x13, 0x13, 0x13, 0x14, 0x14, 0x14, + 0x14, 0x15, 0x15, 0x15, 0x15, 0x15, 0x16, 0x16, 0x16, 0x16, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x16, + 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x15, 0x15, 0x15, 0x15, 0x14, 0x14, 0x14, 0x13, 0x13, 0x13, 0x12, 0x12, 0x12, 0x11, 0x11, 0x11, + 0x10, 0x10, 0x0f, 0x0f, 0x0f, 0x0e, 0x0e, 0x0d, 0x0d, 0x0d, 0x0c, 0x0c, 0x0b, 0x0b, 0x0a, 0x0a, 0x0a, 0x09, 0x09, 0x08, 0x08, 0x08, + 0x07, 0x07, 0x06, 0x06, 0x05, 0x05, 0x04, 0x04, 0x04, 0x03, 0x03, 0x02, 0x02, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xfe, 0xfe, 0xfd, + 0xfd, 0xfc, 0xfc, 0xfb, 0xfb, 0xfa, 0xfa, 0xfa, 0xf9, 0xf9, 0xf8, 0xf8, 0xf8, 0xf7, 0xf7, 0xf6, 0xf6, 0xf6, 0xf5, 0xf5, 0xf4, 0xf4, + 0xf4, 0xf3, 0xf3, 0xf2, 0xf2, 0xf2, 0xf1, 0xf1, 0xf1, 0xf0, 0xf0, 0xf0, 0xef, 0xef, 0xef, 0xee, 0xee, 0xee, 0xee, 0xed, 0xed, 0xed, + 0xed, 0xec, 0xec, 0xec, 0xec, 0xec, 0xeb, 0xeb, 0xeb, 0xeb, 0xeb, 0xeb, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xe9, 0xe9, 0xe9, + 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, + 0xe9, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xeb, 0xeb, 0xeb, 0xeb, 0xeb, 0xec, 0xec, 0xec, 0xec, 0xec, 0xed, 0xed, 0xed, 0xee, + 0xee, 0xee, 0xee, 0xef, 0xef, 0xef, 0xf0, 0xf0, 0xf0, 0xf1, 0xf1, 0xf2, 0xf2, 0xf2, 0xf3, 0xf3, 0xf3, 0xf4, 0xf4, 0xf5, 0xf5, 0xf6, + 0xf6, 0xf6, 0xf7, 0xf7, 0xf8, 0xf8, 0xf9, 0xf9, 0xf9, 0xfa, 0xfa, 0xfb, 0xfb, 0xfc, 0xfc, 0xfc, 0xfd, 0xfd, 0xfe, 0xfe, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 0x03, 0x03, 0x03, 0x04, 0x04, 0x05, 0x05, 0x06, 0x06, 0x06, 0x07, 0x07, 0x08, 0x08, 0x08, + 0x09, 0x09, 0x0a, 0x0a, 0x0a, 0x0b, 0x0b, 0x0b, 0x0b, 0x0c, 0x0c, 0x0c, 0x0d, 0x0d, 0x0d, 0x0d, 0x0e, 0x0e, 0x0e, 0x0e, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x10, 0x10, 0x10, 0x10, 0x10, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, + 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, + 0x12, 0x12, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0e, 0x0e, 0x0e, 0x0e, 0x0d, 0x0d, 0x0d, 0x0d, 0x0c, 0x0c, 0x0c, 0x0c, 0x0b, 0x0b, 0x0b, 0x0b, 0x0a, 0x0a, + 0x0a, 0x0a, 0x09, 0x09, 0x09, 0x09, 0x08, 0x08, 0x08, 0x08, 0x07, 0x07, 0x07, 0x06, 0x06, 0x06, 0x05, 0x05, 0x05, 0x04, 0x04, 0x04, + 0x04, 0x03, 0x03, 0x03, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfd, 0xfd, + 0xfd, 0xfd, 0xfc, 0xfc, 0xfc, 0xfb, 0xfb, 0xfb, 0xfa, 0xfa, 0xfa, 0xfa, 0xf9, 0xf9, 0xf9, 0xf8, 0xf8, 0xf8, 0xf8, 0xf7, 0xf7, 0xf7, + 0xf6, 0xf6, 0xf6, 0xf6, 0xf5, 0xf5, 0xf5, 0xf5, 0xf4, 0xf4, 0xf4, 0xf4, 0xf3, 0xf3, 0xf3, 0xf3, 0xf2, 0xf2, 0xf2, 0xf2, 0xf1, 0xf1, + 0xf1, 0xf1, 0xf1, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, + 0xef, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, + 0xee, 0xee, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf1, 0xf1, 0xf1, 0xf1, + 0xf1, 0xf2, 0xf2, 0xf2, 0xf2, 0xf3, 0xf3, 0xf3, 0xf3, 0xf4, 0xf4, 0xf4, 0xf5, 0xf5, 0xf5, 0xf5, 0xf6, 0xf6, 0xf6, 0xf7, 0xf7, 0xf7, + 0xf8, 0xf8, 0xf8, 0xf9, 0xf9, 0xf9, 0xfa, 0xfa, 0xfa, 0xfa, 0xfb, 0xfb, 0xfb, 0xfc, 0xfc, 0xfc, 0xfd, 0xfd, 0xfd, 0xfe, 0xfe, 0xfe, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x04, 0x04, 0x04, 0x04, 0x05, 0x05, + 0x05, 0x05, 0x06, 0x06, 0x06, 0x06, 0x07, 0x07, 0x07, 0x07, 0x08, 0x08, 0x08, 0x08, 0x09, 0x09, 0x09, 0x09, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0e, 0x0e, 0x0e, + 0x0e, 0x0e, 0x0e, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0c, 0x0c, 0x0c, 0x0c, 0x0b, 0x0b, 0x0b, 0x0b, 0x0a, 0x0a, 0x0a, 0x0a, 0x09, 0x09, + 0x09, 0x08, 0x08, 0x08, 0x07, 0x07, 0x07, 0x07, 0x06, 0x06, 0x06, 0x05, 0x05, 0x05, 0x04, 0x04, 0x04, 0x03, 0x03, 0x03, 0x02, 0x02, + 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfd, 0xfd, 0xfd, 0xfd, 0xfc, 0xfc, + 0xfc, 0xfc, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf8, 0xf8, 0xf8, 0xf8, + 0xf8, 0xf8, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf5, 0xf5, + 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, + 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, + 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf5, 0xf5, 0xf5, + 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, + 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf9, 0xf9, 0xf9, 0xf9, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfb, 0xfb, 0xfb, 0xfb, 0xfc, 0xfc, 0xfc, + 0xfc, 0xfc, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x05, 0x05, 0x05, 0x05, 0x05, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x07, 0x07, 0x07, 0x07, 0x07, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x09, 0x09, 0x09, 0x09, + 0x09, 0x09, 0x09, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, + 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0b, 0x0b, 0x0b, 0x0b, + 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x05, 0x05, 0x05, 0x05, 0x05, 0x04, 0x04, 0x04, 0x04, 0x04, 0x03, 0x03, 0x03, 0x03, 0x03, 0x02, 0x02, 0x02, 0x02, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, + 0xfe, 0xfe, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfa, 0xfa, 0xfa, + 0xfa, 0xfa, 0xfa, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, + 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, + 0xf4, 0xf4, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, + 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf5, 0xf5, 0xf5, + 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf8, 0xf8, 0xf8, 0xf8, + 0xf8, 0xf8, 0xf8, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfb, 0xfb, 0xfb, 0xfb, 0xfc, 0xfc, 0xfc, 0xfc, + 0xfd, 0xfd, 0xfd, 0xfd, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, + 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, 0x04, 0x04, 0x04, 0x04, 0x05, 0x05, 0x05, 0x05, 0x06, 0x06, 0x06, 0x06, 0x07, 0x07, 0x07, + 0x07, 0x08, 0x08, 0x08, 0x08, 0x09, 0x09, 0x09, 0x09, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, + 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0a, 0x0a, 0x0a, 0x0a, 0x09, + 0x09, 0x09, 0x09, 0x08, 0x08, 0x08, 0x08, 0x07, 0x07, 0x07, 0x07, 0x06, 0x06, 0x06, 0x06, 0x05, 0x05, 0x05, 0x05, 0x04, 0x04, 0x04, + 0x04, 0x03, 0x03, 0x03, 0x03, 0x03, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0xfe, 0xfe, 0xfe, 0xfe, 0xfd, 0xfd, 0xfd, 0xfd, 0xfc, 0xfc, 0xfc, 0xfc, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfa, 0xfa, 0xfa, 0xfa, 0xf9, + 0xf9, 0xf9, 0xf9, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf5, 0xf5, 0xf5, 0xf5, + 0xf5, 0xf5, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf2, 0xf2, 0xf2, 0xf2, + 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, + 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, + 0xf3, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf7, 0xf7, 0xf7, 0xf7, 0xf8, 0xf8, + 0xf8, 0xf8, 0xf8, 0xf8, 0xf9, 0xf9, 0xf9, 0xf9, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfb, 0xfb, 0xfb, 0xfb, 0xfc, 0xfc, 0xfc, 0xfc, 0xfd, + 0xfd, 0xfd, 0xfd, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, + 0x02, 0x03, 0x03, 0x03, 0x03, 0x04, 0x04, 0x04, 0x04, 0x05, 0x05, 0x05, 0x05, 0x06, 0x06, 0x06, 0x06, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x09, 0x09, 0x09, 0x09, 0x09, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, + 0x0b, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, + 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0a, 0x09, 0x09, 0x09, 0x08, 0x08, 0x08, 0x08, 0x08, 0x07, 0x07, 0x07, 0x07, 0x06, 0x06, 0x06, 0x06, 0x05, 0x05, 0x05, 0x04, + 0x04, 0x04, 0x04, 0x04, 0x03, 0x03, 0x03, 0x03, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfd, 0xfd, 0xfd, 0xfd, 0xfc, 0xfc, 0xfc, 0xfc, 0xfb, 0xfb, 0xfb, 0xfb, 0xfa, 0xfa, 0xfa, + 0xfa, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, + 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, + 0xf3, 0xf3, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, + 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, + 0xf3, 0xf3, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf7, 0xf7, 0xf7, + 0xf7, 0xf7, 0xf8, 0xf8, 0xf8, 0xf8, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xfa, 0xfa, 0xfa, 0xfa, 0xfb, 0xfb, 0xfb, 0xfb, 0xfc, 0xfc, 0xfc, + 0xfc, 0xfd, 0xfd, 0xfd, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, + 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, 0x04, 0x04, 0x04, 0x04, 0x05, 0x05, 0x05, 0x05, 0x06, 0x06, 0x06, 0x06, 0x07, 0x07, 0x07, 0x07, + 0x08, 0x08, 0x08, 0x08, 0x09, 0x09, 0x09, 0x09, 0x09, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, + 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x09, 0x09, 0x09, + 0x09, 0x09, 0x08, 0x08, 0x08, 0x08, 0x08, 0x07, 0x07, 0x07, 0x07, 0x07, 0x06, 0x06, 0x06, 0x06, 0x05, 0x05, 0x05, 0x05, 0x04, 0x04, + 0x04, 0x04, 0x04, 0x03, 0x03, 0x03, 0x03, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfb, 0xfb, 0xfb, 0xfb, + 0xfb, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, + 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, + 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, + 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, + 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf8, 0xf8, 0xf8, + 0xf8, 0xf8, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xfa, 0xfa, 0xfa, 0xfa, 0xfb, 0xfb, 0xfb, 0xfb, 0xfc, 0xfc, 0xfc, 0xfc, 0xfd, 0xfd, 0xfd, + 0xfd, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, + 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x04, 0x04, 0x04, 0x04, 0x04, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, + 0x08, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, + 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x08, 0x08, 0x08, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, + 0x04, 0x04, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, + 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, + 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xf9, 0xf9, 0xf9, + 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, + 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, + 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, + 0xf7, 0xf7, 0xf7, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xfa, 0xfa, + 0xfa, 0xfa, 0xfa, 0xfa, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, + 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x04, 0x04, 0x04, 0x04, + 0x04, 0x04, 0x04, 0x04, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x05, 0x05, + 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x02, 0x02, 0x02, + 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, + 0xfb, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf7, 0xf7, 0xf7, 0xf7, + 0xf7, 0xf7, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf4, 0xf4, 0xf4, + 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf5, + 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf7, 0xf7, 0xf7, 0xf7, + 0xf7, 0xf7, 0xf7, 0xf7, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfb, + 0xfb, 0xfb, 0xfb, 0xfb, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, + 0x08, 0x08, 0x08, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, + 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x0a, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, + 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x04, + 0x04, 0x04, 0x04, 0x04, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfc, 0xfc, + 0xfc, 0xfc, 0xfc, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf8, 0xf8, 0xf8, + 0xf8, 0xf8, 0xf8, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, + 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, + 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf5, + 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf8, 0xf8, + 0xf8, 0xf8, 0xf8, 0xf9, 0xf9, 0xf9, 0xf9, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfc, 0xfc, 0xfc, 0xfc, 0xfd, + 0xfd, 0xfd, 0xfd, 0xfd, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, + 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x04, 0x04, 0x04, 0x04, 0x04, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x09, 0x09, 0x09, 0x09, + 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, + 0x0a, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, + 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, + 0x09, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x05, 0x05, + 0x05, 0x05, 0x05, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x03, 0x03, 0x03, 0x03, 0x03, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfc, 0xfc, + 0xfc, 0xfc, 0xfc, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfa, 0xfa, 0xfa, 0xfa, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf8, 0xf8, 0xf8, 0xf8, + 0xf8, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf4, 0xf4, 0xf4, + 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, + 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf3, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, 0xf4, + 0xf4, 0xf4, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf8, 0xf8, 0xf8, 0xf8, + 0xf8, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xfa, 0xfa, 0xfa, 0xfa, 0xfb, 0xfb, 0xfb, 0xfb, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfd, 0xfd, 0xfd, + 0xfd, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, + 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x04, 0x04, 0x04, 0x04, 0x04, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, + 0x08, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, + 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, + 0xfd, 0xfd, 0xfd, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, + 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xf9, + 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf8, 0xf8, 0xf8, 0xf8, + 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, + 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, + 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfc, + 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, + 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x04, 0x03, 0x04, 0x04, 0x04, 0x04, 0x04, 0x05, 0x04, 0x05, 0x05, 0x05, 0x05, + 0x05, 0x05, 0x05, 0x05, 0x05, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, + 0x08, 0x08, 0x08, 0x08, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, + 0x05, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x02, 0x02, 0x02, + 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, + 0xfd, 0xfd, 0xfd, 0xfd, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfa, + 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf8, 0xf8, 0xf8, 0xf8, + 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, + 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, + 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, + 0xf9, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfd, 0xfd, + 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x06, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x04, 0x04, 0x04, + 0x04, 0x04, 0x04, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, + 0xfd, 0xfd, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, + 0xfa, 0xfa, 0xfa, 0xfa, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, + 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, + 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, 0xf7, + 0xf7, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, + 0xf9, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, + 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, + 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfc, 0xfc, 0xfc, 0xfc, + 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, + 0xfb, 0xfb, 0xfb, 0xfb, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, + 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, + 0xf9, 0xf9, 0xf9, 0xf9, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, + 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfc, 0xfc, 0xfc, 0xfc, + 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, + 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, + 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, + 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x05, 0x05, + 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, + 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, + 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfd, 0xfd, 0xfd, + 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, + 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, + 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, + 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, + 0xfa, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, + 0xfb, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, + 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, + 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x05, 0x05, 0x05, + 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, + 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x04, 0x04, + 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfd, + 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, + 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfa, 0xfa, + 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, + 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, + 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, + 0xfb, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfe, + 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, + 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, + 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, + 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, + 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x04, 0x04, 0x04, + 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, + 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, + 0xfb, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xf9, 0xf9, 0xf9, 0xf9, + 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, + 0xf9, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfb, 0xfb, 0xfb, 0xfb, + 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfd, 0xfd, 0xfd, 0xfd, + 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, + 0x04, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, + 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, + 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfd, 0xfd, + 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, + 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfb, 0xfb, + 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, + 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, + 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfd, 0xfd, 0xfd, 0xfd, + 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, + 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, + 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, + 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, + 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, + 0xfd, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, + 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, + 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfd, 0xfd, 0xfd, + 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, + 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, + 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfd, + 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfc, 0xfc, 0xfc, + 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, + 0xfc, 0xfc, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, + 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfc, 0xfb, 0xfc, 0xfb, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, + 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, + 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, + 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x04, 0x04, 0x04, 0x04, 0x03, + 0x04, 0x04, 0x03, 0x04, 0x03, 0x04, 0x04, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, + 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, + 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, + 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, + 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, + 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfc, + 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfd, 0xfd, 0xfd, 0xfd, + 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, + 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, + 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, + 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, + 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, + 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, + 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, + 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, + 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, + 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, + 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, + 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, + 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfd, 0xfd, 0xfd, 0xfd, + 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, + 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, + 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, + 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, + 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, + 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, + 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, + 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfd, 0xfd, 0xfd, 0xfd, +}; + +static const unsigned char TOP_2608[66610] = { + 0x52, 0x49, 0x46, 0x46, 0x30, 0x08, 0x02, 0x00, 0x57, 0x41, 0x56, 0x45, 0x66, 0x6d, 0x74, 0x20, 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x01, 0x00, 0x44, 0xac, 0x00, 0x00, 0x88, 0x58, 0x01, 0x00, 0x02, 0x00, 0x10, 0x00, 0x66, 0x61, 0x63, 0x74, 0x04, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x61, 0x61, 0x08, 0x00, 0x00, 0xff, 0xff, 0x02, 0xff, 0xfe, 0x00, 0xfc, 0x00, 0x01, 0xfb, 0x01, 0x01, 0xfd, 0xfe, 0x04, + 0x03, 0xfe, 0x07, 0xf3, 0xed, 0x09, 0xfc, 0x01, 0x0b, 0xf8, 0xf6, 0xfd, 0x04, 0x08, 0x04, 0xfb, 0xf7, 0xf6, 0xfc, 0x04, 0x0c, 0x00, + 0xfa, 0x03, 0x05, 0x00, 0xfa, 0xf9, 0xef, 0xf3, 0x01, 0x0a, 0x09, 0x04, 0x02, 0x02, 0x01, 0xff, 0xfb, 0xf9, 0xfc, 0x02, 0x05, 0x02, + 0xfe, 0xfe, 0x00, 0x05, 0x06, 0x00, 0x00, 0xfc, 0xf9, 0x03, 0x05, 0x03, 0x04, 0x05, 0x06, 0x06, 0x06, 0xfd, 0xfb, 0x00, 0xf7, 0xff, + 0x06, 0xfd, 0x05, 0x00, 0xf6, 0xfc, 0x02, 0xfe, 0xf6, 0x09, 0x02, 0xf6, 0x00, 0xf9, 0xff, 0x08, 0xf5, 0xfb, 0xfe, 0xf6, 0xff, 0x00, + 0xfe, 0x02, 0xff, 0xfd, 0xfe, 0xfd, 0x00, 0x02, 0xff, 0x07, 0xfd, 0xf4, 0x00, 0x03, 0x00, 0x00, 0x0f, 0x04, 0xfe, 0x0a, 0x04, 0xfa, + 0xf8, 0x06, 0xfb, 0xfd, 0x0c, 0xfb, 0xfc, 0x04, 0x02, 0x05, 0x05, 0x02, 0xfe, 0x04, 0x03, 0xfa, 0xfd, 0xfc, 0xfa, 0xfb, 0xf8, 0xfc, + 0x01, 0xfe, 0xf8, 0xf8, 0x00, 0x05, 0x08, 0x0b, 0x0d, 0xfd, 0xfa, 0x05, 0x02, 0x08, 0x07, 0xfc, 0xfc, 0x04, 0x04, 0xf5, 0xff, 0x05, + 0x00, 0xfe, 0x00, 0xfc, 0xf5, 0xf8, 0x03, 0x06, 0xf5, 0xf7, 0xfe, 0x00, 0xf9, 0xfb, 0xfd, 0xf8, 0xf3, 0x00, 0x0e, 0x06, 0xfd, 0xfb, + 0x00, 0x06, 0x03, 0xfa, 0xf6, 0xfe, 0x01, 0x03, 0x0f, 0x01, 0xfa, 0x04, 0xf6, 0x08, 0x14, 0xf8, 0x00, 0x07, 0x00, 0xf1, 0x00, 0x06, + 0xf7, 0x05, 0x07, 0xfc, 0xf6, 0xfe, 0xfd, 0xf7, 0x01, 0x00, 0xff, 0x07, 0xf5, 0x02, 0x10, 0xf5, 0xfb, 0x04, 0x00, 0xf9, 0xfc, 0xff, + 0xfe, 0xfe, 0x06, 0x08, 0xf2, 0x03, 0x0e, 0x03, 0xfd, 0x01, 0x04, 0xfd, 0x0d, 0x06, 0xf9, 0x0c, 0x02, 0xfc, 0x05, 0xfd, 0xfe, 0x07, + 0x0f, 0xf1, 0xf4, 0x0a, 0xf7, 0xfc, 0x03, 0xfc, 0xf8, 0xf1, 0xf3, 0x03, 0x04, 0x02, 0x04, 0x07, 0x00, 0xf7, 0xf7, 0xff, 0xfe, 0xfc, + 0x05, 0xf9, 0xfb, 0x07, 0xfa, 0xf9, 0x00, 0x04, 0xf7, 0xf8, 0x00, 0xf9, 0xfc, 0x00, 0xff, 0xf6, 0xff, 0x0b, 0x09, 0xfc, 0xff, 0x0a, + 0x00, 0x03, 0x02, 0x00, 0x13, 0x16, 0x07, 0xfa, 0xf0, 0xff, 0x0f, 0xfc, 0xfd, 0x05, 0x05, 0xf3, 0xf9, 0x02, 0xf6, 0xff, 0x01, 0xfe, + 0x0d, 0x00, 0xfa, 0x09, 0xfc, 0x02, 0x0a, 0xfb, 0x01, 0x08, 0x07, 0xff, 0x05, 0x00, 0xeb, 0x0e, 0x0c, 0xf9, 0x09, 0x05, 0xf9, 0xf5, + 0x00, 0xfb, 0x00, 0x16, 0xf4, 0xf0, 0x06, 0x08, 0xfb, 0xfe, 0x0f, 0xf7, 0xfb, 0x0a, 0x0b, 0xf1, 0xf2, 0x07, 0x06, 0xf8, 0xfb, 0x0b, + 0xe8, 0xf2, 0x07, 0xf8, 0xf3, 0xf6, 0xfa, 0xf5, 0x05, 0x05, 0xf2, 0xf7, 0x01, 0x03, 0xfd, 0xf8, 0x01, 0x09, 0xfc, 0xf4, 0x00, 0x14, + 0xff, 0xfa, 0x03, 0xff, 0x06, 0x04, 0xfc, 0x0c, 0xff, 0xf5, 0x04, 0x00, 0xff, 0x01, 0xf8, 0x02, 0x03, 0xf8, 0xfb, 0x05, 0x03, 0xf0, + 0x07, 0x07, 0xf8, 0x00, 0x05, 0x07, 0x03, 0xea, 0xfb, 0x11, 0xff, 0x0a, 0x05, 0xf5, 0xfb, 0x08, 0x09, 0xff, 0x0e, 0x05, 0xf6, 0xfc, + 0x01, 0x00, 0xfe, 0x06, 0x08, 0x03, 0xfc, 0x0b, 0x0a, 0x02, 0x05, 0x09, 0xff, 0xf1, 0xff, 0x0a, 0x0a, 0x00, 0x06, 0xf6, 0xed, 0x10, + 0xf9, 0xf2, 0x08, 0xf4, 0xf6, 0xfc, 0xf4, 0xf1, 0xf6, 0xfa, 0xf9, 0xf5, 0xfa, 0x02, 0xf7, 0xf5, 0xfc, 0x02, 0xf9, 0xf7, 0xff, 0x01, + 0x08, 0x02, 0xf3, 0xf7, 0xf7, 0xfd, 0x11, 0xfb, 0xf7, 0x06, 0xf1, 0x00, 0x11, 0x09, 0xf5, 0xf4, 0x01, 0x04, 0x0c, 0x00, 0xf0, 0x0d, + 0x07, 0xf8, 0xfd, 0x12, 0x03, 0xf3, 0x0e, 0x0b, 0x01, 0xfd, 0xf5, 0xfe, 0x09, 0x03, 0x08, 0x05, 0xfe, 0xfe, 0x05, 0x06, 0xfe, 0xfd, + 0x00, 0x05, 0x07, 0x00, 0xff, 0xfe, 0xe8, 0x08, 0x12, 0xf2, 0x06, 0x08, 0xfd, 0xf9, 0x0a, 0x04, 0xf5, 0x05, 0x10, 0x07, 0xf7, 0xf8, + 0x08, 0x0a, 0xe7, 0x00, 0x09, 0xf5, 0xf1, 0x03, 0x07, 0xf4, 0xfc, 0xfd, 0xf5, 0xf3, 0xf3, 0xfa, 0x00, 0xee, 0xf8, 0x07, 0x02, 0x05, + 0x01, 0xfd, 0x06, 0x09, 0xf7, 0xe3, 0x04, 0xfb, 0xf2, 0x0d, 0x00, 0xf4, 0xf7, 0xf6, 0x08, 0x08, 0xf4, 0xf9, 0x03, 0x00, 0xed, 0x04, + 0x13, 0x0b, 0xff, 0x03, 0x08, 0x02, 0xfe, 0x03, 0x0c, 0x12, 0x0b, 0x0b, 0x0e, 0xf9, 0x01, 0x08, 0xfa, 0x02, 0xff, 0xfa, 0x00, 0x0d, + 0x08, 0xfa, 0x02, 0x03, 0x07, 0x13, 0xf5, 0xfd, 0x0f, 0xe9, 0xfd, 0x0b, 0xfb, 0xf2, 0xfe, 0x07, 0xff, 0x03, 0x08, 0x05, 0xf3, 0x06, + 0x09, 0xf2, 0x08, 0x08, 0xfc, 0xfd, 0x02, 0xf9, 0xef, 0xf8, 0x01, 0xfe, 0xf3, 0xfc, 0xfd, 0xf9, 0xf9, 0x0f, 0x05, 0xeb, 0x03, 0xf4, + 0xec, 0x03, 0xff, 0xf8, 0xfb, 0x0a, 0x00, 0xf9, 0xfa, 0xfd, 0xf0, 0xf6, 0x14, 0x00, 0xf6, 0xfc, 0xfd, 0xf8, 0x04, 0x13, 0xf0, 0xf8, + 0x06, 0xf7, 0x05, 0x0d, 0x07, 0x08, 0x00, 0x03, 0x0d, 0x04, 0x01, 0x02, 0x00, 0x07, 0x0b, 0x09, 0x05, 0x05, 0x06, 0x05, 0xfb, 0xfd, + 0x06, 0x0c, 0x01, 0xf8, 0xf9, 0x05, 0x01, 0x07, 0x19, 0xff, 0xf7, 0x00, 0x01, 0xff, 0x01, 0x06, 0xfd, 0x04, 0x05, 0xf7, 0xff, 0x03, + 0xff, 0xfe, 0xed, 0xf7, 0x10, 0xf1, 0x01, 0x15, 0x02, 0xf3, 0xf7, 0x01, 0xf7, 0x03, 0x05, 0xf8, 0xfa, 0xff, 0xff, 0xf8, 0x00, 0xfd, + 0xf9, 0x0a, 0x07, 0xfa, 0xf5, 0x04, 0x06, 0xfe, 0xfb, 0x01, 0x01, 0xfd, 0x08, 0xf7, 0xf0, 0x02, 0x08, 0x07, 0x05, 0x07, 0x03, 0x00, + 0x00, 0xfd, 0xfc, 0x01, 0x08, 0xfe, 0xff, 0x03, 0xf8, 0xfb, 0x05, 0x07, 0xfc, 0xf8, 0xfc, 0x01, 0x0d, 0x03, 0xf3, 0xfc, 0xfa, 0xf8, + 0xfc, 0x08, 0xfb, 0xf4, 0x06, 0xfd, 0xfb, 0x02, 0x07, 0x05, 0x06, 0x09, 0xf2, 0xf4, 0x01, 0x01, 0x06, 0xff, 0xf4, 0x04, 0xee, 0xe9, + 0x07, 0x13, 0xfa, 0xeb, 0x10, 0xfd, 0xf8, 0x06, 0xfb, 0xee, 0xf1, 0x01, 0x0a, 0x00, 0xf7, 0x05, 0x07, 0x00, 0xfb, 0x05, 0x06, 0x01, + 0xfc, 0x04, 0xfb, 0xf4, 0x0c, 0x07, 0xff, 0x01, 0x03, 0xf9, 0xf3, 0xf8, 0x0e, 0x02, 0xf1, 0x13, 0x04, 0xfc, 0x0c, 0xfd, 0xfa, 0xff, + 0x00, 0xf4, 0xfb, 0x09, 0xfe, 0x04, 0x07, 0xfd, 0xfc, 0xf6, 0xf7, 0x0b, 0xf4, 0xf1, 0x07, 0x0b, 0xf7, 0xf4, 0x09, 0x00, 0xf5, 0xf3, + 0xfc, 0x02, 0xfe, 0xf9, 0x13, 0x00, 0xf1, 0x03, 0xf8, 0xf6, 0xfe, 0xff, 0x09, 0x03, 0xf1, 0x01, 0x02, 0xf8, 0xed, 0x0e, 0x01, 0xe6, + 0x0b, 0x0b, 0xf7, 0xed, 0xff, 0x04, 0x03, 0x09, 0x00, 0xfd, 0x01, 0xfe, 0xff, 0x01, 0x02, 0x05, 0x0e, 0x09, 0xed, 0x08, 0x0a, 0xf6, + 0x09, 0x0b, 0x04, 0x02, 0x05, 0x07, 0xfe, 0xe2, 0x1e, 0x1e, 0xe3, 0xfa, 0xf8, 0xf7, 0x08, 0x05, 0xff, 0x01, 0x04, 0xf9, 0xf8, 0x02, + 0x04, 0x06, 0x03, 0xfa, 0x0d, 0xff, 0xed, 0x10, 0x02, 0xf6, 0x00, 0x03, 0x00, 0xfc, 0xfa, 0xfd, 0xff, 0xfe, 0xf9, 0xfe, 0x01, 0xfd, + 0xfa, 0x04, 0x07, 0xf1, 0x08, 0x0c, 0xfb, 0xfb, 0x00, 0xfd, 0xf7, 0x0e, 0x10, 0xfd, 0xef, 0xff, 0x09, 0x00, 0xf8, 0xfc, 0xfb, 0xf2, + 0xfe, 0x07, 0x04, 0xf6, 0x00, 0x05, 0xff, 0xfe, 0x0b, 0x0b, 0xf7, 0x00, 0x03, 0xfe, 0xfc, 0x07, 0x0c, 0x04, 0xf8, 0xf8, 0x01, 0x0a, + 0xfd, 0x01, 0x0b, 0xfd, 0xf9, 0x03, 0x0d, 0xf9, 0xf3, 0xfc, 0x06, 0xfb, 0x04, 0x13, 0x00, 0x04, 0x0a, 0x03, 0xfc, 0xff, 0x07, 0x0e, + 0xfe, 0xff, 0x0a, 0xef, 0xf0, 0xfb, 0xff, 0xf3, 0x05, 0x14, 0xfc, 0xf6, 0x05, 0x11, 0xeb, 0xf1, 0x05, 0x06, 0xf5, 0xfe, 0x0b, 0xf6, + 0xfc, 0x02, 0xff, 0x04, 0xf8, 0xf5, 0x0c, 0xfa, 0xf9, 0x03, 0xf7, 0xfc, 0x0b, 0x0f, 0xf4, 0xf0, 0xff, 0x07, 0x07, 0x06, 0x03, 0xf8, + 0xfc, 0x01, 0x00, 0xff, 0x06, 0x08, 0xfa, 0xfd, 0xff, 0xff, 0x05, 0x08, 0x03, 0xfc, 0xfd, 0x04, 0x08, 0x08, 0xfd, 0x05, 0x15, 0xfc, + 0xfa, 0x02, 0x04, 0xfd, 0x05, 0x06, 0xe8, 0x03, 0x11, 0xfe, 0xfa, 0xf7, 0xfa, 0x02, 0xef, 0xff, 0x12, 0xe9, 0xfd, 0x0f, 0x01, 0x00, + 0xf8, 0xf9, 0x0b, 0xf3, 0xee, 0xff, 0x07, 0xfc, 0xfb, 0x08, 0x05, 0xf4, 0xf2, 0x0b, 0xfb, 0xea, 0xed, 0x00, 0x0a, 0x0a, 0x04, 0x0b, + 0xfe, 0xf4, 0x07, 0xf4, 0xf5, 0x0e, 0x07, 0x18, 0x13, 0xed, 0xf9, 0xfa, 0xf5, 0x09, 0x03, 0xfc, 0x00, 0x0f, 0x00, 0xf6, 0x09, 0x08, + 0xfd, 0xfa, 0x0d, 0xfa, 0xfa, 0x14, 0x10, 0x02, 0x00, 0x0d, 0xff, 0xfd, 0x04, 0xfc, 0xeb, 0xf1, 0x0a, 0x01, 0x00, 0x05, 0x03, 0xf6, + 0xed, 0xf0, 0x05, 0xfa, 0xf8, 0x0b, 0x00, 0xf7, 0xfd, 0x0e, 0x05, 0xfc, 0xfb, 0xeb, 0xf6, 0x05, 0x07, 0xf5, 0xf6, 0x02, 0x02, 0xfa, + 0x03, 0x10, 0xee, 0xf0, 0xfe, 0xfa, 0xf6, 0xf8, 0x01, 0x08, 0x00, 0xf9, 0xff, 0x0a, 0x09, 0x08, 0x15, 0x00, 0xf6, 0x00, 0x12, 0xf2, + 0xee, 0x16, 0x0f, 0x05, 0xfd, 0xfa, 0xee, 0x02, 0x19, 0x01, 0xfb, 0x00, 0x01, 0x00, 0xf5, 0xf6, 0x11, 0x06, 0xfc, 0x00, 0x02, 0xf8, + 0xf8, 0x05, 0x02, 0x01, 0x08, 0x13, 0x10, 0x02, 0xf5, 0xfe, 0xf8, 0xfa, 0x0b, 0xfb, 0xfd, 0x07, 0xf4, 0xfd, 0x07, 0x03, 0xeb, 0xfe, + 0x08, 0xe8, 0xf3, 0x03, 0x09, 0x0b, 0xfd, 0xf8, 0x03, 0x00, 0xfe, 0x00, 0x06, 0xee, 0xf6, 0x11, 0x05, 0x06, 0x04, 0xf7, 0xf4, 0xf1, + 0xf6, 0x07, 0xfe, 0xfa, 0xfe, 0xfb, 0xee, 0xf1, 0x04, 0xfc, 0xfc, 0x03, 0x06, 0xff, 0xfa, 0xfd, 0x08, 0x03, 0x01, 0x0c, 0xff, 0xfd, + 0x02, 0xfe, 0x02, 0x03, 0xff, 0xfd, 0xff, 0x02, 0x00, 0x02, 0x00, 0x01, 0x12, 0x07, 0xf9, 0xfa, 0x07, 0x01, 0xfc, 0x0a, 0xfd, 0xfe, + 0x0c, 0x07, 0x04, 0xff, 0xf9, 0xfb, 0x08, 0x0c, 0xfd, 0xf8, 0xff, 0x07, 0x06, 0xfc, 0xf8, 0xff, 0xf5, 0xf6, 0xfb, 0xfb, 0xf5, 0xf6, + 0xff, 0x15, 0xfe, 0xf2, 0x0b, 0x03, 0xed, 0xe9, 0x0b, 0xfd, 0xfc, 0x11, 0x12, 0x00, 0xfa, 0x09, 0xf9, 0xf3, 0xfb, 0x01, 0xfd, 0xfd, + 0x03, 0x06, 0xfd, 0xf8, 0xff, 0x04, 0xfe, 0xf9, 0x06, 0xf9, 0xf5, 0x04, 0x03, 0x0c, 0x0e, 0xf8, 0x07, 0x01, 0xee, 0x01, 0x0e, 0x0b, + 0x01, 0xfe, 0x02, 0x05, 0xfd, 0x00, 0xfe, 0xf9, 0xef, 0x07, 0x0c, 0xee, 0xf7, 0x09, 0x10, 0x03, 0xff, 0xfd, 0xfd, 0xfd, 0x03, 0x01, + 0xf5, 0xfd, 0x06, 0x06, 0x02, 0xfe, 0x03, 0x09, 0xf6, 0xf2, 0xfe, 0x09, 0xf6, 0xf5, 0x04, 0xfb, 0xfb, 0xf9, 0xf4, 0xe3, 0x06, 0x1b, + 0xf4, 0xfa, 0x0d, 0x0f, 0xf5, 0x05, 0x0e, 0xfc, 0x00, 0x05, 0x02, 0xf7, 0x08, 0x0f, 0x04, 0xef, 0x03, 0x0e, 0xfb, 0x02, 0x04, 0x00, + 0xfc, 0x03, 0x01, 0xf9, 0x00, 0xff, 0xf9, 0xf6, 0x15, 0x13, 0xf9, 0xee, 0x02, 0x0a, 0xfc, 0xf6, 0xff, 0x08, 0x03, 0xfd, 0xf9, 0xfc, + 0x01, 0xfc, 0xf5, 0xf6, 0xfa, 0x0a, 0x0e, 0x00, 0xfb, 0x03, 0x06, 0xf3, 0xf3, 0x00, 0x09, 0xf8, 0xf7, 0xfe, 0xfb, 0xff, 0x06, 0x08, + 0xf8, 0xfa, 0x00, 0xfe, 0xe7, 0xf5, 0x10, 0x0e, 0xf5, 0xf9, 0x13, 0x0a, 0x01, 0xfe, 0x03, 0xf6, 0x00, 0x0e, 0x0a, 0xfb, 0xfb, 0x06, + 0x02, 0xfa, 0xfd, 0x0b, 0xfb, 0xf2, 0xfd, 0x15, 0x09, 0xff, 0x08, 0x04, 0x0e, 0x0d, 0xf4, 0xf1, 0xfe, 0x07, 0xf9, 0x08, 0x13, 0x08, + 0xfb, 0xfd, 0x00, 0xf4, 0xfc, 0x01, 0xfe, 0xf6, 0x00, 0x07, 0x00, 0xff, 0xfd, 0xfd, 0x04, 0xfc, 0xfb, 0x02, 0x01, 0xfe, 0x01, 0x07, + 0xfd, 0xfc, 0xf9, 0xea, 0xef, 0xfc, 0x01, 0xfc, 0xf0, 0xf6, 0x0f, 0xfa, 0xf9, 0x04, 0xf8, 0xf6, 0xf9, 0xfc, 0x07, 0x01, 0xff, 0x0f, + 0x01, 0xfa, 0xfd, 0xfa, 0xf9, 0xf8, 0xf7, 0xff, 0x00, 0xfd, 0x00, 0xfd, 0x00, 0x02, 0xfc, 0xfc, 0xff, 0x02, 0x15, 0x08, 0xfa, 0x10, + 0x00, 0xf7, 0x01, 0x08, 0x03, 0x01, 0x0a, 0x0d, 0x0d, 0x05, 0xf9, 0xf2, 0xf8, 0x01, 0x01, 0xfd, 0xff, 0x07, 0xfc, 0xf9, 0x04, 0x12, + 0x02, 0xfd, 0x0a, 0x09, 0xf9, 0xf4, 0x06, 0x0d, 0x03, 0xf9, 0x04, 0xfe, 0xf6, 0xf8, 0xf9, 0xfc, 0x01, 0x01, 0xfb, 0xfd, 0xff, 0xee, + 0xf7, 0xff, 0xf8, 0x07, 0xfc, 0xf0, 0xfc, 0x14, 0x02, 0xe1, 0x04, 0x06, 0x01, 0x05, 0x04, 0xee, 0xeb, 0x13, 0x03, 0xf2, 0xfa, 0xf4, + 0xff, 0x03, 0xf6, 0xf6, 0x0a, 0x14, 0xfe, 0xfa, 0xff, 0x02, 0xfd, 0xfa, 0xfd, 0x07, 0x08, 0x09, 0x07, 0xfb, 0x0a, 0x0d, 0xfd, 0x05, + 0xfe, 0xfa, 0x08, 0x03, 0x0a, 0x11, 0xf6, 0xfb, 0x07, 0x06, 0xfd, 0xfd, 0x01, 0x00, 0x04, 0x05, 0x03, 0x0c, 0xfc, 0xfa, 0x0c, 0xf6, + 0xeb, 0xf7, 0x0d, 0xfe, 0xfc, 0x0c, 0x00, 0xf9, 0xfb, 0x01, 0xfd, 0x02, 0x04, 0xf4, 0xfb, 0x01, 0xfc, 0xf6, 0xfd, 0x04, 0x01, 0xf2, + 0x04, 0x13, 0xe1, 0x03, 0x12, 0xf1, 0xf7, 0x07, 0x09, 0xfc, 0xf7, 0xfe, 0x04, 0xf7, 0xf7, 0x05, 0x13, 0x02, 0xfd, 0xfe, 0xf5, 0x00, + 0x05, 0x00, 0x00, 0x06, 0x03, 0xf6, 0x06, 0x02, 0xf6, 0xf9, 0x08, 0x08, 0xfd, 0xfc, 0x0b, 0x0d, 0xf9, 0xf5, 0xfb, 0x04, 0x0a, 0x05, + 0xfc, 0xfb, 0x05, 0x08, 0x07, 0x08, 0xfe, 0xf7, 0xf6, 0xf4, 0xfe, 0xff, 0xfb, 0x10, 0x07, 0xf4, 0xfa, 0xf6, 0xfe, 0x06, 0xf7, 0xee, + 0xfe, 0x16, 0xfd, 0xfe, 0x07, 0xfd, 0xe7, 0xf3, 0x0c, 0x00, 0xf6, 0x00, 0x11, 0x00, 0xf1, 0xf3, 0x08, 0xf3, 0xef, 0xfe, 0xfc, 0xf1, + 0xff, 0x1f, 0x02, 0xfd, 0x0a, 0x02, 0x03, 0x02, 0xfc, 0x00, 0xfe, 0x05, 0x14, 0x0f, 0x07, 0x05, 0x04, 0x06, 0x01, 0xf8, 0xf5, 0x03, + 0x08, 0xf6, 0x03, 0x06, 0xff, 0x04, 0x00, 0x02, 0x07, 0xfa, 0xfa, 0x02, 0x02, 0x09, 0x08, 0x02, 0x01, 0x07, 0xfd, 0xea, 0x01, 0x09, + 0x02, 0xfd, 0x02, 0xfd, 0xf4, 0xfe, 0xfd, 0xfc, 0x01, 0xef, 0xf2, 0x02, 0x0b, 0xef, 0xf4, 0x11, 0xf8, 0xed, 0xf8, 0x0b, 0xfa, 0xfb, + 0x04, 0xf6, 0xfe, 0xff, 0xf6, 0x03, 0x07, 0x00, 0xfa, 0xf9, 0xfc, 0x01, 0x00, 0x09, 0x06, 0xfb, 0x05, 0x0b, 0x01, 0xf1, 0xf6, 0x07, + 0x11, 0x0c, 0xf7, 0xf4, 0x07, 0x06, 0x05, 0x01, 0xf9, 0xfe, 0x06, 0x0a, 0x05, 0x01, 0xfc, 0xf7, 0xff, 0x07, 0x09, 0x04, 0x03, 0xff, + 0xfc, 0x02, 0x0d, 0x0c, 0xfc, 0xf4, 0xfc, 0x05, 0xfe, 0x07, 0x04, 0xf7, 0x00, 0xff, 0xfc, 0xfe, 0xfc, 0xf9, 0xf9, 0xff, 0xfd, 0xfd, + 0x02, 0x09, 0x00, 0xf6, 0xfb, 0xf7, 0xf4, 0xfd, 0x1c, 0xfb, 0xea, 0x04, 0xfc, 0xf4, 0xfa, 0x08, 0xff, 0xf1, 0xef, 0xfe, 0x05, 0x04, + 0x02, 0xff, 0x00, 0x02, 0x03, 0xf9, 0xfb, 0x06, 0x07, 0xf3, 0xf6, 0x17, 0x06, 0xfd, 0xff, 0xf9, 0xf8, 0xfe, 0x04, 0x06, 0xfe, 0xf8, + 0xfe, 0x06, 0x04, 0x00, 0x0e, 0xfb, 0xf9, 0x0d, 0x04, 0x00, 0x01, 0xff, 0x07, 0x08, 0x01, 0x05, 0xff, 0xfe, 0x03, 0x06, 0xfe, 0xfb, + 0x0a, 0xfe, 0xf9, 0x02, 0x0f, 0xff, 0xf7, 0x06, 0xfb, 0xfd, 0x05, 0xff, 0xfc, 0xfc, 0xfe, 0x05, 0xfd, 0xf5, 0xf6, 0xfb, 0xf9, 0xf6, + 0xf9, 0xfc, 0xfb, 0xf8, 0xf6, 0x02, 0x05, 0xf6, 0xf9, 0xfa, 0xfa, 0x03, 0x01, 0xf8, 0xf4, 0x0a, 0x01, 0xfc, 0x16, 0x03, 0xf4, 0xf7, + 0x06, 0xf6, 0xed, 0xfb, 0x13, 0x02, 0xf0, 0x03, 0x08, 0xf9, 0xeb, 0x06, 0xf7, 0xf4, 0x0d, 0x07, 0x02, 0x04, 0x04, 0x04, 0x0f, 0x16, + 0xfe, 0x03, 0x07, 0xf9, 0xfc, 0x0b, 0x13, 0x03, 0x06, 0x01, 0xf8, 0x03, 0x07, 0xff, 0xf4, 0xfa, 0x01, 0x03, 0xfe, 0x15, 0x11, 0xf5, + 0x05, 0xf7, 0xec, 0x00, 0xfe, 0x01, 0x08, 0x03, 0xfc, 0xfa, 0xfe, 0xfb, 0xff, 0xff, 0xf6, 0x01, 0x00, 0xfb, 0x0e, 0x04, 0xfc, 0x03, + 0x06, 0xfe, 0xf7, 0xf9, 0xff, 0xfd, 0xf7, 0xfa, 0x02, 0x03, 0xfb, 0x07, 0x02, 0xf8, 0xfd, 0x0b, 0x0a, 0x01, 0x0f, 0xff, 0xf0, 0xf7, + 0x05, 0x0b, 0x08, 0x07, 0xfd, 0xf7, 0xfa, 0x01, 0x01, 0xfd, 0xfb, 0xfd, 0x00, 0x02, 0x02, 0xf8, 0xf5, 0xff, 0x05, 0x09, 0x04, 0xfa, + 0xff, 0x04, 0x04, 0x06, 0x06, 0x01, 0xfc, 0x07, 0x00, 0xf7, 0x03, 0xfa, 0x05, 0x18, 0x07, 0xf8, 0xf7, 0x03, 0xfe, 0x02, 0x03, 0xf7, + 0xfb, 0x01, 0x02, 0x05, 0xfa, 0xfa, 0x0a, 0x02, 0xfe, 0xfd, 0xf4, 0x06, 0x08, 0xf7, 0xf5, 0x06, 0x10, 0x05, 0xf0, 0xf2, 0x00, 0xfb, + 0xfb, 0x04, 0x0d, 0xfd, 0xfd, 0x01, 0xfb, 0xf3, 0xfd, 0x06, 0xf4, 0xf9, 0x03, 0x04, 0xff, 0x04, 0x08, 0x00, 0x03, 0xfe, 0xf7, 0xfc, + 0xfe, 0xfc, 0xfe, 0x00, 0x08, 0x09, 0xfd, 0x04, 0x03, 0xfa, 0x00, 0xf8, 0xfa, 0x0b, 0x02, 0x03, 0x06, 0xf8, 0xf5, 0xfa, 0xfe, 0xf5, + 0x01, 0x09, 0xfd, 0x01, 0x02, 0xff, 0x01, 0xf9, 0xf8, 0xfe, 0xfd, 0xf8, 0xff, 0x10, 0x01, 0xf8, 0xff, 0x08, 0x03, 0xff, 0x02, 0xfa, + 0xfd, 0x00, 0xfb, 0xfd, 0x03, 0x05, 0xfd, 0xff, 0xfe, 0xf8, 0x04, 0x02, 0xf9, 0xfd, 0xf5, 0xf6, 0xff, 0x04, 0xf8, 0xf8, 0x08, 0xfd, + 0xf6, 0xfb, 0x09, 0xfd, 0x02, 0x15, 0x00, 0x00, 0x04, 0xfd, 0xf9, 0x07, 0x11, 0xfd, 0xff, 0xff, 0xf7, 0x04, 0x00, 0xff, 0x0d, 0x0a, + 0x01, 0xfd, 0xfb, 0x02, 0xfd, 0xef, 0xfe, 0x00, 0xfc, 0x01, 0x07, 0x01, 0xf9, 0x00, 0xf9, 0xf7, 0x03, 0x00, 0x02, 0x04, 0xfd, 0xf6, + 0xf6, 0xfd, 0x0b, 0x01, 0xf5, 0xf8, 0xfb, 0xf4, 0xf3, 0x07, 0x05, 0x02, 0x03, 0xfd, 0xf3, 0xfa, 0x0f, 0xf2, 0xf6, 0x0c, 0x03, 0x05, + 0x0b, 0x0a, 0x05, 0x01, 0x02, 0x05, 0xff, 0xf3, 0xef, 0x01, 0xfe, 0xfe, 0x09, 0x03, 0x00, 0xfe, 0xfb, 0xfd, 0x01, 0x03, 0x07, 0xff, + 0xfe, 0x06, 0x05, 0xfe, 0x00, 0x11, 0x01, 0xf3, 0xf6, 0x02, 0x03, 0x06, 0x0e, 0x00, 0xff, 0x03, 0xf9, 0xfd, 0x01, 0xff, 0xfd, 0xfa, + 0xfb, 0x03, 0xfe, 0x0a, 0x13, 0xff, 0xfa, 0xf8, 0xf5, 0xf9, 0xff, 0x04, 0x07, 0xf8, 0xfa, 0x04, 0x00, 0xf9, 0xfc, 0x02, 0xee, 0xfb, + 0x07, 0xf5, 0xfa, 0xf8, 0xf4, 0xfd, 0x07, 0x06, 0xfd, 0xf9, 0xfd, 0x01, 0xfe, 0x00, 0x01, 0x04, 0x16, 0x06, 0xf9, 0x05, 0x0a, 0x07, + 0x02, 0x04, 0xf4, 0xf8, 0x07, 0xfe, 0xfe, 0x05, 0x06, 0x05, 0xf6, 0xef, 0x05, 0x00, 0x02, 0x08, 0xf5, 0xf9, 0x09, 0x0e, 0x0a, 0xf9, + 0xf3, 0x0c, 0x06, 0xf7, 0xf5, 0x05, 0x05, 0x01, 0x05, 0x0b, 0xfe, 0xef, 0xf5, 0x05, 0x03, 0xf2, 0x09, 0x08, 0xff, 0x03, 0x05, 0xfd, + 0xf8, 0x02, 0x04, 0xfc, 0xf4, 0xef, 0xfa, 0x07, 0x05, 0xfe, 0x02, 0x08, 0xf1, 0xfd, 0x03, 0xf1, 0x00, 0x02, 0xfb, 0xfb, 0x0f, 0x0e, + 0xfa, 0x00, 0xfc, 0xf2, 0xee, 0x09, 0x09, 0xfd, 0x0b, 0x09, 0xfd, 0xf7, 0x0b, 0x00, 0xf8, 0x0c, 0xfc, 0xfb, 0x09, 0x09, 0x04, 0xff, + 0xff, 0x08, 0x0a, 0x01, 0xf5, 0x06, 0x07, 0xfc, 0x02, 0x0a, 0x09, 0xfd, 0xfa, 0xf5, 0xfa, 0x09, 0x00, 0xf7, 0xfa, 0x04, 0xff, 0xfc, + 0x04, 0x04, 0x06, 0x06, 0xfa, 0xfd, 0xfa, 0xf5, 0x07, 0x0a, 0xfe, 0xf1, 0xfd, 0x02, 0xfb, 0xf5, 0x01, 0x02, 0xf6, 0x04, 0xf7, 0xef, + 0x01, 0xfc, 0xf9, 0xff, 0x06, 0x05, 0x04, 0x05, 0xfc, 0xfe, 0x06, 0x08, 0x03, 0x02, 0x02, 0xfd, 0xfd, 0xff, 0xfe, 0x01, 0xf9, 0xf2, + 0xfb, 0xff, 0x01, 0x00, 0xfc, 0x05, 0x06, 0xfb, 0xf8, 0x08, 0x10, 0xfc, 0x02, 0x01, 0xf8, 0xff, 0x09, 0x0d, 0x09, 0x05, 0x02, 0xfc, + 0xf1, 0xfb, 0x01, 0xff, 0x04, 0x06, 0x02, 0xfa, 0xfc, 0xff, 0xfc, 0xef, 0x08, 0x10, 0xff, 0x04, 0x09, 0x07, 0xfc, 0x08, 0x03, 0xf4, + 0xf9, 0xfd, 0xff, 0xff, 0xf8, 0xff, 0x07, 0x03, 0xf2, 0xee, 0xf6, 0xff, 0xf4, 0xfc, 0x14, 0xfd, 0xec, 0xf3, 0x0e, 0x07, 0x03, 0x08, + 0x01, 0xfd, 0xfe, 0x00, 0x00, 0x01, 0x02, 0x03, 0xfd, 0xf7, 0xf7, 0xff, 0x00, 0xfc, 0xfb, 0x01, 0x01, 0xfc, 0xfa, 0x00, 0x07, 0x07, + 0xff, 0xff, 0x02, 0x03, 0xfd, 0x03, 0x0a, 0xfb, 0x08, 0x0d, 0xff, 0xf3, 0x01, 0x0c, 0xfe, 0xf8, 0xfe, 0x05, 0xfa, 0x04, 0x08, 0xfd, + 0x03, 0x02, 0x00, 0x09, 0xf5, 0xf6, 0x0c, 0x13, 0x02, 0xfc, 0x09, 0xfd, 0xf7, 0xfe, 0x0d, 0xf9, 0xf7, 0x07, 0xfd, 0xf0, 0xf6, 0x0c, + 0x12, 0xfd, 0xe9, 0xf3, 0x06, 0x02, 0xed, 0xfd, 0xf6, 0xfd, 0x1d, 0x03, 0xed, 0xf3, 0x00, 0xfd, 0xf6, 0xf5, 0xf8, 0xfa, 0xfd, 0x05, + 0xea, 0xf9, 0x15, 0xf9, 0xe3, 0xf0, 0x0e, 0x02, 0xf4, 0xf8, 0x0c, 0x0c, 0x06, 0x02, 0x07, 0xf9, 0xfa, 0x0f, 0x02, 0xf6, 0xfb, 0x11, + 0xfe, 0x01, 0x14, 0xf5, 0xee, 0xfa, 0x06, 0xf8, 0xfd, 0x0a, 0x06, 0x02, 0x04, 0x09, 0x0a, 0x05, 0x02, 0x04, 0xf7, 0xfb, 0x0b, 0x0d, + 0x02, 0xf7, 0xf5, 0x0a, 0x02, 0xf8, 0x08, 0x04, 0xff, 0xfe, 0xf8, 0x04, 0x02, 0xee, 0xff, 0x06, 0x06, 0x05, 0x17, 0x0b, 0xf1, 0x01, + 0x02, 0xff, 0x02, 0x02, 0xfe, 0xfa, 0xfc, 0xf4, 0xfa, 0x04, 0xf6, 0xf3, 0xf8, 0xfb, 0x07, 0xff, 0xf4, 0x00, 0x0d, 0x07, 0xf9, 0x09, + 0xff, 0xf5, 0xfc, 0xfa, 0xfb, 0xfe, 0xfc, 0x02, 0x00, 0xf7, 0x00, 0xf5, 0xee, 0xfc, 0x06, 0xff, 0xf5, 0xfc, 0x04, 0x0b, 0x0c, 0xff, + 0xfd, 0x02, 0x00, 0x08, 0x05, 0x00, 0x0f, 0x04, 0xf6, 0xf9, 0x01, 0x05, 0x01, 0xfb, 0xf6, 0xf1, 0xf2, 0x01, 0x08, 0x07, 0x03, 0xfe, + 0x04, 0x08, 0xfc, 0x06, 0x0a, 0x02, 0xfa, 0xff, 0x0b, 0x14, 0x05, 0x01, 0x04, 0x00, 0xff, 0x08, 0x0c, 0xf4, 0xec, 0xfa, 0x0a, 0x0f, + 0x01, 0xf5, 0xfe, 0x07, 0x04, 0xfb, 0x0b, 0x03, 0xf6, 0xf9, 0x02, 0x01, 0xfa, 0xf9, 0x03, 0x04, 0xf8, 0xfd, 0xfb, 0xf8, 0xfd, 0x00, + 0xff, 0xfe, 0x01, 0xff, 0xff, 0x01, 0xf6, 0xf9, 0xff, 0xf3, 0x04, 0x0a, 0x00, 0x02, 0x00, 0xfe, 0xff, 0xff, 0x00, 0xfe, 0xf9, 0xfe, + 0x06, 0x07, 0xf8, 0xf9, 0x06, 0x0e, 0xf5, 0xfb, 0x0e, 0xf9, 0xf9, 0xff, 0x00, 0xfc, 0x02, 0x0a, 0x0e, 0xf4, 0xf5, 0x05, 0xf7, 0x00, + 0x03, 0xf9, 0x03, 0x01, 0xfb, 0x02, 0x01, 0x01, 0x04, 0x07, 0x01, 0xfc, 0xfc, 0x03, 0x0a, 0x07, 0xf5, 0x06, 0x13, 0x09, 0xf9, 0xfa, + 0xff, 0xff, 0xfd, 0x04, 0x05, 0xef, 0xff, 0x07, 0xfb, 0xf6, 0xfc, 0x00, 0xfc, 0xfc, 0x04, 0x09, 0xf9, 0x0b, 0x0e, 0xfa, 0xf9, 0xfe, + 0x02, 0x04, 0x03, 0x01, 0xfd, 0xfb, 0xf8, 0x05, 0x17, 0xfa, 0xf4, 0xf7, 0xe8, 0xfd, 0x02, 0xf8, 0xff, 0x06, 0x01, 0xf4, 0xfc, 0xfb, + 0xfb, 0x09, 0x08, 0x04, 0x00, 0xf5, 0xfd, 0x06, 0x04, 0x08, 0x05, 0xfa, 0xe9, 0xfb, 0x00, 0xf3, 0xf8, 0x00, 0x04, 0x00, 0x01, 0x03, + 0x01, 0xf7, 0x06, 0x0a, 0xfe, 0xff, 0xfa, 0xfa, 0x04, 0x02, 0x04, 0x08, 0x05, 0xf5, 0xf8, 0x0c, 0xfe, 0xf7, 0xff, 0x09, 0xfe, 0xef, + 0xee, 0x03, 0x06, 0x05, 0x0b, 0x02, 0x00, 0x01, 0xfe, 0xfe, 0x08, 0x11, 0x08, 0xfa, 0xf7, 0x01, 0x06, 0x07, 0x01, 0xfb, 0xf7, 0x02, + 0x0c, 0xf3, 0xfd, 0x0a, 0x00, 0xf2, 0xf9, 0x06, 0xff, 0xfc, 0xfb, 0xff, 0x0a, 0x01, 0xf6, 0xfb, 0x07, 0x05, 0xfb, 0x00, 0xfe, 0x03, + 0x0a, 0xf3, 0xf0, 0x00, 0x0f, 0x01, 0x00, 0x04, 0xea, 0xf1, 0xfe, 0xfd, 0x0b, 0x09, 0xff, 0xfd, 0xfd, 0xf9, 0xf8, 0x0a, 0xff, 0xf7, + 0x01, 0xff, 0xf7, 0xf6, 0x03, 0x06, 0x05, 0x04, 0x01, 0xff, 0xf6, 0xe8, 0x05, 0x06, 0xf7, 0x01, 0x05, 0x04, 0x03, 0x05, 0xfd, 0xf6, + 0xfb, 0xf7, 0xfd, 0x07, 0x0c, 0xfc, 0xfc, 0x0b, 0xfd, 0xf1, 0xf6, 0x09, 0xff, 0x04, 0x0e, 0xfa, 0xfc, 0x07, 0x08, 0xf4, 0xfc, 0x09, + 0xfc, 0x09, 0x08, 0xf8, 0xf9, 0x02, 0x05, 0x02, 0x13, 0x08, 0xf3, 0xfa, 0xf4, 0xfd, 0x0d, 0x04, 0xf9, 0xf5, 0xfb, 0x18, 0x0f, 0xf8, + 0x06, 0x03, 0xfd, 0xf8, 0xfb, 0xf3, 0xfc, 0x15, 0x0d, 0xfa, 0xf9, 0x16, 0xff, 0xee, 0xfc, 0xfd, 0x08, 0x02, 0xe6, 0xfe, 0x0f, 0x06, + 0xf5, 0x04, 0x09, 0xf7, 0xf0, 0xfc, 0x03, 0xf5, 0x06, 0x0b, 0x00, 0x00, 0xfa, 0xf4, 0xf3, 0xff, 0xf3, 0xe7, 0xfc, 0xf5, 0xfe, 0x12, + 0x10, 0xf5, 0xe6, 0xf5, 0xfc, 0x02, 0x03, 0xfb, 0x08, 0x03, 0xf4, 0x0f, 0x10, 0x02, 0xfa, 0x00, 0x02, 0x02, 0x05, 0x0b, 0x01, 0xf2, + 0x03, 0x04, 0x04, 0x11, 0x0b, 0x00, 0xf8, 0xf7, 0xfe, 0x07, 0x0c, 0x11, 0x02, 0xfb, 0x0d, 0xf7, 0xf5, 0x08, 0x08, 0x03, 0xfd, 0xfe, + 0x0d, 0x0c, 0x03, 0x05, 0xf1, 0xf4, 0x07, 0x03, 0xf8, 0xfe, 0x10, 0xf0, 0xf2, 0x09, 0x0b, 0xfa, 0x05, 0x19, 0xed, 0xf1, 0x01, 0xfc, + 0xff, 0x01, 0x03, 0x0b, 0xf1, 0xec, 0x05, 0x08, 0x01, 0xf2, 0xe4, 0xf6, 0x05, 0x00, 0xf1, 0xfc, 0xfb, 0xed, 0x05, 0x04, 0xf8, 0xf8, + 0xf8, 0xfe, 0x04, 0x00, 0x09, 0x06, 0xf6, 0x07, 0x0b, 0x00, 0xf6, 0xfe, 0x0c, 0x0c, 0xf5, 0xf7, 0x04, 0x0a, 0x09, 0x0d, 0x0a, 0xf7, + 0xf1, 0xf4, 0xfd, 0x04, 0x0e, 0x12, 0x0d, 0xf6, 0x02, 0x16, 0x02, 0xf7, 0xf6, 0xfc, 0x03, 0x0b, 0x08, 0xfe, 0x0a, 0x08, 0xfb, 0xfd, + 0xf5, 0xfc, 0x0e, 0x07, 0xfe, 0xf8, 0xf4, 0x02, 0x0b, 0x06, 0xfe, 0xfa, 0xfc, 0xfe, 0xf6, 0xff, 0x05, 0xf8, 0x06, 0x0b, 0x02, 0xfa, + 0xfc, 0xff, 0xfb, 0xf4, 0xf1, 0xfb, 0x10, 0xf7, 0xea, 0xf9, 0x02, 0x06, 0x00, 0xf9, 0xef, 0xfc, 0x08, 0xfa, 0xf9, 0xfa, 0xfb, 0x12, + 0xff, 0xee, 0xff, 0x04, 0x07, 0x04, 0xf2, 0x09, 0x0c, 0xf3, 0xfd, 0x04, 0x09, 0x12, 0xf1, 0xf9, 0x12, 0xed, 0xf4, 0x03, 0x06, 0x12, + 0x10, 0x00, 0xf4, 0xf0, 0xfa, 0x07, 0xfd, 0x13, 0x10, 0xee, 0xf8, 0x07, 0x0b, 0x05, 0x08, 0x04, 0xfc, 0xfd, 0xfa, 0xfe, 0x0a, 0xff, + 0xff, 0x01, 0xf6, 0x03, 0x0a, 0x00, 0xf2, 0xf7, 0x00, 0xfe, 0xf9, 0xfb, 0x05, 0x0d, 0x09, 0xfa, 0xf1, 0x05, 0x03, 0xfa, 0x01, 0x00, + 0xfe, 0x02, 0x11, 0xfe, 0xed, 0xf2, 0xf6, 0x01, 0x02, 0xf3, 0xf7, 0xf9, 0xf9, 0xff, 0x04, 0x03, 0x02, 0xf7, 0x05, 0x0d, 0xf7, 0xf6, + 0x05, 0x0f, 0x08, 0xfb, 0xfd, 0x0d, 0xfd, 0x01, 0x0c, 0x05, 0xf3, 0xf7, 0x08, 0xf3, 0x08, 0x19, 0x07, 0xef, 0xf7, 0x05, 0xf8, 0xf8, + 0x06, 0x13, 0x02, 0xff, 0x06, 0x0d, 0xeb, 0xf7, 0x13, 0xf9, 0xf4, 0xfd, 0x03, 0x00, 0xfd, 0x02, 0x10, 0xf6, 0xf2, 0x04, 0xfd, 0x04, + 0xfe, 0xec, 0xfd, 0x04, 0xfc, 0xf3, 0x01, 0x01, 0xf7, 0x03, 0x00, 0xf9, 0xf8, 0xfe, 0x00, 0xff, 0xfd, 0x05, 0x04, 0xf8, 0xf9, 0xf0, + 0xf9, 0x14, 0x08, 0xfa, 0xf8, 0xfa, 0x02, 0x03, 0xff, 0x03, 0x05, 0x05, 0x03, 0xfa, 0xf8, 0xfe, 0x01, 0x10, 0x11, 0x04, 0x00, 0x01, + 0x04, 0x05, 0xfb, 0xff, 0x08, 0xf9, 0x00, 0x07, 0x03, 0x0b, 0x0a, 0x02, 0xfc, 0xf7, 0xfc, 0x06, 0x0a, 0x00, 0x02, 0x0e, 0xfa, 0xe5, + 0xed, 0x13, 0x12, 0x04, 0xfe, 0x09, 0xfb, 0xf3, 0xff, 0x04, 0x04, 0x06, 0x11, 0xfa, 0xf5, 0x02, 0xf1, 0xee, 0xf6, 0xff, 0xff, 0x04, + 0x05, 0xf8, 0xf7, 0xfd, 0xfe, 0xe9, 0xf2, 0x04, 0x05, 0xf7, 0xf5, 0xff, 0x01, 0x07, 0x09, 0x04, 0xff, 0xf9, 0xf7, 0xf8, 0x00, 0xff, + 0xf9, 0xfc, 0xfd, 0x05, 0x0d, 0xfc, 0xf5, 0xf9, 0xfb, 0xfd, 0x01, 0x07, 0x0d, 0x13, 0x0e, 0x01, 0xee, 0xf4, 0x07, 0x0e, 0x02, 0xfd, + 0x03, 0xff, 0x02, 0x05, 0x01, 0x06, 0x03, 0xf8, 0xf0, 0xfa, 0x04, 0x05, 0xff, 0x05, 0x0d, 0x0b, 0xf5, 0xfe, 0x0f, 0xf4, 0x04, 0x12, + 0x07, 0xf8, 0xf9, 0x01, 0x01, 0x0b, 0x0c, 0x02, 0xf1, 0x01, 0x01, 0xe8, 0xf7, 0x06, 0x0b, 0x07, 0x01, 0xff, 0xfd, 0xf3, 0xf5, 0xfd, + 0x02, 0x15, 0x09, 0xf4, 0xfa, 0x00, 0x00, 0xfc, 0xf9, 0xfd, 0x02, 0x00, 0xf1, 0xf4, 0xfd, 0xf1, 0x07, 0x07, 0xf0, 0x08, 0x08, 0xf7, + 0xeb, 0xfe, 0xfd, 0xf3, 0xfe, 0x0e, 0x0b, 0xfa, 0x03, 0xfd, 0xf6, 0xfe, 0x05, 0x01, 0xfd, 0x0a, 0x00, 0xf8, 0x00, 0xf9, 0x00, 0x06, + 0xfc, 0xfc, 0x08, 0x0c, 0xef, 0xfe, 0x0b, 0xfe, 0x11, 0x08, 0xf5, 0xf9, 0x03, 0xfe, 0xf4, 0x04, 0x06, 0x01, 0x00, 0x0e, 0x05, 0xfa, + 0x0d, 0x04, 0xfe, 0x03, 0x01, 0xfc, 0x00, 0x08, 0x07, 0xfa, 0xf5, 0x09, 0x0c, 0xff, 0xf3, 0x01, 0x03, 0x00, 0x03, 0x0b, 0xfa, 0xe7, + 0xfc, 0x07, 0xfe, 0xef, 0x15, 0x04, 0xeb, 0x03, 0x04, 0xfd, 0xfd, 0x06, 0x03, 0xfb, 0xf6, 0xf9, 0xfb, 0xfd, 0x01, 0xfc, 0xfe, 0x04, + 0xfb, 0xf7, 0xfc, 0x06, 0xfd, 0xfe, 0xfe, 0xed, 0x05, 0x1a, 0x0e, 0xe3, 0xf1, 0x0e, 0x0d, 0xf8, 0xfc, 0x10, 0x11, 0xfe, 0xf7, 0x03, + 0xf7, 0xf6, 0x00, 0x0c, 0xf2, 0xfa, 0x0e, 0xf1, 0xf5, 0x05, 0x0a, 0xf5, 0xfd, 0x0b, 0x02, 0x00, 0x00, 0x01, 0xfe, 0x04, 0x07, 0x02, + 0xf7, 0xfd, 0x07, 0x02, 0xf7, 0xfe, 0x0c, 0x05, 0xf8, 0xf1, 0xf6, 0x03, 0x07, 0x03, 0x00, 0x02, 0x04, 0x04, 0xfa, 0x0e, 0x11, 0xf1, + 0xf4, 0x03, 0x0a, 0x02, 0x06, 0x09, 0x04, 0xf7, 0xfc, 0xff, 0xf3, 0x00, 0x08, 0x00, 0xef, 0xfb, 0x03, 0xfb, 0xf8, 0x01, 0x06, 0xfc, + 0xfa, 0x02, 0x07, 0xf0, 0x01, 0x0d, 0x00, 0xf1, 0x01, 0x11, 0x00, 0xf5, 0xfb, 0x08, 0xfd, 0xff, 0xff, 0xf8, 0xfe, 0x06, 0x02, 0xf5, + 0xf9, 0x03, 0x05, 0xf6, 0xfa, 0x05, 0x08, 0xf9, 0xf9, 0x02, 0x03, 0xfb, 0xfe, 0x08, 0x03, 0xf7, 0xfa, 0x0e, 0xfa, 0xfa, 0x07, 0xfc, + 0xfe, 0x05, 0x09, 0x00, 0x00, 0x04, 0x03, 0x00, 0x02, 0x02, 0xf9, 0xfc, 0x07, 0x0d, 0xfb, 0xf9, 0x01, 0x02, 0x02, 0xff, 0xff, 0x09, + 0x03, 0xfa, 0xfb, 0xf8, 0xfc, 0x03, 0x09, 0xfe, 0xfe, 0x05, 0xf6, 0xf8, 0x04, 0x0c, 0x02, 0x02, 0x00, 0xec, 0xf5, 0x03, 0x04, 0xf8, + 0xfa, 0x03, 0x05, 0xf8, 0xfc, 0x07, 0xfd, 0xfd, 0x01, 0x03, 0x03, 0x00, 0xfc, 0xfb, 0xfc, 0x02, 0x07, 0x04, 0xff, 0xfd, 0xff, 0x04, + 0xff, 0xfb, 0x01, 0x01, 0xff, 0xfe, 0xfd, 0xff, 0x00, 0x00, 0xfe, 0x02, 0x05, 0x01, 0x00, 0x04, 0x08, 0x03, 0x04, 0x05, 0x02, 0xf6, + 0xfd, 0x06, 0xfd, 0xfc, 0xfe, 0xff, 0xff, 0xf7, 0xfb, 0x0d, 0xf7, 0xf0, 0xfc, 0x01, 0x06, 0x02, 0xfa, 0xf7, 0x03, 0x09, 0xff, 0x03, + 0x0d, 0x0e, 0xf9, 0xfa, 0xfb, 0xf5, 0xfd, 0x05, 0x06, 0xff, 0x01, 0xfd, 0xf7, 0xf7, 0xff, 0x06, 0x07, 0xfd, 0x00, 0x01, 0xf6, 0xf7, + 0xff, 0x07, 0x0a, 0x05, 0x04, 0x09, 0xf5, 0xf8, 0x04, 0x00, 0x06, 0x0a, 0x05, 0xfa, 0xf5, 0xf5, 0xf7, 0x05, 0x05, 0xfb, 0xf8, 0x06, + 0x06, 0xf8, 0x09, 0x07, 0x00, 0x04, 0x03, 0x01, 0xfe, 0xf9, 0xff, 0x03, 0x01, 0x03, 0x05, 0x01, 0xf9, 0x03, 0x05, 0xfc, 0xf5, 0xfc, + 0xfb, 0xf1, 0x01, 0x02, 0xfb, 0xf9, 0x04, 0xfd, 0xf1, 0x00, 0x09, 0x07, 0x01, 0x01, 0xfd, 0xfb, 0x03, 0x00, 0xfd, 0xfd, 0xf1, 0xf7, + 0x00, 0x00, 0x01, 0x0c, 0x0e, 0xfb, 0xf6, 0xfe, 0x05, 0x01, 0xf9, 0xf9, 0x04, 0x0b, 0x08, 0xff, 0xfb, 0xfa, 0x01, 0x09, 0x05, 0xfc, + 0xfd, 0x09, 0xf7, 0xf5, 0x02, 0x00, 0x02, 0x04, 0x01, 0xf3, 0xf8, 0x05, 0x0b, 0x05, 0x03, 0x06, 0xff, 0xff, 0xfe, 0xfb, 0xfd, 0x02, + 0x01, 0xf6, 0xfe, 0x00, 0xfb, 0xff, 0x03, 0x06, 0x06, 0x02, 0xfa, 0xf8, 0x03, 0xfd, 0xf8, 0xfe, 0x0b, 0x01, 0xf8, 0x00, 0x07, 0x01, + 0xf7, 0xf6, 0xfd, 0xff, 0xfa, 0x05, 0xfd, 0xf6, 0xff, 0x01, 0xfa, 0xf5, 0xf9, 0x06, 0x09, 0x01, 0xfb, 0x01, 0x05, 0xfc, 0xfc, 0x05, + 0x08, 0xef, 0xff, 0x08, 0xf6, 0xf2, 0x04, 0x0e, 0xfd, 0x01, 0x03, 0xfb, 0xec, 0xf7, 0x05, 0x06, 0xf8, 0x02, 0x0d, 0xf9, 0xfc, 0x0c, + 0x16, 0x07, 0xfd, 0xfa, 0xfd, 0xfe, 0x08, 0x0d, 0x01, 0xfd, 0xfe, 0xfd, 0xf9, 0xf8, 0xfd, 0x07, 0xfc, 0xf8, 0x01, 0x09, 0xff, 0xfe, + 0x0b, 0x04, 0xfc, 0xfa, 0xfd, 0xff, 0x03, 0x08, 0x05, 0x0c, 0x0a, 0xfb, 0xfb, 0xfb, 0xf9, 0xf8, 0x02, 0x06, 0xff, 0xf6, 0xf3, 0xfa, + 0x05, 0x06, 0xff, 0xfa, 0xfc, 0xfd, 0xff, 0x03, 0xfd, 0x05, 0x07, 0xfa, 0xfd, 0x01, 0x01, 0xfc, 0xff, 0xfc, 0xf7, 0xff, 0x06, 0xfe, + 0xec, 0xfd, 0x03, 0xfc, 0xfe, 0xff, 0xfc, 0xf7, 0x01, 0xfe, 0xfd, 0x08, 0x0e, 0xfc, 0xed, 0x06, 0x0d, 0x02, 0xf7, 0x02, 0x06, 0x00, + 0xfa, 0x01, 0x05, 0x01, 0x06, 0xf7, 0xf4, 0x06, 0x0c, 0x03, 0xfb, 0x02, 0x04, 0x00, 0xfd, 0x02, 0x07, 0x0c, 0x0d, 0xf8, 0xf8, 0x04, + 0x04, 0xff, 0x04, 0x0e, 0x07, 0xfe, 0xfa, 0xfd, 0xfe, 0x00, 0x00, 0xff, 0x00, 0x03, 0x03, 0xf7, 0xf9, 0x04, 0x0b, 0x03, 0xfe, 0xfe, + 0xf7, 0xf4, 0xf7, 0xfe, 0xf8, 0x07, 0x0d, 0xf4, 0xf7, 0xfe, 0xfd, 0xee, 0xfb, 0x05, 0xff, 0xfd, 0xff, 0x01, 0x00, 0xfe, 0x01, 0x02, + 0xfc, 0xf8, 0xfb, 0x02, 0xfd, 0xfc, 0x00, 0x02, 0xf6, 0xf9, 0x09, 0x04, 0x00, 0xfa, 0xf4, 0xf9, 0x02, 0x09, 0x0c, 0x0a, 0x03, 0xfb, + 0xf9, 0xfe, 0x07, 0x0b, 0xff, 0xfc, 0x04, 0x08, 0x04, 0xff, 0xff, 0x02, 0x01, 0xff, 0xfe, 0xf7, 0xf8, 0x00, 0x02, 0x0a, 0x0c, 0x06, + 0x01, 0x03, 0x01, 0xf5, 0xf8, 0xff, 0x06, 0x0e, 0x0c, 0x01, 0xf8, 0x03, 0x09, 0x02, 0xf7, 0xfb, 0xff, 0xff, 0xfc, 0xff, 0x04, 0x04, + 0xfc, 0x01, 0x08, 0xfc, 0xf6, 0xfa, 0x03, 0x02, 0x06, 0x08, 0x02, 0x01, 0xfe, 0xf8, 0xf7, 0xf9, 0xfc, 0xfd, 0xf7, 0xfb, 0x02, 0x01, + 0x02, 0xfa, 0xf6, 0x08, 0x00, 0xf8, 0xfe, 0x02, 0xfd, 0xf9, 0x02, 0xfe, 0x01, 0x09, 0x09, 0xfc, 0xf3, 0xf9, 0xf8, 0xfb, 0x01, 0x05, + 0x04, 0xfa, 0xf4, 0x05, 0x00, 0xf6, 0xf8, 0x05, 0x05, 0xff, 0x05, 0x05, 0x03, 0x03, 0x0d, 0x05, 0xfd, 0x03, 0x08, 0x03, 0xfb, 0x00, + 0x01, 0x04, 0x07, 0x0a, 0x04, 0xfd, 0xfc, 0x00, 0xfb, 0xf5, 0xfd, 0x0a, 0x08, 0xf9, 0xfc, 0x00, 0x04, 0x08, 0x00, 0xfb, 0xff, 0x0a, + 0xfa, 0xf3, 0x04, 0xfc, 0xfb, 0x03, 0x08, 0xfa, 0xf7, 0xff, 0xfa, 0xf9, 0xfc, 0xfe, 0xf4, 0xfd, 0x0b, 0x03, 0xf8, 0xf5, 0xfb, 0xf5, + 0x01, 0x0a, 0xff, 0xf6, 0xfd, 0x07, 0xfc, 0x02, 0x02, 0xf7, 0xf5, 0xfd, 0x02, 0xff, 0xf4, 0xf6, 0x00, 0xfb, 0x02, 0x0a, 0x09, 0xfc, + 0xf9, 0x00, 0x09, 0x00, 0x01, 0x07, 0xf9, 0xfd, 0x05, 0x03, 0x05, 0xff, 0x00, 0x0e, 0xfe, 0xec, 0xf0, 0x05, 0x10, 0x08, 0xfc, 0xfa, + 0xff, 0x05, 0x04, 0xfa, 0xf7, 0xff, 0xfe, 0x08, 0x0d, 0x03, 0xff, 0x01, 0xff, 0xf6, 0x00, 0x05, 0xfd, 0xf9, 0xfa, 0xfe, 0x01, 0x0c, + 0x06, 0xfc, 0x0a, 0xfc, 0xf2, 0xfb, 0xfe, 0x04, 0x01, 0xf6, 0x00, 0x0d, 0x0c, 0xfe, 0xf5, 0xfd, 0x0d, 0xf9, 0xfa, 0x08, 0x09, 0x00, + 0xfc, 0xfe, 0xf3, 0x01, 0x09, 0xfc, 0xf1, 0xf9, 0x03, 0xfc, 0xfc, 0x02, 0x06, 0xfe, 0xfb, 0x01, 0x06, 0xfc, 0xf2, 0xf5, 0x07, 0x0b, + 0x05, 0x01, 0x08, 0xfd, 0xf3, 0xfb, 0xf9, 0x00, 0x08, 0xff, 0x04, 0x07, 0x02, 0xfd, 0x00, 0x04, 0x01, 0xfe, 0x00, 0x02, 0x01, 0x01, + 0x07, 0x0f, 0xf4, 0xf8, 0x05, 0xf8, 0xf7, 0xfd, 0x02, 0x06, 0xfd, 0xf6, 0xfa, 0xfb, 0xfe, 0x01, 0x05, 0xfe, 0xfd, 0x03, 0x02, 0xfa, + 0xfa, 0x05, 0xfc, 0xf9, 0xfe, 0x02, 0x00, 0x05, 0x0a, 0xf6, 0xf3, 0xfe, 0x08, 0x05, 0x00, 0xff, 0x08, 0xfc, 0xf8, 0x03, 0x0c, 0x00, + 0xfa, 0x0d, 0x0c, 0xfd, 0xf3, 0x0a, 0xfa, 0xf9, 0x11, 0xff, 0xf2, 0xfa, 0x0b, 0xfa, 0xf6, 0x03, 0x0a, 0x03, 0x00, 0x05, 0xfb, 0xf3, + 0xf7, 0x09, 0x0c, 0x08, 0x04, 0xfd, 0x07, 0x09, 0xfb, 0xff, 0x04, 0x05, 0x07, 0xf6, 0xfb, 0x0e, 0xf6, 0xf8, 0x01, 0xfd, 0x06, 0x06, + 0xfb, 0xee, 0xf8, 0x08, 0x0c, 0xf6, 0xfe, 0x08, 0xf5, 0xff, 0x02, 0xfc, 0xfe, 0x04, 0x00, 0xf6, 0x04, 0x00, 0xf5, 0xf7, 0xf5, 0xf9, + 0xff, 0xfe, 0xf9, 0xf9, 0xfd, 0x03, 0xff, 0xfe, 0x09, 0x03, 0xfd, 0xfe, 0xfa, 0x01, 0x08, 0x08, 0xfa, 0xfc, 0x06, 0x05, 0xfd, 0xfd, + 0x06, 0x04, 0x00, 0x02, 0x09, 0x04, 0x01, 0xff, 0xfe, 0xf6, 0xf8, 0x03, 0x08, 0x05, 0x02, 0x04, 0xfd, 0xf9, 0xfa, 0xfb, 0x06, 0x08, + 0xfd, 0x02, 0xfd, 0xfb, 0x06, 0x04, 0x00, 0xff, 0xfa, 0xfb, 0x01, 0x04, 0xfa, 0xfe, 0x08, 0x06, 0x04, 0xfe, 0xf9, 0xf7, 0xfe, 0x06, + 0x09, 0xfa, 0x04, 0x0d, 0xf3, 0xf8, 0x03, 0x02, 0xf3, 0xf9, 0x01, 0xfd, 0xfd, 0xfd, 0xfd, 0xfa, 0xfe, 0x03, 0x06, 0xfd, 0xfe, 0xfc, + 0xf2, 0xf7, 0x09, 0x11, 0xfb, 0xf6, 0xfa, 0xfe, 0x02, 0xfc, 0xf9, 0x04, 0xfb, 0xfc, 0x07, 0x06, 0xfb, 0xfc, 0x06, 0xf9, 0xf3, 0xff, + 0x14, 0x06, 0xfc, 0xfe, 0xfc, 0xf7, 0x01, 0x15, 0x09, 0xfe, 0xf9, 0xf4, 0xf9, 0x07, 0x0d, 0xf4, 0xf6, 0x05, 0x08, 0x0c, 0x01, 0xf7, + 0x01, 0xfe, 0xfb, 0xfe, 0x0a, 0x03, 0xf9, 0xfc, 0xfc, 0x00, 0x07, 0x0d, 0xfc, 0xf6, 0x00, 0xf3, 0xf5, 0x00, 0x05, 0x02, 0x01, 0x01, + 0xfc, 0x00, 0x00, 0xfa, 0xfb, 0xff, 0x04, 0x09, 0x05, 0x02, 0x03, 0x05, 0x00, 0xfa, 0xfb, 0xfb, 0xfe, 0xff, 0xff, 0x02, 0x0a, 0x09, + 0xef, 0xf4, 0x03, 0x04, 0x02, 0xfd, 0xfb, 0x00, 0xfb, 0xfa, 0x00, 0x07, 0x05, 0xfe, 0xfa, 0x04, 0xfd, 0xf4, 0x0a, 0x07, 0xfb, 0xf6, + 0xfd, 0x04, 0x04, 0xfb, 0x02, 0x01, 0xfa, 0xfc, 0xfe, 0x00, 0x02, 0x04, 0x02, 0x03, 0x09, 0xfe, 0xf6, 0xf7, 0xf5, 0x04, 0x0b, 0x01, + 0x05, 0x04, 0xfd, 0xf7, 0xff, 0x02, 0xfc, 0xfb, 0xfd, 0xfe, 0xfe, 0x03, 0x02, 0xff, 0x04, 0xff, 0xfc, 0xfe, 0x02, 0xf6, 0xf2, 0x02, + 0x03, 0x04, 0x05, 0x06, 0x01, 0xfd, 0xfd, 0x08, 0xff, 0xf8, 0x05, 0xfa, 0x01, 0x10, 0x0b, 0xf9, 0xf5, 0x03, 0x00, 0xfc, 0x02, 0x12, + 0xfc, 0xf8, 0x04, 0xfc, 0x02, 0x09, 0x07, 0xff, 0xfd, 0xfc, 0xf7, 0xf7, 0xfb, 0x00, 0xfd, 0x07, 0x09, 0xfb, 0xfd, 0xfd, 0xf8, 0xf4, + 0xfa, 0x04, 0x0a, 0x0b, 0xfe, 0xf5, 0xf8, 0x04, 0x06, 0x02, 0x01, 0x05, 0xfe, 0xf4, 0x00, 0x07, 0x03, 0xfc, 0xf3, 0xf8, 0x04, 0x06, + 0xfe, 0xfd, 0x03, 0xf7, 0xf6, 0xff, 0x0b, 0x07, 0x09, 0x06, 0xef, 0xee, 0xfd, 0x09, 0xfe, 0xfc, 0x00, 0xfd, 0x03, 0x06, 0x03, 0xf8, + 0x07, 0x0d, 0xfc, 0xfd, 0xff, 0x01, 0x06, 0x00, 0xfd, 0x03, 0x08, 0x00, 0xfb, 0x03, 0xff, 0xfc, 0xfe, 0x05, 0xfa, 0xfd, 0x0a, 0xf9, + 0xfe, 0x07, 0x01, 0xfb, 0xf9, 0xfb, 0xfd, 0xfe, 0x02, 0x09, 0x11, 0x07, 0xf9, 0xf7, 0xf6, 0xf6, 0xf9, 0xfc, 0x01, 0x04, 0x03, 0x03, + 0x02, 0xff, 0xf8, 0xfb, 0x03, 0x06, 0xff, 0xfd, 0xfd, 0xfe, 0x07, 0x03, 0xfe, 0x09, 0xfd, 0xfa, 0x03, 0x05, 0xfc, 0xfb, 0x07, 0xfa, + 0xf9, 0x06, 0x0d, 0xfe, 0xf4, 0xf6, 0xf0, 0xfd, 0x05, 0xf9, 0x0e, 0x0e, 0xfb, 0xf1, 0x02, 0x04, 0xf6, 0x00, 0x08, 0x08, 0x02, 0xfa, + 0xf7, 0xfd, 0x06, 0x0a, 0x01, 0xf6, 0x03, 0x05, 0xfd, 0xfa, 0xfb, 0xfc, 0xff, 0x0e, 0x04, 0xfc, 0x04, 0x0a, 0x06, 0xfb, 0xf4, 0xfb, + 0x04, 0x08, 0x10, 0x03, 0xfa, 0x00, 0xfe, 0xf9, 0xfa, 0x03, 0xff, 0xfa, 0xfb, 0xfb, 0xff, 0x01, 0xff, 0x02, 0x00, 0xfb, 0xfb, 0xff, + 0x03, 0x02, 0xf2, 0xf4, 0x05, 0x11, 0x02, 0xf7, 0xfb, 0x02, 0xfe, 0xf3, 0xf1, 0x11, 0x0c, 0xf9, 0x03, 0xf9, 0x02, 0x11, 0x01, 0xf3, + 0xf5, 0x00, 0xfe, 0x03, 0x08, 0x02, 0xfd, 0xff, 0x02, 0x00, 0xfa, 0xf7, 0xfa, 0x05, 0x03, 0xfe, 0x04, 0x03, 0xfd, 0xf9, 0x03, 0x01, + 0xfd, 0x02, 0x09, 0x01, 0xf5, 0xfa, 0x01, 0x06, 0x06, 0x03, 0xfc, 0xfb, 0x00, 0xfb, 0xf6, 0xf9, 0x04, 0x08, 0x03, 0xfc, 0x01, 0xfa, + 0xf9, 0x0a, 0xfb, 0xfa, 0x07, 0xff, 0xfa, 0xfe, 0x03, 0xf1, 0xff, 0x0c, 0xf8, 0x02, 0x0b, 0x06, 0xf8, 0xf9, 0xf8, 0xf2, 0x02, 0x0d, + 0x09, 0xf9, 0x00, 0xff, 0xf5, 0xfc, 0x02, 0x03, 0x04, 0x05, 0x08, 0x04, 0xf3, 0xff, 0x03, 0xf9, 0x01, 0xff, 0xfb, 0xff, 0xff, 0x01, + 0x02, 0xfe, 0xfe, 0x03, 0x06, 0xff, 0xf3, 0xf5, 0x05, 0x05, 0xfd, 0xfc, 0x0b, 0x0a, 0x04, 0xff, 0xf8, 0xf1, 0xf9, 0x14, 0xf9, 0xf9, + 0x11, 0x07, 0xf9, 0xf9, 0x04, 0x00, 0xfa, 0xfb, 0x03, 0xfe, 0xfd, 0x03, 0x04, 0x06, 0x05, 0xff, 0xea, 0xf5, 0x06, 0xf8, 0xfd, 0xfd, + 0xf9, 0x08, 0x03, 0xfc, 0x05, 0x05, 0x06, 0x01, 0xf3, 0xf5, 0x01, 0x09, 0x0e, 0x04, 0xfb, 0xfd, 0x06, 0x01, 0xf8, 0xf7, 0x02, 0x03, + 0xfa, 0x06, 0x0b, 0x08, 0x03, 0xf5, 0xf9, 0x05, 0xf9, 0xfd, 0x01, 0xfd, 0xfd, 0x01, 0x02, 0xfa, 0x05, 0x02, 0xf4, 0xf8, 0xff, 0x01, + 0xff, 0xf1, 0x00, 0x11, 0xff, 0xf9, 0x03, 0x0c, 0xff, 0xf7, 0xf6, 0xf9, 0x06, 0x0a, 0x05, 0x04, 0x00, 0x00, 0x03, 0x04, 0xfd, 0xfb, + 0x02, 0xfc, 0xf9, 0xfd, 0x08, 0x0c, 0x07, 0xfc, 0x00, 0xf7, 0xf4, 0x04, 0xfe, 0xf9, 0xfd, 0x06, 0xfd, 0xfa, 0x02, 0xfc, 0xfb, 0xff, + 0x00, 0x00, 0x02, 0x01, 0xfb, 0x06, 0x0c, 0x04, 0x0d, 0x07, 0xf9, 0xf8, 0xf6, 0xf9, 0x01, 0x0a, 0x03, 0x00, 0x0b, 0x05, 0xfc, 0xfa, + 0xfc, 0x03, 0x05, 0x01, 0x01, 0xfd, 0xfd, 0x02, 0xf7, 0xfc, 0x08, 0xfd, 0xfa, 0xfb, 0xfb, 0xfa, 0xfd, 0x01, 0xff, 0x05, 0x01, 0xf7, + 0xf3, 0x01, 0x01, 0xf2, 0x03, 0x0a, 0x04, 0xfc, 0x06, 0x07, 0xfc, 0xf4, 0x03, 0x05, 0xf2, 0x15, 0x0c, 0xef, 0xef, 0x05, 0x0a, 0xfe, + 0x06, 0xff, 0xff, 0x0d, 0x00, 0xf7, 0xf9, 0xfc, 0xff, 0x04, 0x08, 0x04, 0xfe, 0xfa, 0xfc, 0xf7, 0xfe, 0x0b, 0x0f, 0x01, 0xfa, 0x01, + 0xfc, 0xfd, 0x04, 0x0c, 0xff, 0xf8, 0xfc, 0x01, 0x01, 0xfe, 0xfe, 0x05, 0x04, 0x03, 0x08, 0xff, 0xf5, 0xf5, 0x05, 0xfe, 0xf9, 0x05, + 0x04, 0xfd, 0xf9, 0x01, 0x03, 0x00, 0xfe, 0x09, 0xfe, 0xf5, 0xff, 0xf7, 0xfc, 0x05, 0x07, 0xf5, 0xf7, 0x09, 0x02, 0xfc, 0xfd, 0x00, + 0x03, 0xfe, 0xfc, 0x09, 0xff, 0xf9, 0xff, 0xfc, 0x01, 0x05, 0xff, 0x01, 0xfb, 0xf6, 0x02, 0x08, 0x03, 0xfb, 0x04, 0x04, 0xfd, 0xfa, + 0xfd, 0xff, 0x00, 0x02, 0x04, 0x07, 0x07, 0x01, 0xff, 0xfd, 0xf7, 0x06, 0x0d, 0x05, 0xfb, 0x04, 0x02, 0xef, 0xfe, 0x08, 0x08, 0x05, + 0xf9, 0xf7, 0xfd, 0xee, 0x04, 0x0e, 0xf4, 0x02, 0x0d, 0x04, 0xf0, 0xf8, 0xfb, 0xf5, 0x01, 0x06, 0x03, 0x03, 0xfe, 0xff, 0x02, 0xff, + 0xfd, 0xfc, 0xfa, 0x00, 0xff, 0xfc, 0x01, 0x0a, 0x05, 0xf9, 0x03, 0xf9, 0xfa, 0x0a, 0x08, 0xf8, 0xf4, 0x08, 0xfc, 0xf2, 0xfb, 0x0d, + 0x01, 0xf2, 0xf5, 0xfd, 0xff, 0xfb, 0xfb, 0x01, 0x07, 0x06, 0x01, 0xf9, 0xf9, 0x01, 0xfb, 0x00, 0x0a, 0x0a, 0xfd, 0xf9, 0x01, 0xfe, + 0x06, 0x0b, 0x03, 0xf7, 0xf8, 0x01, 0x0d, 0xfd, 0xfe, 0x11, 0xf9, 0x01, 0x10, 0x05, 0x04, 0x01, 0xfa, 0xf7, 0x02, 0x0a, 0x04, 0x04, + 0xf9, 0xf4, 0xfc, 0x0d, 0x07, 0xf5, 0xfe, 0xfb, 0xf6, 0xf8, 0xfc, 0x05, 0x08, 0xfe, 0xfc, 0x02, 0x08, 0x04, 0x01, 0x01, 0x00, 0xf7, + 0xf5, 0xfb, 0x04, 0x05, 0x00, 0xfb, 0xf4, 0xfa, 0xff, 0xf8, 0xf9, 0xfd, 0x01, 0x00, 0x07, 0x08, 0x02, 0xf8, 0xfd, 0x02, 0xfa, 0xf7, + 0xfc, 0x06, 0x07, 0x07, 0x01, 0xfb, 0x00, 0xfc, 0xf8, 0x00, 0xf5, 0xf5, 0x05, 0x1c, 0xf8, 0xea, 0x0c, 0xf8, 0xf5, 0x01, 0x08, 0xfe, + 0xfd, 0x04, 0x03, 0xff, 0x04, 0x0f, 0x0a, 0xfc, 0xf5, 0x00, 0xfe, 0xfc, 0x02, 0x0e, 0x0c, 0x01, 0xf9, 0x02, 0x01, 0xfa, 0x01, 0x00, + 0xfe, 0xff, 0xfd, 0x02, 0x06, 0x00, 0x03, 0x00, 0xfa, 0xfb, 0x02, 0x01, 0xf9, 0xff, 0x01, 0xfd, 0xf7, 0x01, 0x02, 0xfd, 0x07, 0x00, + 0xf3, 0xf0, 0xfb, 0x06, 0x07, 0xfd, 0x01, 0x05, 0x03, 0x00, 0xfd, 0xfe, 0x03, 0x05, 0x02, 0x02, 0x08, 0xfd, 0xf8, 0xff, 0xfd, 0x02, + 0x04, 0xfa, 0xfd, 0xfe, 0xfb, 0xf6, 0x0b, 0x0c, 0xf6, 0xfd, 0xff, 0xfd, 0x01, 0x04, 0x01, 0xfa, 0xf5, 0xfb, 0x00, 0xfd, 0xff, 0xfd, + 0xfe, 0x01, 0x03, 0xfb, 0xf2, 0xf9, 0x04, 0x0a, 0x09, 0x03, 0xfd, 0xfd, 0x02, 0x01, 0x04, 0x0d, 0x14, 0xfe, 0xef, 0xfe, 0xfd, 0x04, + 0x0d, 0x0f, 0xf9, 0xf0, 0xfa, 0x04, 0xf5, 0xf6, 0x13, 0x00, 0xf7, 0xfc, 0xfd, 0xf9, 0xfe, 0x04, 0x00, 0xee, 0xf0, 0x11, 0x09, 0x01, + 0x01, 0x02, 0xf8, 0xf8, 0x02, 0x07, 0xfd, 0xf3, 0xf6, 0x0b, 0x0d, 0xfe, 0xf9, 0x00, 0x01, 0xf9, 0x0c, 0x0f, 0x07, 0x01, 0xff, 0xfd, + 0xfb, 0xf4, 0x05, 0x0b, 0xfb, 0xf3, 0xfd, 0x08, 0x00, 0xfe, 0xfe, 0xff, 0xf8, 0xfe, 0x02, 0xfb, 0xf7, 0xfa, 0xfe, 0xfb, 0x01, 0x02, + 0xff, 0x00, 0x08, 0x07, 0xfb, 0x02, 0x04, 0xfc, 0xf5, 0xfa, 0x07, 0x0c, 0xf4, 0xee, 0xf7, 0xfd, 0x05, 0x0a, 0x09, 0xff, 0x04, 0x00, + 0xf1, 0xff, 0x03, 0x01, 0x05, 0x00, 0xfe, 0xfe, 0xfc, 0xf5, 0xfa, 0x0a, 0x04, 0xfd, 0xfd, 0x02, 0xfe, 0xff, 0x05, 0x01, 0x01, 0x02, + 0x00, 0xf3, 0xfe, 0x0e, 0x07, 0x00, 0x01, 0x06, 0xff, 0x02, 0x06, 0x04, 0xf8, 0xfc, 0x04, 0xfb, 0xfd, 0x04, 0x07, 0x07, 0xf8, 0xf2, + 0x03, 0xfe, 0x02, 0x09, 0xfd, 0xfd, 0x00, 0x00, 0x03, 0x03, 0xfd, 0xf2, 0x05, 0x08, 0xfc, 0x05, 0xf7, 0xf1, 0x00, 0x07, 0x01, 0xfb, + 0xfd, 0xfe, 0xf8, 0xf1, 0xff, 0x00, 0xfc, 0xfa, 0x05, 0xfe, 0xf6, 0x02, 0x09, 0x00, 0xf2, 0xff, 0xfd, 0xf9, 0xfe, 0x0c, 0x07, 0xf8, + 0xf8, 0xff, 0xff, 0xf7, 0x03, 0xfb, 0xf8, 0x0b, 0x00, 0x00, 0x08, 0x01, 0xf8, 0xfe, 0x0c, 0x07, 0x03, 0x01, 0x00, 0x07, 0x06, 0x00, + 0x05, 0x00, 0xfb, 0xfd, 0xfd, 0xfc, 0xfe, 0x08, 0xfb, 0xf9, 0x05, 0x04, 0x00, 0x00, 0x04, 0xfc, 0xfb, 0x00, 0x08, 0x00, 0xfe, 0x04, + 0x05, 0xfd, 0x00, 0x0f, 0x04, 0xf8, 0xf8, 0x03, 0x05, 0x06, 0x06, 0xfc, 0xfa, 0xfe, 0x00, 0x0d, 0x07, 0xf9, 0xfa, 0x03, 0xff, 0xf4, + 0x07, 0x04, 0xf8, 0xf5, 0x04, 0x00, 0xf2, 0xfa, 0xfd, 0xff, 0x03, 0x00, 0xfc, 0xfb, 0xfd, 0xfb, 0xf6, 0xf4, 0xfd, 0xf9, 0xfc, 0x09, + 0x02, 0xfc, 0xfc, 0xff, 0xfc, 0xff, 0x07, 0x07, 0xfb, 0xf8, 0x02, 0xfd, 0xfc, 0xff, 0xfe, 0x00, 0x05, 0x06, 0xf6, 0x00, 0x06, 0xf7, + 0xf9, 0x08, 0x0f, 0xfb, 0xfb, 0x01, 0x02, 0xff, 0x01, 0x04, 0x04, 0x06, 0x04, 0x00, 0xfe, 0x03, 0x04, 0x01, 0x05, 0x01, 0xfc, 0x00, + 0xf8, 0xf8, 0x05, 0x14, 0x08, 0xff, 0x06, 0xfa, 0xfd, 0x07, 0x08, 0x05, 0xfd, 0xf8, 0x07, 0x02, 0xfd, 0x04, 0x00, 0xf9, 0xf8, 0xfd, + 0x05, 0x02, 0xf9, 0x01, 0xfa, 0xf4, 0xf9, 0x06, 0x03, 0xfc, 0x06, 0x00, 0xf3, 0xf1, 0x0e, 0x0d, 0xfb, 0xf1, 0x06, 0x00, 0xef, 0xfe, + 0xfe, 0xf9, 0xf9, 0x06, 0x06, 0xfb, 0xf3, 0xfe, 0xff, 0xf8, 0x01, 0xfb, 0xfc, 0x07, 0x05, 0xf7, 0xf4, 0x09, 0x01, 0xff, 0x05, 0xfd, + 0x04, 0x09, 0x03, 0xfc, 0x03, 0x0b, 0x07, 0x01, 0xfe, 0xfe, 0x01, 0x00, 0xff, 0x04, 0x0c, 0x0b, 0x03, 0xfe, 0xfe, 0x00, 0xff, 0xfe, + 0xfe, 0x00, 0x01, 0x06, 0x00, 0xfb, 0x0d, 0xfc, 0xf1, 0xfe, 0x08, 0x04, 0xfd, 0xff, 0x00, 0xff, 0xff, 0x09, 0xfe, 0xfd, 0x0b, 0x06, + 0xfc, 0xfd, 0x0a, 0x05, 0x02, 0x04, 0xfb, 0xfa, 0xfd, 0xff, 0x01, 0x00, 0xfa, 0xf7, 0xf8, 0xfc, 0x00, 0xfe, 0xfd, 0xfe, 0x00, 0x02, + 0xff, 0xfb, 0xfc, 0xfb, 0xf7, 0xf5, 0x03, 0x07, 0x02, 0xfc, 0xfe, 0xfc, 0xfb, 0x05, 0x03, 0xfb, 0xf5, 0xfe, 0x03, 0x00, 0xfa, 0x01, + 0x01, 0xfd, 0x09, 0x05, 0x04, 0x07, 0xfa, 0xfc, 0x04, 0x02, 0x02, 0xff, 0xfc, 0xfc, 0xff, 0xfb, 0xf3, 0x01, 0x06, 0x01, 0xff, 0x08, + 0x05, 0xf8, 0xf4, 0xfb, 0xfe, 0xf9, 0x01, 0x06, 0x07, 0x04, 0x05, 0x04, 0x04, 0x07, 0x05, 0x03, 0x07, 0xf5, 0xfb, 0x09, 0xff, 0xf8, + 0xfb, 0x02, 0x04, 0x01, 0xfe, 0xfd, 0xf8, 0xf5, 0xfa, 0x07, 0x0b, 0x07, 0xff, 0xf2, 0xf9, 0xff, 0xf5, 0xfc, 0x05, 0x05, 0xfe, 0xfa, + 0xfa, 0xfd, 0x02, 0xfc, 0xf7, 0xff, 0xf8, 0xf8, 0xff, 0xf5, 0x03, 0x08, 0xf8, 0x02, 0x04, 0x00, 0x02, 0xfe, 0xfe, 0x02, 0x08, 0x02, + 0xff, 0x05, 0x01, 0xfe, 0xff, 0x03, 0x07, 0x05, 0xff, 0xfe, 0xf8, 0xfa, 0x07, 0x07, 0xff, 0xfd, 0x0a, 0x00, 0xf7, 0xfb, 0x02, 0xfd, + 0xfc, 0x0d, 0xff, 0xfb, 0x05, 0x09, 0xff, 0xfa, 0x00, 0x0b, 0xf5, 0xe8, 0x07, 0x03, 0xfa, 0xfb, 0x02, 0xfd, 0xfc, 0x04, 0xf3, 0xf5, + 0x04, 0x05, 0xfe, 0xfc, 0x01, 0x02, 0x02, 0xff, 0xfa, 0xfa, 0xff, 0x00, 0xfa, 0xfb, 0x06, 0x0c, 0xf5, 0xf9, 0x04, 0xfd, 0xf7, 0xfb, + 0x05, 0x0c, 0xfd, 0xf6, 0x01, 0xfc, 0x07, 0x0b, 0xfb, 0xff, 0x02, 0xfc, 0xf4, 0xf8, 0x03, 0x0b, 0x10, 0x04, 0xfb, 0x05, 0x07, 0xfd, + 0xf4, 0x06, 0xfd, 0xff, 0x15, 0x0b, 0xff, 0x01, 0x0c, 0x02, 0xfe, 0x03, 0xfc, 0x00, 0x06, 0x02, 0x04, 0xfd, 0xfa, 0x07, 0x08, 0xff, + 0xf9, 0x01, 0x00, 0xfb, 0xf9, 0x05, 0xfd, 0xf2, 0x05, 0x02, 0xf9, 0xf7, 0x01, 0xf1, 0xea, 0x02, 0x01, 0x01, 0x03, 0xf7, 0xfb, 0xfd, + 0xf7, 0xfb, 0xfb, 0xfa, 0xfe, 0xfe, 0xff, 0x01, 0x01, 0x04, 0x01, 0xfa, 0x09, 0x05, 0xf9, 0xfe, 0x03, 0x02, 0xfd, 0xff, 0x00, 0x01, + 0x01, 0x01, 0xff, 0xfe, 0xfe, 0x04, 0xfd, 0xf2, 0x04, 0x08, 0x05, 0x05, 0x00, 0xfc, 0xfb, 0xf7, 0x03, 0x0b, 0x09, 0x08, 0x05, 0x03, + 0x03, 0x07, 0x01, 0xfc, 0x0d, 0xfb, 0xf9, 0x0e, 0x00, 0x00, 0x07, 0x04, 0x07, 0x0a, 0x06, 0xf9, 0xfd, 0x03, 0x01, 0x00, 0xfc, 0xfb, + 0x03, 0xfb, 0xfb, 0x01, 0xfb, 0xfb, 0xfe, 0xfd, 0xf6, 0xf8, 0xfd, 0xfd, 0x05, 0x00, 0xf2, 0xf6, 0xf7, 0xf7, 0xfc, 0x06, 0x00, 0xf8, + 0x05, 0xff, 0xfc, 0x01, 0xf8, 0xfb, 0xfe, 0xf6, 0x07, 0x00, 0xf1, 0x00, 0xfb, 0xfa, 0x05, 0xff, 0x06, 0x0a, 0xfa, 0xf3, 0xfb, 0x04, + 0xf5, 0x02, 0x08, 0xfa, 0x03, 0x05, 0x00, 0xfd, 0x04, 0x06, 0x01, 0x02, 0x06, 0x0a, 0x0b, 0x08, 0x05, 0xff, 0xf8, 0xfe, 0x07, 0x09, + 0xfc, 0x02, 0x09, 0x02, 0x01, 0xfe, 0xfd, 0x02, 0x0c, 0x09, 0xfb, 0xf8, 0xf9, 0xfe, 0x04, 0x05, 0x0d, 0x0d, 0xf1, 0xfd, 0x05, 0xf8, + 0xfc, 0x00, 0xfe, 0xf7, 0xfc, 0x01, 0xff, 0xf2, 0xfe, 0x02, 0xf5, 0xf7, 0x04, 0x08, 0xf7, 0xfe, 0xff, 0xf9, 0xf7, 0x04, 0xff, 0xe6, + 0x03, 0x04, 0xf5, 0xfc, 0xfc, 0xff, 0x02, 0xfb, 0xfc, 0xfe, 0xfc, 0x00, 0xfa, 0xf5, 0x01, 0x07, 0x08, 0x06, 0xfd, 0xf6, 0x00, 0x13, + 0x00, 0xfa, 0x05, 0x00, 0x06, 0x02, 0xf9, 0x05, 0x0f, 0x0a, 0xfb, 0xfe, 0x04, 0x05, 0x05, 0xfa, 0xfd, 0x0e, 0x03, 0xfe, 0xff, 0xfe, + 0x00, 0x05, 0x08, 0x00, 0x01, 0xff, 0xf6, 0x05, 0x05, 0xff, 0x04, 0x03, 0x01, 0xfd, 0xf7, 0xf8, 0xfe, 0x04, 0x06, 0x03, 0x02, 0x05, + 0xff, 0xfb, 0xfd, 0xfe, 0xfd, 0xfb, 0xfc, 0xf9, 0xfd, 0x03, 0xff, 0xf9, 0xf6, 0xfa, 0x00, 0xfd, 0xf4, 0xed, 0x01, 0x02, 0xf5, 0xf9, + 0xfa, 0xff, 0x06, 0x00, 0xfa, 0xf9, 0xfb, 0xf8, 0xfe, 0x08, 0xff, 0x0a, 0x0a, 0xf8, 0x05, 0x00, 0xf5, 0x00, 0x03, 0x0b, 0x0f, 0xfc, + 0xf9, 0x02, 0x0a, 0xff, 0x02, 0x0b, 0x04, 0x00, 0x00, 0x01, 0xfb, 0x00, 0x07, 0x09, 0x03, 0x04, 0x04, 0xf7, 0xf9, 0xff, 0x01, 0x0b, + 0x03, 0xf9, 0xfb, 0x07, 0x06, 0xfb, 0xf8, 0x03, 0x06, 0xfd, 0x06, 0x05, 0xfe, 0x00, 0xf7, 0x00, 0x0c, 0xfb, 0xfa, 0xfe, 0xfd, 0xfc, + 0xf9, 0xf7, 0xfc, 0xfe, 0x01, 0x03, 0xff, 0x01, 0x02, 0xff, 0xed, 0xf7, 0x07, 0xff, 0xfb, 0x00, 0x06, 0xfe, 0xff, 0xfe, 0xf7, 0x00, + 0x04, 0xff, 0xf9, 0xf6, 0xf9, 0xff, 0x03, 0x08, 0x06, 0xfe, 0xf2, 0xf5, 0x03, 0x0d, 0xfd, 0xf7, 0x04, 0x05, 0x02, 0x00, 0x04, 0xfe, + 0xfe, 0x02, 0x05, 0xfb, 0xf7, 0x00, 0x0b, 0x0c, 0x04, 0xfb, 0x04, 0x00, 0xf7, 0x07, 0x04, 0xfb, 0xfb, 0x05, 0x05, 0x05, 0x12, 0xfa, + 0xf3, 0x04, 0x02, 0xfe, 0xfc, 0xfe, 0x04, 0x06, 0x01, 0x00, 0xf5, 0xfa, 0x09, 0x01, 0xf7, 0xfa, 0x07, 0xf4, 0xf5, 0x07, 0x0d, 0x04, + 0xff, 0x03, 0xf9, 0xf5, 0xfb, 0x07, 0xf6, 0xf9, 0x0b, 0x0b, 0xfe, 0xfa, 0x01, 0xf5, 0xf4, 0xfd, 0x01, 0x08, 0x04, 0xfd, 0x02, 0x05, + 0xfd, 0xf1, 0x0a, 0x0b, 0xfc, 0xf9, 0xf8, 0xf6, 0xf8, 0x0a, 0x06, 0xfd, 0xff, 0x06, 0xff, 0xf5, 0xfb, 0xff, 0xfb, 0xf8, 0x0f, 0x0c, + 0x02, 0x02, 0x03, 0x00, 0xff, 0x04, 0x09, 0x06, 0x00, 0xfc, 0x05, 0x0a, 0x01, 0xf3, 0xf9, 0x09, 0x04, 0x01, 0xfe, 0xfb, 0xf2, 0x06, + 0x14, 0x00, 0x05, 0x03, 0xfa, 0xfb, 0xfd, 0xf8, 0xf2, 0x05, 0x07, 0xfe, 0x00, 0xf9, 0xf6, 0xfa, 0xfd, 0xfc, 0xfe, 0x04, 0xf9, 0xfa, + 0x00, 0xfd, 0x05, 0x04, 0xfa, 0xff, 0x04, 0xff, 0xf5, 0x00, 0x0a, 0x08, 0xfe, 0x02, 0xfd, 0xf1, 0xfb, 0x02, 0xfe, 0xf5, 0xfe, 0x01, + 0xff, 0x02, 0xff, 0xfd, 0x00, 0xf8, 0x00, 0x0a, 0x04, 0xf6, 0xf5, 0xff, 0xfc, 0x09, 0x0a, 0xfb, 0x0e, 0x06, 0xf9, 0x05, 0x03, 0xfb, + 0xf9, 0x06, 0x06, 0x05, 0x08, 0x02, 0xf3, 0xf3, 0x11, 0x04, 0xfa, 0x02, 0x05, 0x01, 0xfe, 0x00, 0xf4, 0xfd, 0x0b, 0x01, 0x05, 0xff, + 0xf0, 0xfd, 0xfd, 0xfa, 0xff, 0x13, 0x06, 0xef, 0xf6, 0x02, 0xfc, 0xee, 0xff, 0x06, 0x05, 0x05, 0x01, 0xf7, 0xf3, 0x00, 0x09, 0x03, + 0xf7, 0x04, 0x02, 0xf6, 0xf0, 0x00, 0x06, 0x01, 0x03, 0x06, 0x00, 0xf4, 0xfb, 0xfe, 0x02, 0x0c, 0x01, 0xf9, 0xfd, 0x07, 0x06, 0xff, + 0xfc, 0xee, 0xf9, 0x0b, 0x02, 0x06, 0x05, 0xfd, 0x00, 0xfc, 0xfc, 0x04, 0xf9, 0xfe, 0x08, 0xfc, 0x01, 0x08, 0x03, 0xfa, 0x02, 0x08, + 0xfe, 0x03, 0xff, 0xf8, 0x01, 0x02, 0xfe, 0xfc, 0xf5, 0xff, 0x0a, 0x07, 0xf9, 0xf8, 0x00, 0xfd, 0xfe, 0x01, 0x02, 0x07, 0xfd, 0xf6, + 0x04, 0x04, 0xff, 0xfe, 0x04, 0xfe, 0xfd, 0x07, 0x04, 0x00, 0x00, 0xff, 0xff, 0xfd, 0xfa, 0xf8, 0xfc, 0x01, 0x02, 0xf6, 0xfb, 0x05, + 0xfb, 0xfc, 0x00, 0x01, 0xfe, 0xfe, 0x01, 0x05, 0xff, 0xfd, 0x00, 0x03, 0x02, 0x04, 0x06, 0xfc, 0xf7, 0xfd, 0x06, 0x01, 0xfd, 0xff, + 0xfb, 0x01, 0x01, 0xf8, 0xf5, 0x01, 0x0a, 0x01, 0x01, 0x06, 0x07, 0x03, 0xfd, 0x00, 0x0b, 0x05, 0xfb, 0xfb, 0x09, 0xf9, 0xf7, 0x06, + 0xfd, 0xff, 0x04, 0x03, 0xfc, 0xfc, 0xfd, 0xf6, 0x02, 0x06, 0xfc, 0x06, 0xfe, 0xf8, 0x03, 0x07, 0x01, 0xfb, 0xfd, 0x04, 0x09, 0x07, + 0x05, 0xfd, 0xfa, 0x01, 0xff, 0xf9, 0xfb, 0x0f, 0x01, 0xf3, 0xf9, 0x03, 0xfe, 0xf7, 0xff, 0xfe, 0xff, 0x01, 0x05, 0xfd, 0xfb, 0x02, + 0xff, 0xf8, 0xfb, 0x0d, 0x00, 0xf9, 0x01, 0xfd, 0x00, 0x05, 0x06, 0xf9, 0xfa, 0x03, 0xff, 0x01, 0xff, 0xfb, 0x00, 0x01, 0x02, 0x05, + 0x05, 0xff, 0xfc, 0x06, 0xfe, 0xf8, 0xff, 0x0a, 0xff, 0xf7, 0x06, 0xfe, 0xfb, 0xff, 0x02, 0xf7, 0xf9, 0x07, 0x04, 0xfd, 0xfe, 0x04, + 0x05, 0x01, 0xfc, 0xf3, 0x07, 0x13, 0x05, 0xfd, 0xfb, 0xfe, 0x04, 0xfb, 0xfa, 0x03, 0x04, 0xfd, 0xf9, 0xfe, 0xf8, 0xff, 0x04, 0xf7, + 0x02, 0x0a, 0x00, 0xef, 0xf9, 0x07, 0x04, 0x03, 0x04, 0x03, 0xfd, 0xf6, 0xf7, 0x01, 0x03, 0xff, 0xfc, 0x01, 0xfd, 0x03, 0x06, 0xfa, + 0xf3, 0xfd, 0x0c, 0x03, 0xfa, 0xff, 0x0d, 0x04, 0xfb, 0xfa, 0xfb, 0x03, 0x07, 0x02, 0xfc, 0xfd, 0x01, 0x06, 0xfc, 0xfb, 0x05, 0x08, + 0xff, 0xf9, 0xfd, 0xfc, 0xff, 0x02, 0x04, 0x04, 0x01, 0xfc, 0xfa, 0xfe, 0x02, 0x03, 0x07, 0x02, 0xfd, 0xff, 0xfd, 0xfd, 0x00, 0xfe, + 0x00, 0x01, 0xfd, 0xf9, 0xfe, 0x03, 0xf8, 0xfd, 0x05, 0x05, 0xfc, 0xfb, 0xfc, 0xf8, 0x01, 0x07, 0x04, 0xfd, 0x00, 0x00, 0xf8, 0xfa, + 0x00, 0x05, 0x06, 0x01, 0xfb, 0xfa, 0xfe, 0x00, 0xff, 0xfd, 0x00, 0x02, 0x03, 0x01, 0x04, 0x01, 0xfa, 0xf9, 0x01, 0x05, 0xff, 0x02, + 0x04, 0x02, 0xfb, 0x01, 0x00, 0xf6, 0xfa, 0xfb, 0x01, 0x0c, 0xfd, 0xf1, 0xf9, 0x0a, 0x08, 0x01, 0x00, 0xff, 0xfd, 0xfc, 0xff, 0xfe, + 0x05, 0x0c, 0x09, 0xfb, 0xfa, 0x05, 0xfa, 0xf9, 0x03, 0x07, 0x08, 0xfd, 0xf4, 0xff, 0xff, 0xfe, 0x03, 0xfd, 0xfb, 0xfe, 0x04, 0xf9, + 0xf8, 0x03, 0x04, 0x03, 0x02, 0x02, 0xfe, 0xfb, 0xf9, 0xf6, 0x08, 0x0f, 0x04, 0xff, 0xf9, 0xf9, 0xff, 0xff, 0xfc, 0xfb, 0xff, 0xff, + 0xfb, 0xfa, 0x02, 0x05, 0x01, 0xfb, 0xf8, 0xfc, 0x04, 0x0b, 0x04, 0xfb, 0xfa, 0xf7, 0x03, 0x0b, 0xff, 0xfd, 0xfe, 0xfd, 0xf6, 0x02, + 0x05, 0xf7, 0xf4, 0xff, 0x0a, 0x03, 0x03, 0xff, 0xfa, 0xfe, 0x02, 0x02, 0x01, 0x00, 0x00, 0xff, 0xfc, 0x04, 0x09, 0x06, 0x01, 0x00, + 0xfe, 0xf8, 0xfe, 0x06, 0x09, 0x01, 0x03, 0x00, 0xf9, 0xfd, 0x04, 0x06, 0x01, 0xfc, 0xfb, 0xfc, 0xfe, 0xff, 0x03, 0x08, 0x02, 0xfc, + 0xf8, 0xf3, 0xff, 0x02, 0xfd, 0x06, 0x05, 0x03, 0x01, 0xfd, 0xfc, 0x01, 0x07, 0x07, 0xff, 0xf6, 0xf9, 0xfa, 0xfe, 0x07, 0x03, 0xff, + 0xff, 0x02, 0xec, 0xec, 0x04, 0x04, 0x01, 0xfd, 0xfb, 0xff, 0xfd, 0xf9, 0xfc, 0x01, 0x03, 0xfe, 0xf6, 0xf9, 0x05, 0x0d, 0x07, 0xfe, + 0xfe, 0x05, 0x01, 0xfb, 0xfb, 0xfc, 0xff, 0x04, 0x05, 0x07, 0x01, 0xfa, 0x04, 0x02, 0xfe, 0x00, 0x09, 0x04, 0xfd, 0xfe, 0x09, 0x06, + 0xfb, 0xfd, 0x06, 0x0b, 0x06, 0xff, 0xfb, 0xfe, 0x03, 0x02, 0xfc, 0xfb, 0x07, 0x07, 0x01, 0x00, 0xf8, 0xfb, 0x03, 0x04, 0xf9, 0xfd, + 0x0a, 0x07, 0xfc, 0xf7, 0xfe, 0x01, 0x01, 0x00, 0x03, 0xf9, 0xf8, 0x03, 0xfe, 0x00, 0x06, 0x06, 0xfb, 0xf5, 0xf7, 0xfd, 0xf4, 0xf8, + 0x08, 0xfb, 0xf9, 0x02, 0x09, 0xfb, 0xf6, 0xfd, 0xfe, 0xfd, 0xff, 0x03, 0xfe, 0x01, 0x05, 0x01, 0x02, 0x02, 0xfe, 0xff, 0xfa, 0xfc, + 0x07, 0xff, 0xfe, 0x04, 0x00, 0x05, 0x06, 0x01, 0x02, 0xfd, 0xfa, 0xff, 0xff, 0x01, 0x05, 0x07, 0x09, 0x05, 0xfe, 0x01, 0x00, 0xff, + 0x03, 0x02, 0xff, 0xfb, 0xf8, 0x01, 0x06, 0x04, 0x08, 0x08, 0xfe, 0xed, 0xfb, 0x07, 0x04, 0xfd, 0x01, 0x06, 0x03, 0x02, 0xfb, 0xf7, + 0xfb, 0x01, 0x01, 0xff, 0xfc, 0x00, 0xff, 0xf8, 0xff, 0x05, 0x02, 0xf9, 0xfc, 0xfc, 0xf5, 0xf9, 0xfe, 0x01, 0x03, 0x06, 0x03, 0xfb, + 0xf5, 0xfc, 0x03, 0x02, 0xfa, 0xfa, 0xff, 0xff, 0x03, 0x01, 0x00, 0x0c, 0xff, 0xf6, 0xfe, 0x00, 0xfe, 0xfd, 0x00, 0x07, 0x03, 0xfb, + 0x01, 0x03, 0x02, 0x01, 0x04, 0xfe, 0xf7, 0xfc, 0x07, 0x0a, 0x04, 0xff, 0x01, 0xfe, 0xf5, 0xfa, 0xfc, 0xfb, 0x03, 0x06, 0x09, 0x08, + 0xfd, 0xf5, 0xfd, 0x0e, 0xfa, 0xfb, 0x05, 0xf6, 0xfa, 0x01, 0x03, 0x0a, 0x04, 0xfb, 0xff, 0xfc, 0xfe, 0x01, 0xfc, 0xfc, 0x01, 0x04, + 0x03, 0xf8, 0xf9, 0x0d, 0x01, 0xf6, 0xf7, 0xfb, 0xf9, 0xfc, 0x06, 0x0a, 0x02, 0xfa, 0xfe, 0xf1, 0xf5, 0x04, 0xff, 0xf7, 0xfa, 0x04, + 0x05, 0xfd, 0xfa, 0x06, 0x08, 0x04, 0xfc, 0xee, 0xf7, 0x01, 0xfc, 0x05, 0x0a, 0x05, 0xf6, 0xfb, 0x02, 0x03, 0x04, 0x03, 0x00, 0x00, + 0xfd, 0x03, 0x09, 0x02, 0x00, 0x04, 0x07, 0xfc, 0xf9, 0xfe, 0x05, 0x01, 0x05, 0x0a, 0x01, 0xff, 0x00, 0x01, 0xfe, 0xfb, 0xfa, 0xfa, + 0xfe, 0x04, 0x05, 0x00, 0xfe, 0xfc, 0xf9, 0x00, 0xff, 0xfa, 0xfc, 0xf5, 0xf8, 0x06, 0x0b, 0x05, 0xfe, 0xfb, 0xfa, 0xff, 0x02, 0xfa, + 0x00, 0x01, 0xfc, 0x04, 0x05, 0x02, 0xff, 0xff, 0xff, 0xfc, 0xf5, 0xf6, 0xfb, 0x02, 0x11, 0x0c, 0xfc, 0xf1, 0xfe, 0x06, 0x01, 0xfb, + 0xfe, 0x03, 0x01, 0xfc, 0xf9, 0xfc, 0x01, 0x0a, 0x09, 0xff, 0xf5, 0xff, 0x05, 0xfc, 0xfa, 0x01, 0x07, 0x01, 0x09, 0x06, 0xfc, 0x01, + 0xfe, 0xfc, 0xff, 0x08, 0x03, 0xfc, 0x00, 0x04, 0x09, 0x07, 0xf8, 0xfb, 0x02, 0xfd, 0x01, 0xfb, 0xf6, 0x08, 0xfe, 0xfc, 0x0a, 0x05, + 0xfb, 0xf8, 0xfe, 0xf4, 0xfb, 0x07, 0xfa, 0xf9, 0x02, 0x0a, 0x01, 0xfd, 0xff, 0x03, 0xf1, 0xf9, 0x0d, 0x02, 0xf9, 0xf7, 0xfc, 0x07, + 0x05, 0xfc, 0xfd, 0xf9, 0xfe, 0x04, 0xfa, 0xfc, 0x04, 0x07, 0x04, 0x00, 0x01, 0x06, 0xfe, 0xf7, 0xf9, 0xff, 0x0a, 0x09, 0xfa, 0x00, + 0x04, 0x01, 0x00, 0x00, 0xfd, 0xfa, 0xfd, 0x01, 0x04, 0x05, 0xfe, 0x02, 0x08, 0x02, 0xfa, 0xfd, 0x07, 0xfc, 0x00, 0x06, 0x00, 0xff, + 0x05, 0x0a, 0x05, 0xfe, 0xf9, 0xf9, 0xfe, 0x08, 0x06, 0xf3, 0x00, 0x05, 0xfe, 0xfe, 0x07, 0x04, 0xf5, 0xfd, 0xfd, 0xf9, 0x02, 0xf6, + 0xf6, 0x02, 0xfb, 0x02, 0x06, 0xff, 0xfe, 0x01, 0x00, 0xf6, 0xf2, 0xfa, 0x05, 0xff, 0x04, 0x05, 0xf8, 0xfd, 0xfe, 0xfb, 0xff, 0x01, + 0xfb, 0xf6, 0xff, 0x0d, 0x0a, 0xf6, 0xf9, 0x02, 0x05, 0x01, 0xfb, 0xf6, 0xf8, 0x02, 0x0b, 0x0e, 0x0a, 0x02, 0xfd, 0xfb, 0xf9, 0xff, + 0x01, 0xfb, 0x0d, 0x07, 0xf9, 0x01, 0x04, 0x00, 0xff, 0x11, 0xfc, 0xf0, 0x05, 0x01, 0xfd, 0x00, 0x0a, 0xff, 0xfd, 0x05, 0xfb, 0xf7, + 0xf9, 0xfc, 0x07, 0x0a, 0x05, 0xfe, 0x02, 0x03, 0xfd, 0xfb, 0x02, 0x03, 0xf9, 0xf7, 0xfc, 0x05, 0x0c, 0x04, 0xfb, 0xfa, 0x04, 0xfe, + 0xf7, 0x00, 0xfe, 0xf8, 0xf9, 0x09, 0x01, 0xfb, 0x02, 0xf9, 0xfb, 0x03, 0x03, 0xf3, 0xf4, 0x03, 0x01, 0xff, 0xfe, 0xff, 0xf8, 0xfd, + 0x03, 0x00, 0xf2, 0xf7, 0x08, 0xfc, 0x05, 0x08, 0xf6, 0xfd, 0x03, 0x04, 0x06, 0x08, 0xfe, 0xf3, 0x01, 0x08, 0x06, 0x06, 0xfd, 0x05, + 0x0c, 0xf7, 0x01, 0x08, 0xfd, 0xf6, 0xfa, 0x02, 0x03, 0xfe, 0xfd, 0x00, 0x00, 0x02, 0x06, 0x08, 0xf8, 0xf9, 0x00, 0xf8, 0x01, 0x03, + 0xff, 0x08, 0x07, 0x00, 0xfe, 0xfb, 0xfc, 0xff, 0x01, 0xfa, 0xfb, 0x04, 0x04, 0xfe, 0xfe, 0x07, 0x04, 0x00, 0xfd, 0xf6, 0x01, 0x04, + 0xfc, 0xfc, 0x08, 0x0c, 0xfe, 0xfe, 0xf7, 0xf5, 0x09, 0x01, 0xf8, 0xfc, 0xfb, 0xfb, 0xfd, 0x00, 0x02, 0xf8, 0xf2, 0x02, 0x01, 0xf7, + 0xf7, 0x01, 0x11, 0x10, 0xf5, 0xf9, 0xff, 0xfc, 0xf6, 0x04, 0x0d, 0x03, 0xfc, 0x01, 0x05, 0xfb, 0x02, 0x03, 0xfd, 0x04, 0x02, 0xfb, + 0xf9, 0x03, 0x01, 0x01, 0x12, 0x0c, 0xf8, 0xec, 0xff, 0x01, 0xfc, 0x00, 0x09, 0x0b, 0x05, 0x03, 0xf6, 0xf6, 0x04, 0x01, 0x01, 0x01, + 0xf9, 0xf8, 0xfe, 0x03, 0xfb, 0x08, 0x05, 0xf2, 0x04, 0x08, 0xff, 0xfd, 0xf8, 0xfb, 0x02, 0x09, 0x01, 0x00, 0x08, 0x00, 0xf2, 0xf1, + 0x04, 0x07, 0x04, 0x01, 0x01, 0xf9, 0xf9, 0x03, 0xfc, 0xfd, 0x05, 0x03, 0x01, 0xfa, 0xf5, 0xfb, 0x01, 0x02, 0x01, 0x01, 0xfe, 0xfc, + 0x01, 0xff, 0xfb, 0xfa, 0xfe, 0x01, 0x05, 0x0a, 0xff, 0xf5, 0xf8, 0x03, 0x0b, 0x08, 0xfd, 0x03, 0xfe, 0xf9, 0xff, 0x05, 0x0a, 0x07, + 0xfa, 0xff, 0x02, 0xf8, 0xfd, 0x01, 0xff, 0xfb, 0x07, 0x05, 0xfa, 0x04, 0x00, 0xfb, 0x00, 0x02, 0x05, 0x04, 0xfa, 0xfe, 0x07, 0x0a, + 0xfb, 0xfa, 0x02, 0x06, 0xf4, 0xfb, 0x09, 0xf9, 0xfb, 0x06, 0x0a, 0xf2, 0xfe, 0x09, 0xf5, 0xf0, 0xf8, 0x02, 0x03, 0x03, 0x04, 0x06, + 0x08, 0xfe, 0xf6, 0xfd, 0x08, 0x05, 0xfb, 0xfe, 0x03, 0x01, 0xf8, 0xff, 0xfd, 0xfd, 0x09, 0x03, 0xf8, 0xf5, 0xfc, 0xfe, 0xfe, 0x01, + 0x06, 0x0c, 0x08, 0xf9, 0xfa, 0x01, 0x02, 0xf7, 0x03, 0x0b, 0xfd, 0xff, 0xff, 0xfe, 0xfe, 0x06, 0x00, 0xf3, 0xfc, 0xff, 0xfe, 0xff, + 0x00, 0x03, 0x05, 0x01, 0xfb, 0xfd, 0x06, 0x08, 0xfd, 0xf8, 0x06, 0xfe, 0xfe, 0x04, 0xff, 0x00, 0x05, 0x07, 0xf9, 0xfb, 0x01, 0xfb, + 0xfb, 0x00, 0x02, 0x00, 0xff, 0xfb, 0xf6, 0x04, 0xff, 0xf7, 0x04, 0x06, 0xfd, 0xf8, 0x0c, 0x07, 0xfd, 0xff, 0x05, 0x02, 0xfa, 0xf5, + 0xfd, 0x03, 0xff, 0x02, 0xfb, 0xf9, 0x01, 0x0a, 0x06, 0xfb, 0xf4, 0x02, 0x05, 0xf7, 0xff, 0xff, 0x02, 0x12, 0xff, 0xf9, 0x00, 0xfd, + 0xf9, 0x00, 0x0c, 0x03, 0xfc, 0xfe, 0x0a, 0x00, 0xfd, 0x02, 0x03, 0xf5, 0xf3, 0x02, 0x01, 0x02, 0x07, 0x0e, 0x00, 0xf8, 0xfb, 0xff, + 0xfa, 0xfa, 0x03, 0x00, 0xf9, 0xfa, 0x08, 0xfd, 0xfe, 0x0a, 0xf6, 0xf9, 0x04, 0x02, 0xf9, 0xf7, 0xff, 0x07, 0x07, 0x04, 0x04, 0x04, + 0xf9, 0xf2, 0xfb, 0xfc, 0x03, 0x0a, 0x04, 0xf7, 0xf6, 0x00, 0xfa, 0xfc, 0x01, 0x01, 0xfb, 0x01, 0x06, 0xf9, 0xf7, 0xfe, 0x04, 0x00, + 0xfd, 0x01, 0x06, 0x00, 0xfa, 0xfa, 0xfe, 0x05, 0x08, 0x04, 0x02, 0x04, 0x00, 0xf3, 0xfc, 0x05, 0x02, 0xf9, 0x01, 0x07, 0xfc, 0x03, + 0xfb, 0xf1, 0xfd, 0x0b, 0x07, 0xf9, 0x05, 0x01, 0xfd, 0x06, 0x01, 0x02, 0x09, 0x03, 0x06, 0x00, 0xf5, 0xfb, 0x07, 0x09, 0xfc, 0xfa, + 0xfe, 0x00, 0xf9, 0x02, 0x08, 0x02, 0xff, 0xfe, 0xfd, 0xfc, 0x02, 0x04, 0x00, 0xfe, 0x04, 0x04, 0xfb, 0xf4, 0xfd, 0x06, 0xff, 0xf7, + 0xfd, 0x08, 0x05, 0xf4, 0xf2, 0x09, 0x04, 0xff, 0xfd, 0xf9, 0xfd, 0x00, 0xff, 0xfb, 0x04, 0x06, 0xf6, 0xff, 0x03, 0xfd, 0xfc, 0xfb, + 0xfa, 0xfc, 0xfa, 0x02, 0x06, 0xfa, 0x06, 0x01, 0xf3, 0xfb, 0xfd, 0xfe, 0x04, 0x0f, 0x0a, 0x00, 0xff, 0xff, 0xfd, 0xfe, 0x06, 0x05, + 0x00, 0xfd, 0xfa, 0xfe, 0x04, 0x04, 0x00, 0xfe, 0xfe, 0x00, 0xfc, 0xf9, 0xfc, 0xfa, 0xfe, 0x04, 0x07, 0xff, 0xfc, 0x00, 0xfd, 0x04, + 0x0b, 0x0a, 0x03, 0xff, 0xff, 0x03, 0xfe, 0x00, 0x07, 0xfe, 0xfa, 0xfb, 0xfb, 0xfc, 0x00, 0x03, 0xfd, 0x02, 0x02, 0xfa, 0xfe, 0x01, + 0x03, 0x07, 0xfd, 0xfa, 0x00, 0x01, 0xfd, 0xff, 0x07, 0x00, 0x00, 0xff, 0xf5, 0xf9, 0xfd, 0xfd, 0xf9, 0x01, 0x04, 0xfc, 0xf7, 0xfc, + 0x02, 0xff, 0xfe, 0x02, 0x07, 0xfe, 0xff, 0x02, 0xfc, 0x00, 0x02, 0x00, 0xfe, 0x05, 0x07, 0x00, 0xf9, 0xf9, 0xff, 0x04, 0x04, 0xfd, + 0xf8, 0xfa, 0xfc, 0xff, 0x01, 0xf7, 0xfb, 0x06, 0x0b, 0xfa, 0xf9, 0x04, 0xfd, 0x04, 0x0b, 0x07, 0xfa, 0xff, 0x07, 0xff, 0x06, 0x06, + 0xff, 0xfa, 0x00, 0x05, 0x00, 0x01, 0x02, 0x00, 0xfc, 0xfb, 0x00, 0x06, 0xfe, 0xff, 0x04, 0x04, 0xfc, 0xfd, 0x03, 0x02, 0x02, 0xff, + 0xfb, 0xfa, 0x00, 0x02, 0xfa, 0x04, 0x02, 0xf9, 0x00, 0xfb, 0xf9, 0x00, 0xff, 0x01, 0x01, 0xfc, 0xf9, 0xfd, 0x07, 0x0b, 0x03, 0xf8, + 0xf6, 0xf9, 0xff, 0x03, 0x01, 0xfe, 0xff, 0x01, 0xfe, 0xff, 0x02, 0x01, 0xf8, 0xf8, 0x01, 0x08, 0x07, 0x02, 0x00, 0x03, 0x00, 0xff, + 0x05, 0x01, 0xfc, 0xfa, 0xfc, 0xfb, 0xfc, 0x00, 0x03, 0x01, 0xff, 0x00, 0xfc, 0xfd, 0xff, 0xfc, 0xfa, 0x04, 0x12, 0x01, 0xf9, 0x03, + 0x13, 0xfa, 0xf5, 0x04, 0xff, 0x04, 0x07, 0x02, 0x00, 0xfd, 0xf8, 0xf7, 0x03, 0x06, 0xfe, 0xf7, 0xfa, 0xff, 0x02, 0x01, 0x02, 0x02, + 0xfd, 0x00, 0x06, 0x06, 0xfb, 0xf9, 0xff, 0x07, 0x02, 0x00, 0x01, 0x00, 0xf6, 0xf8, 0x04, 0x00, 0x02, 0x01, 0xfb, 0x01, 0x05, 0x00, + 0xfd, 0xf9, 0xfe, 0x07, 0xfd, 0xfc, 0x02, 0x07, 0x05, 0x08, 0x0b, 0x03, 0xfb, 0xfd, 0x04, 0xf2, 0xfe, 0x0d, 0x01, 0xfe, 0xfe, 0xfe, + 0xf7, 0xfc, 0x03, 0x05, 0xff, 0xfb, 0xfc, 0xff, 0x04, 0x04, 0x00, 0x03, 0x01, 0xfd, 0xfd, 0xfc, 0x02, 0x06, 0xfc, 0xfd, 0x00, 0xff, + 0xf7, 0xfa, 0xfd, 0xfa, 0xfe, 0x02, 0x03, 0x00, 0xfc, 0xfc, 0xff, 0xfa, 0xf9, 0xfe, 0x03, 0x05, 0xff, 0xf8, 0xff, 0xfc, 0xfb, 0x00, + 0x08, 0x02, 0xfa, 0xfe, 0x02, 0x02, 0xfe, 0xfe, 0x02, 0xff, 0xf7, 0x04, 0x04, 0x01, 0x05, 0x01, 0xfa, 0xf8, 0x01, 0x02, 0x02, 0x06, + 0x04, 0xfc, 0xf8, 0xff, 0x00, 0x04, 0x07, 0x01, 0xfc, 0xfd, 0x02, 0x04, 0xff, 0xfc, 0x00, 0x05, 0x04, 0x01, 0x05, 0x06, 0x00, 0xf7, + 0xfa, 0x05, 0x09, 0xfc, 0x01, 0x08, 0x05, 0x00, 0xf6, 0xf5, 0xff, 0x0b, 0x03, 0xf4, 0xfa, 0x02, 0x04, 0x00, 0x07, 0xfc, 0xf1, 0xf9, + 0xfc, 0xfd, 0xff, 0x0a, 0x00, 0xf5, 0xf9, 0x04, 0x00, 0xf9, 0x03, 0xfb, 0xf6, 0xfb, 0x01, 0x01, 0x01, 0x03, 0xfe, 0xfd, 0xff, 0xfa, + 0xfb, 0xfd, 0xff, 0xfd, 0x05, 0x06, 0xf9, 0xf8, 0x02, 0x09, 0xfd, 0xfa, 0xfe, 0x04, 0x07, 0xff, 0xf9, 0x02, 0xfb, 0xfb, 0x04, 0x06, + 0x04, 0x02, 0x02, 0x05, 0xfe, 0xf8, 0xff, 0x01, 0x03, 0x05, 0x02, 0x00, 0x02, 0x05, 0xfc, 0xfe, 0x06, 0x05, 0x02, 0x01, 0x01, 0xf7, + 0xfb, 0x00, 0x00, 0x02, 0x06, 0x04, 0xf9, 0xfb, 0x05, 0x09, 0xf6, 0xff, 0x08, 0xfb, 0x03, 0x05, 0xfe, 0xf2, 0x01, 0x04, 0xf7, 0xff, + 0x05, 0x03, 0xfc, 0xfa, 0xfd, 0xfe, 0xf6, 0xf7, 0xfb, 0xfe, 0xfe, 0x02, 0x01, 0xf8, 0x03, 0x07, 0xfe, 0xf8, 0xfb, 0x02, 0x04, 0xfe, + 0xfd, 0xff, 0xfd, 0x06, 0x04, 0xf9, 0xf9, 0x05, 0x03, 0xf0, 0x01, 0x05, 0xff, 0x03, 0x05, 0x00, 0xfa, 0xfa, 0x00, 0x02, 0xfd, 0x08, + 0x07, 0x00, 0x06, 0x02, 0xfe, 0x00, 0x0a, 0x01, 0xfa, 0x04, 0xff, 0xf7, 0xf7, 0x05, 0x03, 0x01, 0x04, 0xfd, 0xfe, 0x02, 0x02, 0x01, + 0x07, 0x09, 0xfb, 0xf9, 0xff, 0x04, 0x00, 0x02, 0x06, 0x02, 0xf9, 0xfb, 0x04, 0x02, 0xff, 0xfb, 0xf8, 0xfd, 0x02, 0x02, 0xfd, 0xfb, + 0xfc, 0xfe, 0x03, 0x02, 0xfe, 0xfa, 0xfc, 0xfd, 0xfe, 0x01, 0x01, 0x04, 0x07, 0xfa, 0xf9, 0xfc, 0xfa, 0xf9, 0xfe, 0x05, 0x02, 0x01, + 0xfc, 0xf8, 0xff, 0x03, 0x02, 0x00, 0xf8, 0x00, 0x0c, 0x04, 0x00, 0x00, 0x01, 0xfd, 0xfe, 0x03, 0x03, 0x01, 0xff, 0x00, 0x04, 0x08, + 0x04, 0xfc, 0xfc, 0x02, 0x03, 0xfb, 0xfa, 0xfe, 0x04, 0x06, 0x03, 0x02, 0x08, 0xfa, 0xfa, 0xff, 0xf6, 0xfa, 0x06, 0x0c, 0xfd, 0x01, + 0x08, 0x01, 0xf8, 0xfa, 0x00, 0x00, 0xfe, 0x01, 0x07, 0x02, 0xfd, 0xfd, 0x02, 0xfb, 0x02, 0x0a, 0xf9, 0xf9, 0xfd, 0xfc, 0x01, 0x04, + 0x01, 0xfd, 0xfc, 0x00, 0x01, 0xf7, 0xf9, 0x00, 0x03, 0x03, 0x00, 0xfe, 0x03, 0xfd, 0xfc, 0x01, 0x01, 0x02, 0x01, 0xfe, 0x02, 0x04, + 0x02, 0xff, 0xff, 0xfe, 0xfd, 0xfd, 0x01, 0x00, 0xfa, 0xfe, 0x02, 0x02, 0xfe, 0x01, 0x05, 0x06, 0xff, 0x02, 0x06, 0xfe, 0x04, 0x04, + 0x00, 0x01, 0x03, 0xfc, 0xf3, 0xfd, 0x07, 0x06, 0xff, 0xf9, 0xfb, 0x00, 0x00, 0xfe, 0xfb, 0xfb, 0x00, 0x00, 0xfe, 0x01, 0x05, 0x00, + 0xf8, 0x02, 0x04, 0xff, 0xfc, 0xff, 0x00, 0xff, 0x01, 0x04, 0xfd, 0xf3, 0x03, 0xfa, 0xf5, 0x07, 0x02, 0xfc, 0xfe, 0x06, 0x02, 0xfc, + 0xf9, 0x02, 0xff, 0xfa, 0xfe, 0x02, 0x04, 0x04, 0x04, 0xff, 0xfb, 0xfb, 0xfb, 0xfe, 0x03, 0x06, 0xfe, 0xfb, 0xfe, 0xff, 0xff, 0x04, + 0x09, 0xf8, 0xf4, 0xfc, 0x02, 0xff, 0xfe, 0x02, 0x06, 0x07, 0x06, 0x04, 0x01, 0xfd, 0xfc, 0x00, 0x08, 0x08, 0x05, 0x03, 0x05, 0xfe, + 0xf0, 0xfb, 0x05, 0x07, 0x04, 0x02, 0xfc, 0xf5, 0xfb, 0x01, 0x00, 0xfc, 0x05, 0x01, 0xf6, 0xf8, 0xfa, 0xfc, 0xfe, 0x05, 0x0b, 0x06, + 0xf6, 0xfe, 0x01, 0xfd, 0xfe, 0xfd, 0xfd, 0x00, 0xfc, 0xfb, 0xfd, 0xfc, 0x01, 0xfe, 0xfa, 0x04, 0x02, 0xfa, 0xfa, 0x01, 0x02, 0xff, + 0x00, 0xfc, 0x01, 0x0a, 0x02, 0xfc, 0xf9, 0xf8, 0x00, 0x01, 0x00, 0x06, 0x03, 0xff, 0xff, 0xfe, 0xfc, 0xfc, 0xfe, 0xfd, 0xfc, 0xfd, + 0x00, 0x06, 0x08, 0x07, 0x04, 0x03, 0x03, 0x02, 0xfd, 0xfd, 0x01, 0xfd, 0x02, 0x06, 0x04, 0xfc, 0xfe, 0x03, 0x02, 0x00, 0x01, 0x02, + 0xf9, 0x04, 0x09, 0xfe, 0xfd, 0xfd, 0xff, 0x03, 0x02, 0xfe, 0xfc, 0xfc, 0x00, 0x04, 0x06, 0x03, 0xfe, 0xfc, 0xfb, 0xff, 0xfc, 0xf4, + 0xf7, 0xf9, 0xfe, 0x06, 0x00, 0xff, 0x02, 0x00, 0xff, 0xfa, 0xf6, 0x0a, 0x05, 0xf7, 0xf7, 0xfd, 0xfe, 0xfb, 0xff, 0x01, 0x02, 0x02, + 0xfb, 0xfd, 0x00, 0xfd, 0x05, 0x04, 0xfe, 0x00, 0xfc, 0xf9, 0xfc, 0xff, 0xfb, 0xfc, 0x0b, 0x01, 0xff, 0x05, 0xfe, 0xf9, 0xfa, 0xfe, + 0x01, 0x01, 0xfe, 0xff, 0xfb, 0xfe, 0x04, 0x03, 0x03, 0x06, 0x08, 0x04, 0xfd, 0xfd, 0x0d, 0x06, 0xfc, 0xfd, 0x03, 0x06, 0x07, 0x09, + 0x01, 0xfc, 0xfc, 0xfc, 0xf8, 0xfa, 0x03, 0x02, 0x01, 0x01, 0x01, 0xf4, 0xf9, 0x08, 0x02, 0x02, 0x01, 0xfb, 0xf6, 0xfb, 0x04, 0x07, + 0x07, 0xff, 0xf8, 0xfd, 0xfe, 0xfc, 0xfc, 0xf8, 0xfa, 0xfe, 0xff, 0xf7, 0xfc, 0x08, 0xf8, 0xfa, 0x02, 0xff, 0x02, 0xff, 0xfd, 0x06, + 0x02, 0xfe, 0xff, 0xff, 0x03, 0x03, 0xfb, 0xfd, 0x02, 0x01, 0xf7, 0x00, 0x06, 0xff, 0x01, 0xfd, 0xfb, 0x01, 0x00, 0x03, 0x03, 0xf6, + 0xfd, 0x07, 0x05, 0x01, 0xfa, 0xf8, 0xfd, 0x0b, 0x09, 0xfc, 0x00, 0xfc, 0xfc, 0x05, 0x08, 0x01, 0xfd, 0x06, 0x00, 0xfa, 0xfa, 0x02, + 0xff, 0x01, 0x0b, 0x06, 0xfc, 0xf6, 0xf9, 0x01, 0x05, 0x05, 0x0a, 0x01, 0xfc, 0x02, 0xfb, 0xfe, 0x05, 0x04, 0x00, 0xff, 0xff, 0xfa, + 0xfb, 0x00, 0x03, 0x03, 0xfb, 0xf4, 0xfd, 0xff, 0xfe, 0xfe, 0xfe, 0x00, 0xff, 0xf9, 0x04, 0x07, 0xff, 0xf8, 0x01, 0x05, 0xfb, 0xff, + 0x00, 0xff, 0x02, 0xf9, 0xfa, 0x05, 0x02, 0xfe, 0xff, 0x04, 0x09, 0x02, 0xfa, 0xff, 0xff, 0xfa, 0xf7, 0xff, 0x04, 0x06, 0x04, 0x0b, + 0xff, 0xf2, 0xfe, 0x07, 0x03, 0xfa, 0xfb, 0x00, 0x00, 0xf8, 0xff, 0x05, 0x03, 0xfc, 0xfe, 0x01, 0xff, 0x02, 0xfe, 0xfd, 0x05, 0x01, + 0x01, 0x04, 0x00, 0xfc, 0xfd, 0x00, 0xfc, 0xff, 0x06, 0x0b, 0xfe, 0xfa, 0x01, 0x05, 0xfd, 0xfb, 0x04, 0xfa, 0xf8, 0x00, 0x08, 0x04, + 0xff, 0x00, 0x04, 0x00, 0xfc, 0x00, 0x01, 0xfa, 0xf6, 0x02, 0x06, 0x04, 0x00, 0xff, 0xf8, 0xf7, 0x00, 0x01, 0xff, 0xff, 0x05, 0x04, + 0x02, 0x00, 0x01, 0xfe, 0xfb, 0xfc, 0x02, 0x00, 0xfb, 0x02, 0x02, 0xff, 0x00, 0x07, 0x08, 0x01, 0xfb, 0xf4, 0xfb, 0x06, 0x02, 0xff, + 0x00, 0x03, 0x06, 0x01, 0xfa, 0xfb, 0xf8, 0xff, 0x0a, 0xfd, 0xfc, 0xfd, 0xfa, 0xfd, 0xff, 0xfd, 0xf9, 0xff, 0x03, 0x01, 0xfe, 0xfc, + 0xfa, 0xfa, 0x00, 0x02, 0x02, 0x05, 0x01, 0xfa, 0xf6, 0x04, 0xff, 0xf8, 0x03, 0x0a, 0x09, 0x02, 0x00, 0xff, 0xfc, 0xfa, 0xfc, 0x02, + 0x03, 0xfd, 0xfa, 0xfb, 0x00, 0x05, 0x06, 0x01, 0xfb, 0x03, 0x04, 0xfd, 0xfc, 0xfd, 0x01, 0x07, 0x0b, 0x06, 0x03, 0x05, 0xfd, 0xfa, + 0xff, 0x02, 0x06, 0x05, 0x01, 0x04, 0xfc, 0xf5, 0xf9, 0x05, 0x04, 0xfc, 0x01, 0xfd, 0xfb, 0x01, 0x0f, 0x0a, 0xff, 0xfc, 0x06, 0xfe, + 0xf1, 0xfc, 0xff, 0x01, 0x05, 0x02, 0x00, 0x00, 0xfc, 0xfb, 0xfd, 0xfc, 0xf2, 0xfa, 0x02, 0x01, 0xfe, 0xfe, 0xff, 0xfe, 0xff, 0xff, + 0xfe, 0xfe, 0xfd, 0xff, 0x02, 0xff, 0xfd, 0xfc, 0xfb, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfd, 0xff, 0xfe, 0x02, 0x06, 0xff, 0x00, 0xff, + 0xfc, 0xfe, 0xfd, 0x00, 0x09, 0x01, 0x04, 0x0a, 0xff, 0xfa, 0xfd, 0x04, 0x04, 0x06, 0x04, 0xfc, 0xf9, 0xfe, 0x03, 0x01, 0xfb, 0xfc, + 0x04, 0x03, 0x04, 0x07, 0x05, 0x00, 0xfd, 0xff, 0x01, 0x08, 0x04, 0xf9, 0xfe, 0x0b, 0x0c, 0xf7, 0xfc, 0xff, 0xfc, 0x03, 0x02, 0xfd, + 0xfd, 0xff, 0x01, 0x02, 0xff, 0xfb, 0xf9, 0xfb, 0x05, 0x03, 0xfd, 0xfe, 0x05, 0x07, 0x03, 0x01, 0xf9, 0xf8, 0xff, 0x00, 0xff, 0xfd, + 0xfd, 0xfa, 0xfc, 0x00, 0x05, 0xfc, 0xfa, 0x02, 0xf9, 0xf9, 0xfe, 0xfe, 0x02, 0x02, 0xfd, 0x01, 0xfd, 0xf7, 0xf7, 0x04, 0xff, 0xf6, + 0x00, 0x02, 0x04, 0x05, 0xfd, 0x02, 0x03, 0xf8, 0xfc, 0xfd, 0xfd, 0x03, 0x03, 0x00, 0x01, 0x06, 0xff, 0xfb, 0x03, 0x05, 0x04, 0xff, + 0xfa, 0xf8, 0xfd, 0x04, 0x06, 0x04, 0x00, 0xfb, 0x00, 0x01, 0xff, 0xff, 0x05, 0x03, 0xf9, 0x01, 0x03, 0xff, 0xff, 0xfa, 0xff, 0x07, + 0x00, 0xfd, 0xfd, 0xfd, 0x03, 0x01, 0xfe, 0x05, 0x04, 0x03, 0x03, 0x01, 0xf5, 0xf4, 0x03, 0x09, 0x03, 0xfe, 0x08, 0x02, 0xfa, 0xfb, + 0x07, 0x05, 0xfe, 0xfc, 0x00, 0xfe, 0xfa, 0xfc, 0x02, 0x00, 0xf9, 0x02, 0xfd, 0xf6, 0xfb, 0xf6, 0xfd, 0x05, 0xf9, 0xfc, 0x02, 0x03, + 0x0c, 0x04, 0xfa, 0xfd, 0xf7, 0xf9, 0x02, 0x07, 0x06, 0x05, 0x06, 0xfc, 0xfc, 0x00, 0xf9, 0x03, 0x01, 0xf6, 0x02, 0xf9, 0xf5, 0x05, + 0x05, 0x04, 0x02, 0xfd, 0xf6, 0xfa, 0x05, 0x00, 0x02, 0x06, 0x04, 0xfe, 0x00, 0x03, 0xfe, 0xfc, 0xff, 0x03, 0xfb, 0x00, 0x03, 0xfa, + 0x00, 0x08, 0x0a, 0x01, 0xfc, 0xf8, 0xf6, 0xfa, 0x00, 0x02, 0x01, 0x08, 0x07, 0x01, 0x04, 0x06, 0x06, 0x02, 0x02, 0xff, 0xfc, 0xfc, + 0x01, 0x03, 0x02, 0x00, 0x01, 0x00, 0xfd, 0xfa, 0xfd, 0xff, 0xfd, 0xfb, 0xff, 0x04, 0xfe, 0x01, 0xff, 0xf6, 0xff, 0x00, 0xfd, 0x03, + 0x05, 0x01, 0xfe, 0x06, 0x03, 0xfd, 0xfc, 0xf4, 0xfa, 0x05, 0x01, 0xfc, 0xfe, 0x04, 0xff, 0xfb, 0xfc, 0xff, 0x03, 0x03, 0xff, 0xfb, + 0xf8, 0xfb, 0x02, 0x00, 0x01, 0x04, 0x02, 0xfb, 0xf9, 0xfd, 0xff, 0xff, 0xfd, 0xfd, 0xfe, 0x04, 0x05, 0xfb, 0xfc, 0x05, 0x08, 0xfb, + 0xf7, 0xfc, 0x03, 0x05, 0x04, 0x02, 0xfe, 0x01, 0x00, 0xfd, 0x09, 0x05, 0xfd, 0xff, 0x02, 0xff, 0xfb, 0x02, 0x04, 0x09, 0x0f, 0x03, + 0xfc, 0xfe, 0xff, 0xfd, 0xfc, 0xfe, 0xff, 0x04, 0x02, 0xf9, 0x05, 0x04, 0xfd, 0xff, 0xfe, 0xfc, 0xfb, 0x00, 0x00, 0x00, 0x01, 0x06, + 0xfd, 0xf6, 0x02, 0x03, 0xfd, 0xfb, 0x05, 0x00, 0xfc, 0x00, 0x03, 0xff, 0xfb, 0xfb, 0xfd, 0xfa, 0xf6, 0xf8, 0xfe, 0x05, 0x07, 0x07, + 0x00, 0xf8, 0xf8, 0xfa, 0xfe, 0x02, 0x00, 0x01, 0x03, 0x01, 0xf5, 0xf8, 0x06, 0x09, 0x06, 0x00, 0xfb, 0xfe, 0xfe, 0xfc, 0xfc, 0x05, + 0x05, 0xfe, 0x00, 0xff, 0xfc, 0xfa, 0x03, 0x05, 0x03, 0x02, 0x04, 0x00, 0xfb, 0x08, 0x06, 0xfe, 0xfc, 0xfc, 0xfd, 0x00, 0x07, 0x01, + 0x02, 0x07, 0xfb, 0xfd, 0x00, 0xfa, 0xfd, 0x02, 0x03, 0xfa, 0x01, 0x02, 0xfa, 0xfe, 0x07, 0x0a, 0x05, 0xfc, 0xfc, 0x01, 0xfe, 0x02, + 0xff, 0xf7, 0xfd, 0x00, 0x01, 0x03, 0x04, 0x02, 0xfd, 0xfb, 0xfa, 0xfc, 0xff, 0xff, 0xff, 0x02, 0x07, 0x03, 0xfa, 0xf4, 0xfe, 0xff, + 0xff, 0x04, 0x06, 0x01, 0xfe, 0x05, 0x01, 0xff, 0x00, 0xff, 0xf6, 0xf5, 0x00, 0xff, 0x01, 0x05, 0xff, 0x01, 0xfe, 0xfa, 0x07, 0x06, + 0xfd, 0xf8, 0xf9, 0xff, 0x05, 0x02, 0x06, 0x05, 0xfc, 0xf9, 0xf9, 0xfa, 0xfc, 0x09, 0x07, 0xff, 0x0c, 0xfe, 0xf3, 0xfa, 0x01, 0x01, + 0x00, 0x04, 0xff, 0xfc, 0xff, 0x02, 0x03, 0x05, 0x06, 0xfe, 0xfb, 0xfe, 0x05, 0xfb, 0xf8, 0x00, 0x01, 0x05, 0x05, 0x00, 0xfa, 0xfb, + 0x01, 0x00, 0x03, 0x03, 0xfe, 0xf8, 0x00, 0x04, 0xf8, 0x03, 0x00, 0xf7, 0x00, 0x01, 0xfe, 0xfd, 0x05, 0x03, 0xff, 0x00, 0x01, 0x00, + 0xff, 0x04, 0x04, 0xff, 0xf7, 0xff, 0xff, 0x01, 0x0b, 0x08, 0xfc, 0xf5, 0x04, 0xfb, 0xf7, 0x02, 0xfb, 0xfc, 0x02, 0x01, 0x00, 0xfa, + 0xf8, 0x06, 0x09, 0x05, 0x02, 0xf8, 0xf5, 0xfc, 0x05, 0x06, 0x01, 0xff, 0xfd, 0x01, 0x00, 0xf6, 0xfe, 0x04, 0x03, 0xfd, 0xfe, 0xfa, + 0xf5, 0x02, 0xff, 0xfb, 0x05, 0xfe, 0xfc, 0x00, 0xfe, 0x01, 0x02, 0xfe, 0x02, 0x04, 0x03, 0x02, 0xf6, 0xf3, 0xfb, 0x02, 0x03, 0x03, + 0x04, 0xfb, 0xff, 0x02, 0xf8, 0xfe, 0x05, 0x03, 0xfa, 0x00, 0x08, 0x06, 0x00, 0xff, 0x01, 0x00, 0x03, 0x02, 0x00, 0xff, 0x04, 0x04, + 0xfd, 0xfb, 0x06, 0x0e, 0xff, 0x03, 0x02, 0xf6, 0xf9, 0xfe, 0x01, 0x02, 0x03, 0xff, 0xfb, 0xfe, 0xfb, 0xfc, 0x02, 0x02, 0x04, 0x02, + 0xfc, 0xf7, 0xf7, 0xfd, 0x06, 0x03, 0xff, 0x01, 0xf9, 0xfe, 0x04, 0xf9, 0xfe, 0x02, 0x01, 0xfe, 0x04, 0x01, 0xf4, 0xfa, 0x01, 0x01, + 0xf9, 0x01, 0x01, 0xf9, 0xfe, 0x02, 0x01, 0xfd, 0x06, 0xff, 0xf7, 0x03, 0x04, 0xfd, 0xf7, 0xfd, 0x00, 0x01, 0x02, 0x07, 0x02, 0xfc, + 0x04, 0xfd, 0xf8, 0xfd, 0x02, 0x00, 0x01, 0x06, 0x06, 0xfd, 0xf8, 0x04, 0x05, 0x02, 0x01, 0x02, 0x01, 0x01, 0x03, 0x02, 0x07, 0x0a, + 0xfe, 0xfe, 0x04, 0x03, 0xfd, 0xfe, 0x00, 0xf7, 0x06, 0x08, 0xf9, 0xf9, 0x00, 0x06, 0x03, 0x08, 0x04, 0xfd, 0xfd, 0x04, 0xfe, 0xf4, + 0xfe, 0x04, 0x06, 0x04, 0xfa, 0xf9, 0xfe, 0xfd, 0xfc, 0xfe, 0x03, 0x02, 0xff, 0xfb, 0xfd, 0xf4, 0xf9, 0x04, 0xff, 0xf9, 0xfc, 0x04, + 0xf2, 0xf7, 0x08, 0x0c, 0xfd, 0xf8, 0x01, 0x02, 0xf8, 0xf8, 0x05, 0xfb, 0xfe, 0x04, 0xfd, 0x02, 0x03, 0xfe, 0x02, 0xfc, 0xf9, 0xfd, + 0x06, 0x04, 0xff, 0x02, 0x03, 0xfd, 0xf7, 0xff, 0x04, 0x03, 0x00, 0xfd, 0xfe, 0x01, 0x01, 0x03, 0x04, 0x03, 0x05, 0x04, 0xfc, 0xf3, + 0x00, 0x03, 0xfe, 0x05, 0x01, 0x02, 0x07, 0x03, 0x01, 0x00, 0xfa, 0xff, 0x03, 0x02, 0xfe, 0x02, 0x05, 0x02, 0xfb, 0xff, 0x06, 0x02, + 0xfa, 0xfb, 0x02, 0xfb, 0x00, 0x03, 0xfc, 0x02, 0x03, 0xfd, 0xf7, 0xfa, 0xf8, 0xf3, 0x03, 0xfd, 0xf9, 0x05, 0x04, 0x01, 0x00, 0x00, + 0xf9, 0xf9, 0x01, 0xfe, 0xfa, 0xfa, 0xfe, 0x03, 0x01, 0xfc, 0xfe, 0x01, 0x01, 0xfd, 0xfc, 0xfc, 0xfe, 0x00, 0x07, 0x07, 0x00, 0xfe, + 0xfb, 0xfe, 0x03, 0x00, 0xfb, 0xfa, 0x00, 0x06, 0x0b, 0x0a, 0x02, 0x02, 0xfe, 0xf5, 0x01, 0x04, 0xfb, 0xf6, 0x01, 0x09, 0x05, 0x03, + 0xfa, 0xf6, 0xfd, 0x03, 0xfd, 0xf6, 0xfc, 0x02, 0x02, 0xff, 0x04, 0x03, 0x01, 0x02, 0x03, 0x00, 0xfd, 0xfd, 0x03, 0x05, 0x00, 0x04, + 0x02, 0xfd, 0xfe, 0x04, 0x05, 0x01, 0xfe, 0xfa, 0xfd, 0x04, 0xf9, 0xfa, 0x05, 0x0a, 0x03, 0xfc, 0xfa, 0xfe, 0xfb, 0xfa, 0x01, 0x04, + 0x00, 0xfb, 0xfd, 0xfe, 0x00, 0x02, 0x04, 0xfe, 0xfc, 0x01, 0xfe, 0xfc, 0xfd, 0x01, 0x02, 0x03, 0x02, 0x00, 0xfb, 0xfa, 0xfe, 0xff, + 0x01, 0x04, 0x02, 0x03, 0x07, 0x08, 0xfa, 0xfa, 0xfd, 0xf7, 0xfe, 0x05, 0x04, 0xfd, 0xff, 0x05, 0x06, 0xf9, 0xf8, 0xfd, 0xfb, 0xfd, + 0x00, 0xff, 0xfa, 0xfe, 0x02, 0xff, 0x06, 0x03, 0xfc, 0xfb, 0x02, 0x03, 0xfd, 0xf9, 0x04, 0x0c, 0x05, 0x06, 0x01, 0xf9, 0xf9, 0xfe, + 0x03, 0x05, 0x01, 0x00, 0x02, 0x04, 0x02, 0xfe, 0xfc, 0xff, 0x04, 0x03, 0xfd, 0xfe, 0xff, 0x01, 0x03, 0x07, 0x02, 0xfc, 0xfb, 0x04, + 0x04, 0xfc, 0x04, 0x04, 0xfc, 0xf6, 0x03, 0x07, 0xfd, 0xfa, 0xf8, 0xfb, 0xfe, 0x02, 0xfc, 0xf8, 0x00, 0x03, 0x03, 0x04, 0x03, 0x08, + 0x06, 0xfd, 0x01, 0x00, 0xfc, 0xfb, 0xfb, 0xff, 0x05, 0x06, 0x01, 0xfb, 0xf9, 0xff, 0x01, 0xfe, 0xfb, 0xfc, 0xfb, 0xf8, 0xfc, 0xfe, + 0xff, 0x01, 0x01, 0x00, 0xff, 0xfe, 0xf8, 0xf9, 0x04, 0x05, 0x07, 0x05, 0xff, 0xfd, 0x01, 0x02, 0xf9, 0xf7, 0xfc, 0x03, 0x06, 0x07, + 0x04, 0xfc, 0x03, 0x03, 0xfb, 0xfa, 0xfc, 0x02, 0x07, 0xfa, 0xfc, 0x08, 0x08, 0x05, 0x01, 0xfe, 0xfd, 0xf9, 0xfb, 0x03, 0x02, 0x01, + 0x03, 0x03, 0xff, 0x00, 0x04, 0x05, 0xfb, 0xf6, 0xfc, 0x02, 0x04, 0x03, 0x03, 0x03, 0x01, 0xfd, 0xf5, 0xfc, 0x04, 0xff, 0xff, 0xff, + 0xfc, 0xfc, 0xfc, 0x01, 0x07, 0x06, 0xfd, 0xf8, 0xfe, 0xfe, 0xfb, 0xfc, 0x02, 0x05, 0x00, 0xf9, 0xfd, 0x03, 0x02, 0xf7, 0xf8, 0x00, + 0x04, 0xf9, 0xfc, 0x01, 0x00, 0x03, 0x03, 0xff, 0xfa, 0xf8, 0xfd, 0x03, 0xff, 0xff, 0x04, 0x08, 0xfc, 0xfd, 0x05, 0x00, 0xfa, 0xf9, + 0xfd, 0xf8, 0xfc, 0x01, 0x00, 0x04, 0x05, 0x05, 0x06, 0x02, 0xfc, 0xfa, 0x00, 0x05, 0x05, 0x01, 0x03, 0x02, 0x01, 0x0e, 0x05, 0xf8, + 0xf6, 0x04, 0x03, 0xfa, 0xfb, 0x03, 0x07, 0x04, 0x03, 0x01, 0xfe, 0xf7, 0xf7, 0xf9, 0xff, 0x07, 0x08, 0x00, 0xfc, 0x08, 0x04, 0xfc, + 0xfe, 0xfc, 0xff, 0x02, 0xfd, 0xfb, 0x00, 0x06, 0x06, 0x01, 0xfd, 0xfb, 0xfb, 0xf6, 0xf3, 0xfd, 0xff, 0xfe, 0xff, 0x04, 0x06, 0x03, + 0xfb, 0xfb, 0xf9, 0xf9, 0x08, 0xff, 0xf6, 0xff, 0x0a, 0x09, 0x01, 0xfb, 0xfd, 0xfe, 0xfa, 0xff, 0xfa, 0xfa, 0x05, 0xff, 0xfc, 0x01, + 0x09, 0xfc, 0xf7, 0xfe, 0xfe, 0xfb, 0xfe, 0x09, 0x06, 0x06, 0x08, 0x05, 0xff, 0xfc, 0xfc, 0xfe, 0x00, 0x01, 0xfe, 0x00, 0x05, 0x07, + 0x03, 0x05, 0x04, 0xfd, 0xfa, 0xfc, 0xfe, 0xfd, 0x05, 0x07, 0x03, 0x03, 0x03, 0x00, 0xfb, 0xfe, 0x00, 0xff, 0xfa, 0xff, 0xff, 0xfd, + 0x09, 0x03, 0xfb, 0xfb, 0xfe, 0xfc, 0xfa, 0xfe, 0xff, 0xfc, 0xfb, 0x08, 0x03, 0xfb, 0xfe, 0x00, 0xff, 0xff, 0xff, 0xfe, 0xfd, 0xfe, + 0x03, 0x05, 0x04, 0x02, 0xfb, 0xfb, 0xff, 0xff, 0xfc, 0xfd, 0x01, 0x01, 0x03, 0x01, 0xfa, 0xf9, 0xfe, 0x04, 0x06, 0x02, 0xfb, 0xf5, + 0xf7, 0xff, 0x04, 0x00, 0xfe, 0xfd, 0xff, 0x03, 0xff, 0xf9, 0xf9, 0xfd, 0x01, 0x03, 0x04, 0x08, 0x07, 0x03, 0x03, 0x00, 0xfc, 0xfa, + 0xfa, 0xfd, 0x02, 0x01, 0x06, 0x03, 0xfb, 0x01, 0x05, 0x01, 0xf9, 0xff, 0x01, 0xfe, 0xfd, 0x00, 0x04, 0x05, 0x07, 0x05, 0xff, 0xf9, + 0x00, 0xff, 0xfb, 0xff, 0x06, 0x07, 0x01, 0xfc, 0xfe, 0x01, 0xfd, 0xf7, 0xf8, 0xfe, 0xfe, 0x03, 0x07, 0x07, 0x00, 0x05, 0x08, 0xfd, + 0xf3, 0xf6, 0x00, 0x05, 0x01, 0xfe, 0x04, 0x04, 0x04, 0x01, 0xf9, 0xf8, 0xfb, 0xfd, 0x00, 0x00, 0xff, 0xfe, 0xfe, 0xfd, 0xfc, 0x01, + 0xfd, 0xf9, 0xfb, 0x01, 0x01, 0xff, 0x00, 0x07, 0x04, 0xfc, 0x03, 0xff, 0xfb, 0xfd, 0x01, 0x04, 0x02, 0xfd, 0x00, 0x01, 0xff, 0xfe, + 0x00, 0x01, 0x00, 0xfb, 0x05, 0x0a, 0xfd, 0xf8, 0xfe, 0x05, 0xfd, 0x00, 0x03, 0x03, 0x05, 0x04, 0x00, 0xfb, 0xf8, 0xfc, 0x02, 0x05, + 0xff, 0xfd, 0x03, 0xff, 0xfd, 0xfe, 0xfa, 0xff, 0x04, 0x02, 0xfe, 0xff, 0x02, 0x03, 0x01, 0x02, 0x02, 0xfb, 0xfb, 0xfb, 0xfb, 0xfc, + 0x05, 0x07, 0xff, 0x00, 0x03, 0x03, 0xff, 0xf9, 0xf9, 0xfe, 0xf9, 0xfa, 0x01, 0x06, 0x07, 0x02, 0xfd, 0xf9, 0x02, 0x03, 0xf9, 0xfe, + 0x04, 0x04, 0x00, 0x00, 0x02, 0x02, 0xf9, 0xfb, 0xff, 0xfd, 0xfc, 0xff, 0x02, 0x00, 0x02, 0x04, 0x02, 0xfb, 0xfc, 0xfe, 0xfc, 0xfe, + 0xfe, 0xfe, 0x05, 0x03, 0x00, 0x01, 0xff, 0xfe, 0xfc, 0xfa, 0x02, 0x04, 0xfe, 0xf9, 0x00, 0x04, 0xff, 0xfe, 0xfd, 0xfd, 0xfc, 0x02, + 0x05, 0x02, 0xfd, 0x02, 0x03, 0xfd, 0x01, 0x01, 0xff, 0x03, 0x02, 0x01, 0xff, 0xf8, 0xfc, 0x00, 0xfe, 0xff, 0x01, 0x02, 0x05, 0xff, + 0xfd, 0x00, 0x01, 0x02, 0x01, 0xfd, 0xfe, 0xfe, 0xfe, 0x01, 0x01, 0x00, 0xff, 0xfb, 0xfc, 0xff, 0x00, 0x02, 0x00, 0xfe, 0x05, 0x03, + 0xff, 0xfe, 0xfd, 0xff, 0x01, 0x01, 0xff, 0xfd, 0xfd, 0x07, 0x02, 0xfd, 0x01, 0xfc, 0xfa, 0xfb, 0xfd, 0x00, 0xff, 0xfe, 0x02, 0x05, + 0x04, 0x00, 0xfd, 0xfa, 0xfb, 0xff, 0x04, 0x06, 0x04, 0xfc, 0xfc, 0x02, 0x05, 0xff, 0xf9, 0xfa, 0x01, 0xfc, 0xfa, 0x00, 0x06, 0x00, + 0xfb, 0x00, 0xff, 0xff, 0xff, 0xf9, 0xfd, 0x03, 0x02, 0xfe, 0xfd, 0x00, 0x03, 0x06, 0x04, 0xfd, 0xfc, 0xfd, 0x03, 0x08, 0x08, 0xfb, + 0xf6, 0x07, 0x01, 0xf8, 0xf9, 0xfd, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0x04, 0xff, 0xfd, 0x03, 0x03, 0x01, 0xfe, 0xfc, 0x02, 0x03, + 0x01, 0x01, 0x04, 0x06, 0x04, 0xfb, 0xfc, 0x02, 0x03, 0xfb, 0xf9, 0xff, 0x01, 0x02, 0x04, 0x05, 0xf9, 0xfa, 0x02, 0x03, 0xff, 0xfe, + 0x02, 0x03, 0xff, 0xfe, 0x01, 0xff, 0xf9, 0xfa, 0x05, 0xfe, 0xfa, 0xff, 0x04, 0x04, 0x03, 0x02, 0xfd, 0xfe, 0x00, 0xff, 0xf9, 0xfd, + 0x04, 0xfe, 0xfe, 0x01, 0x01, 0x06, 0x02, 0xfc, 0xff, 0x00, 0x01, 0x01, 0xfb, 0xff, 0x05, 0x02, 0xfd, 0xfb, 0xfe, 0x03, 0x06, 0xff, + 0xf5, 0xf7, 0x02, 0x06, 0x00, 0x02, 0x02, 0xfe, 0xf9, 0x01, 0x05, 0x00, 0xfe, 0xfc, 0xfd, 0xfd, 0x01, 0xff, 0xfc, 0x05, 0x07, 0x02, + 0xfb, 0xfc, 0xff, 0x00, 0xfe, 0x02, 0x03, 0x00, 0x03, 0x00, 0xfd, 0x00, 0xfe, 0xfc, 0xfd, 0x03, 0x06, 0x00, 0xf9, 0xff, 0x02, 0x01, + 0xff, 0xff, 0x00, 0x01, 0x03, 0xf9, 0xf8, 0x02, 0x03, 0x03, 0x03, 0x02, 0x02, 0x00, 0xfb, 0xfb, 0xfc, 0x00, 0x03, 0x01, 0xfc, 0xfc, + 0x02, 0xfc, 0xf9, 0xfc, 0x03, 0xfe, 0xfc, 0x01, 0x06, 0x00, 0xfb, 0x04, 0xff, 0xff, 0x04, 0xfd, 0xfd, 0x00, 0x00, 0xfd, 0xfc, 0x02, + 0x09, 0x02, 0xf7, 0xf6, 0x00, 0x01, 0xff, 0x00, 0x00, 0x02, 0x02, 0x01, 0xfc, 0xfb, 0x01, 0x05, 0x03, 0x00, 0x00, 0x03, 0x01, 0xfd, + 0x02, 0x04, 0x03, 0x00, 0xfc, 0xfb, 0xfe, 0x03, 0x00, 0x00, 0x01, 0xfd, 0xfe, 0xfe, 0xfd, 0xfd, 0xff, 0x03, 0x05, 0x01, 0xfc, 0xfb, + 0x00, 0xfc, 0xfd, 0x07, 0x04, 0x01, 0x00, 0x03, 0xfd, 0xf9, 0xfb, 0x02, 0xfc, 0xf8, 0xfe, 0x03, 0x03, 0x00, 0xfe, 0x01, 0xff, 0xfa, + 0xff, 0x01, 0x00, 0xfe, 0x01, 0xff, 0xfc, 0xff, 0x01, 0xff, 0xfd, 0x02, 0xfe, 0xfa, 0xff, 0x05, 0x04, 0xff, 0xfc, 0xfd, 0x01, 0x00, + 0xff, 0xfd, 0xfd, 0x01, 0x08, 0x06, 0xfe, 0x00, 0x02, 0x02, 0xff, 0x01, 0x03, 0x02, 0x01, 0xff, 0xff, 0xff, 0xfc, 0xff, 0x02, 0x01, + 0xfc, 0xfe, 0x02, 0x00, 0xfd, 0xfd, 0xff, 0x00, 0xfe, 0xfc, 0xfa, 0x03, 0x04, 0xff, 0xfe, 0x02, 0x01, 0xfc, 0x00, 0x04, 0x03, 0xfc, + 0xfd, 0xff, 0x00, 0x00, 0x02, 0x00, 0xfc, 0xfa, 0xfd, 0xfd, 0xf8, 0x03, 0x06, 0x00, 0x00, 0x02, 0xfe, 0xf9, 0xfe, 0x01, 0x01, 0xff, + 0xfc, 0x00, 0x06, 0x01, 0xfd, 0xfb, 0xfa, 0x05, 0x02, 0xfa, 0xff, 0x01, 0x03, 0x03, 0xff, 0xfe, 0xfe, 0xfd, 0x00, 0xfd, 0xfc, 0x03, + 0x06, 0x04, 0x01, 0x09, 0x03, 0xfb, 0xfd, 0xfe, 0xff, 0x02, 0x06, 0x01, 0xff, 0x03, 0x00, 0xfe, 0xff, 0x03, 0x00, 0xfe, 0xff, 0xfa, + 0xfe, 0x02, 0xff, 0xfe, 0x01, 0x01, 0xfe, 0xfe, 0x03, 0x05, 0xf7, 0xfa, 0x02, 0x04, 0xfe, 0x00, 0x02, 0xf8, 0xf8, 0xfe, 0x03, 0xff, + 0x02, 0x03, 0xfc, 0xf7, 0xfa, 0xff, 0xfc, 0xff, 0x03, 0x03, 0x02, 0xf9, 0xf4, 0xfb, 0x01, 0x01, 0xff, 0x03, 0xfe, 0xfe, 0x05, 0x00, + 0xff, 0x00, 0xfd, 0x01, 0x02, 0xfe, 0xfd, 0xfb, 0xfe, 0x06, 0x08, 0x00, 0xf9, 0xfd, 0xfd, 0x00, 0x00, 0xfb, 0xfe, 0x07, 0x0c, 0x03, + 0xfd, 0xfd, 0xfc, 0xfc, 0xfe, 0x03, 0x06, 0x09, 0x09, 0x05, 0x05, 0x04, 0xff, 0xfc, 0xf9, 0xfb, 0x01, 0x01, 0xff, 0x00, 0x04, 0x01, + 0xfe, 0xfd, 0xff, 0xf8, 0xf7, 0x01, 0x04, 0x02, 0x00, 0x05, 0xff, 0xfc, 0xfe, 0xfb, 0xfa, 0xfc, 0x00, 0x06, 0x03, 0x00, 0x03, 0x03, + 0xfd, 0xfa, 0xff, 0xfc, 0xf8, 0xf9, 0xfc, 0xfe, 0x00, 0xff, 0x00, 0x00, 0xfe, 0x00, 0xff, 0xfa, 0xf7, 0x01, 0x01, 0xfd, 0x05, 0x05, + 0x04, 0x03, 0xfb, 0xfd, 0x01, 0xfd, 0x03, 0x03, 0xff, 0x02, 0xfe, 0xfe, 0x01, 0x00, 0xfd, 0xfd, 0x02, 0xff, 0x01, 0x03, 0xfb, 0xfc, + 0x03, 0x08, 0x03, 0x03, 0x02, 0xfb, 0x00, 0x03, 0x02, 0x01, 0x01, 0x02, 0x03, 0x03, 0xff, 0xfd, 0x03, 0x02, 0x00, 0x00, 0xfe, 0xfc, + 0xfc, 0x01, 0x03, 0x02, 0xff, 0x00, 0xfc, 0xfc, 0xfe, 0xfd, 0xfd, 0xfe, 0xfe, 0x00, 0x02, 0x02, 0x00, 0x02, 0x01, 0xfd, 0xf8, 0xf9, + 0xfd, 0xff, 0x01, 0x03, 0x02, 0xfd, 0x01, 0xff, 0xf7, 0xff, 0x03, 0x00, 0xfc, 0xfb, 0xff, 0x03, 0xfd, 0x00, 0x02, 0x00, 0x03, 0x00, + 0xfa, 0xfb, 0xfd, 0x02, 0x05, 0x01, 0xfe, 0xff, 0x02, 0x00, 0xfd, 0xfc, 0x01, 0x06, 0x03, 0xfd, 0x02, 0x01, 0xff, 0x01, 0x05, 0x02, + 0xfd, 0x00, 0xff, 0x00, 0x03, 0xf9, 0x00, 0x06, 0xff, 0x00, 0x01, 0xff, 0xfb, 0x02, 0x04, 0xff, 0xfd, 0x02, 0x05, 0xff, 0x01, 0x04, + 0x01, 0xf6, 0xfa, 0x00, 0xff, 0x00, 0x01, 0x03, 0x04, 0xfc, 0xfa, 0x02, 0x08, 0x04, 0xfe, 0xff, 0xf8, 0xf7, 0xfd, 0x05, 0xff, 0xfe, + 0x04, 0x01, 0xff, 0xfe, 0xfe, 0x01, 0x00, 0xff, 0x03, 0xfe, 0xfb, 0xfd, 0xfd, 0xfd, 0x00, 0x02, 0x01, 0xfc, 0xfa, 0x01, 0x04, 0x02, + 0xfe, 0x00, 0xfe, 0xfc, 0xfe, 0xfe, 0xfe, 0xff, 0xfb, 0xfd, 0x00, 0x02, 0x03, 0x03, 0x00, 0xfb, 0x01, 0x02, 0xfd, 0xfc, 0xfc, 0xfd, + 0xfe, 0x00, 0x01, 0x03, 0x05, 0x00, 0xfe, 0x02, 0xfc, 0xff, 0x02, 0xfe, 0xfa, 0x00, 0x07, 0x01, 0xfb, 0xfb, 0x00, 0x03, 0xfd, 0xfa, + 0x02, 0xfe, 0xfe, 0x03, 0x0a, 0x00, 0xf9, 0xfc, 0x09, 0x03, 0xfb, 0x01, 0x00, 0xfc, 0xfb, 0xff, 0x03, 0x05, 0x02, 0x00, 0xfd, 0xfb, + 0xfe, 0xfc, 0xff, 0x04, 0x00, 0x04, 0x02, 0xf8, 0xfa, 0x00, 0x03, 0x01, 0xfd, 0xfc, 0x00, 0x06, 0xff, 0xfd, 0x05, 0xfc, 0xfb, 0x01, + 0x02, 0xfb, 0xfb, 0x03, 0x02, 0xff, 0xff, 0x02, 0xfd, 0xff, 0x03, 0x00, 0xfb, 0xfc, 0x03, 0x06, 0x05, 0x00, 0xfd, 0xfc, 0xfd, 0xff, + 0x00, 0x00, 0x01, 0x03, 0xff, 0xfc, 0xfc, 0xfd, 0xfb, 0xfe, 0x03, 0x01, 0x00, 0xfd, 0xfa, 0x04, 0xff, 0xf8, 0xff, 0x06, 0x02, 0xfb, + 0x05, 0x03, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x00, 0x00, 0xfd, 0xff, 0x04, 0x05, 0x00, 0xfb, 0xf9, 0xfc, 0x00, 0x04, 0x03, 0x00, + 0x04, 0x05, 0x02, 0xfe, 0xfd, 0xfa, 0xf9, 0x01, 0x01, 0xfe, 0xfd, 0x05, 0x05, 0x00, 0xfc, 0xfe, 0xff, 0xfd, 0xfa, 0xff, 0x01, 0xff, + 0x06, 0x08, 0x03, 0xfe, 0x04, 0x00, 0xf9, 0x05, 0x02, 0xfa, 0xf9, 0x03, 0x09, 0x06, 0x00, 0xfc, 0xfb, 0xfc, 0xfc, 0xff, 0x03, 0x04, + 0x02, 0x05, 0x04, 0xf6, 0xf8, 0xfa, 0xf8, 0xfc, 0x03, 0x05, 0x01, 0xfe, 0x00, 0x04, 0x08, 0xfd, 0xf8, 0xfe, 0xfc, 0xfa, 0xfb, 0x02, + 0xfc, 0xff, 0x07, 0x05, 0xfc, 0xf7, 0xfa, 0xff, 0xff, 0xff, 0x04, 0x04, 0xfd, 0xf8, 0xff, 0x02, 0xff, 0xfb, 0x02, 0xfe, 0xf9, 0x00, + 0x00, 0x02, 0x04, 0x00, 0x00, 0x02, 0x01, 0xfd, 0xff, 0x02, 0xfc, 0x02, 0x06, 0x01, 0xfc, 0x02, 0x05, 0xfd, 0x02, 0x02, 0xfe, 0xfb, + 0x01, 0x02, 0xfd, 0xfc, 0xff, 0x01, 0x00, 0xfa, 0x03, 0x0d, 0xfb, 0xfb, 0x01, 0x02, 0x00, 0x02, 0x04, 0x02, 0x04, 0x02, 0xfd, 0xff, + 0xff, 0xfd, 0xfc, 0xfe, 0x00, 0x01, 0x00, 0xfe, 0x00, 0x02, 0xff, 0xfd, 0xfc, 0xfd, 0xfb, 0xfc, 0xff, 0xff, 0x02, 0x03, 0x01, 0x01, + 0x02, 0xff, 0xf8, 0xfe, 0xfd, 0xfb, 0x01, 0x06, 0x02, 0xf8, 0xfc, 0xfa, 0xf9, 0xfd, 0xfb, 0x02, 0x08, 0x00, 0xfb, 0xfe, 0x03, 0xfe, + 0xfb, 0xfd, 0x02, 0x02, 0xfe, 0xfb, 0x02, 0x03, 0x02, 0x03, 0x03, 0x00, 0xfe, 0xfc, 0x00, 0xfe, 0xfb, 0xff, 0x06, 0x06, 0xff, 0xfb, + 0x02, 0x09, 0x02, 0x03, 0x01, 0xfd, 0x02, 0x02, 0xff, 0x00, 0x03, 0x01, 0xfe, 0x00, 0x00, 0x00, 0x00, 0xfd, 0xf8, 0xfa, 0x06, 0x03, + 0x02, 0x04, 0x00, 0xff, 0xfe, 0xfc, 0xfc, 0xfd, 0x00, 0x03, 0xfe, 0xfd, 0x04, 0x08, 0x02, 0xfa, 0xfa, 0xfe, 0xfe, 0xfc, 0xfd, 0x01, + 0x02, 0xff, 0xfd, 0xfb, 0xfe, 0x05, 0xfa, 0xf6, 0xfc, 0x01, 0x01, 0x00, 0x01, 0x02, 0xfd, 0xfa, 0xfe, 0xff, 0xfc, 0xfb, 0xff, 0x00, + 0x02, 0x04, 0xf9, 0x00, 0x09, 0x04, 0x01, 0xfd, 0xfa, 0xfc, 0x01, 0x02, 0x00, 0x00, 0x05, 0x08, 0x03, 0xfb, 0xff, 0x06, 0xfd, 0xff, + 0x03, 0x02, 0x01, 0x00, 0xff, 0x02, 0x01, 0xfe, 0xfe, 0x00, 0xff, 0x01, 0x07, 0xfb, 0xfe, 0x07, 0x02, 0xfc, 0xfe, 0x02, 0xfd, 0xfd, + 0xff, 0xfe, 0x06, 0x01, 0xfa, 0x01, 0x00, 0xfd, 0xfc, 0xf9, 0xfc, 0xff, 0xfd, 0xfd, 0xff, 0x01, 0xfe, 0x03, 0x04, 0xff, 0xfe, 0x01, + 0x01, 0xfc, 0xfe, 0xfe, 0xfd, 0xfe, 0x03, 0x00, 0xf9, 0x01, 0x00, 0xfd, 0x00, 0xff, 0xfc, 0xfb, 0xff, 0x03, 0x04, 0x01, 0xfc, 0xff, + 0x01, 0xfc, 0x00, 0x03, 0x02, 0x00, 0x00, 0x04, 0x07, 0x00, 0xfd, 0xff, 0x00, 0x02, 0x01, 0xfe, 0xff, 0x01, 0x04, 0x05, 0x00, 0xfc, + 0xfc, 0xff, 0x01, 0x02, 0x01, 0xfb, 0xfd, 0x02, 0x04, 0x03, 0xfc, 0xf9, 0x02, 0x02, 0xfd, 0xfc, 0x00, 0xff, 0xfe, 0x03, 0x01, 0xfd, + 0xfb, 0xfd, 0xff, 0x00, 0x00, 0xfd, 0x00, 0x02, 0xfe, 0xfe, 0x00, 0x01, 0x02, 0xfc, 0xfe, 0x05, 0x02, 0xfa, 0xf9, 0x04, 0x00, 0xfa, + 0xfa, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xfd, 0xfb, 0xff, 0x00, 0x03, 0x05, 0x03, 0x06, 0x02, 0xfc, 0xfd, 0xff, 0xff, + 0xfd, 0xff, 0xfe, 0xfd, 0x00, 0x05, 0x02, 0xfb, 0xfa, 0x01, 0x03, 0xfc, 0xfe, 0x02, 0x03, 0x03, 0x01, 0x02, 0x02, 0xfb, 0xfe, 0x04, + 0x04, 0xfa, 0xfd, 0x06, 0x06, 0x04, 0xff, 0xfb, 0xfa, 0xfd, 0xfe, 0xfc, 0xfd, 0x02, 0x05, 0xfc, 0xfc, 0xfe, 0xfe, 0x01, 0xff, 0xfc, + 0xfd, 0x00, 0x02, 0x03, 0x04, 0xff, 0xfd, 0xfd, 0xfd, 0xfd, 0xff, 0x01, 0x02, 0xfd, 0xfa, 0x00, 0x02, 0x00, 0xfb, 0xfc, 0xfe, 0xff, + 0xff, 0x01, 0x00, 0xfd, 0x02, 0x05, 0x03, 0xfe, 0xfe, 0x00, 0x00, 0xfe, 0x02, 0x02, 0xfe, 0x00, 0x01, 0x00, 0xff, 0x01, 0x07, 0x06, + 0xf7, 0xfe, 0x07, 0x04, 0xf8, 0xfd, 0x03, 0xff, 0x00, 0x00, 0xff, 0x03, 0x00, 0xfe, 0xff, 0x01, 0xfd, 0xfc, 0x00, 0x05, 0x01, 0xfa, + 0xfe, 0x00, 0x00, 0x01, 0x02, 0xff, 0xfd, 0xff, 0x00, 0xff, 0xfe, 0x01, 0x01, 0xfe, 0xfb, 0xfe, 0xff, 0xfe, 0xfd, 0xfc, 0xfc, 0xfd, + 0xfd, 0x00, 0x01, 0xfc, 0x01, 0xfe, 0xfa, 0xfe, 0x03, 0x02, 0xfd, 0x01, 0x00, 0xfd, 0xfc, 0xfe, 0xfe, 0xff, 0x02, 0x00, 0xfe, 0x01, + 0x00, 0x02, 0x02, 0xfe, 0xf6, 0xfc, 0x05, 0xfd, 0x00, 0x04, 0x02, 0xfc, 0xff, 0x04, 0x03, 0x00, 0x01, 0x05, 0x08, 0x05, 0x00, 0x00, + 0x02, 0x01, 0xfe, 0xfd, 0x01, 0x01, 0xfe, 0x05, 0x00, 0xfb, 0xfc, 0xff, 0x01, 0x01, 0xfb, 0x01, 0x04, 0xff, 0xfa, 0xfe, 0x04, 0x04, + 0xfe, 0xfd, 0xff, 0xf9, 0xfc, 0x02, 0x05, 0x04, 0x00, 0xfb, 0xf7, 0xfa, 0xfb, 0xfc, 0x02, 0x04, 0x02, 0xff, 0xfe, 0xff, 0xff, 0xfb, + 0x01, 0x05, 0x01, 0xfc, 0x00, 0x02, 0xff, 0xff, 0x00, 0xfe, 0xf9, 0xfd, 0xfc, 0xf9, 0xff, 0xfe, 0xfe, 0x03, 0x05, 0x03, 0xfd, 0xf8, + 0xfd, 0xff, 0xfc, 0xff, 0x02, 0x01, 0xfe, 0x06, 0x07, 0x02, 0xfd, 0xff, 0x02, 0x02, 0xfe, 0x01, 0x03, 0xff, 0xff, 0x01, 0x00, 0xfc, + 0xff, 0x02, 0x03, 0x00, 0x02, 0x04, 0x04, 0x04, 0x05, 0x03, 0xfa, 0xf7, 0xfb, 0x00, 0x04, 0x02, 0xff, 0x00, 0x01, 0x00, 0xff, 0xff, + 0xfc, 0xfb, 0xfd, 0xfe, 0xff, 0x00, 0x01, 0xff, 0xfe, 0xfe, 0xff, 0x03, 0x03, 0xfe, 0xfe, 0xff, 0x00, 0x00, 0xfd, 0xfd, 0x00, 0x03, + 0xfe, 0xfa, 0xfc, 0x04, 0x01, 0xfa, 0xfe, 0x04, 0x00, 0xf8, 0x03, 0x04, 0xfe, 0xfa, 0xfe, 0x01, 0x00, 0xfb, 0xfa, 0xfd, 0x00, 0x00, + 0x01, 0x02, 0x00, 0x01, 0x02, 0x00, 0xfd, 0xfe, 0x03, 0x04, 0xfd, 0xfc, 0x00, 0x02, 0x01, 0x00, 0x02, 0x06, 0x05, 0xff, 0xfc, 0xfe, + 0x02, 0x02, 0xfe, 0xff, 0x03, 0x03, 0x00, 0xfc, 0xfd, 0x03, 0x01, 0xfe, 0xfe, 0xfd, 0x03, 0x06, 0x03, 0xfe, 0xfc, 0xfc, 0xfc, 0xff, + 0x01, 0x01, 0x01, 0xff, 0xff, 0x03, 0x02, 0xff, 0xff, 0xff, 0x00, 0xfc, 0xf9, 0xff, 0xff, 0xfd, 0xfc, 0x01, 0x01, 0x00, 0xff, 0xff, + 0xff, 0xfe, 0xfd, 0x02, 0x04, 0x00, 0xff, 0x01, 0x00, 0xfa, 0xfa, 0xfe, 0x02, 0x03, 0x00, 0xfe, 0xff, 0xff, 0xfe, 0xff, 0x05, 0x00, + 0xfc, 0xfc, 0x00, 0xfc, 0xfb, 0x02, 0x07, 0x05, 0x00, 0x01, 0x01, 0xfe, 0xfa, 0xff, 0x01, 0x00, 0x01, 0xfd, 0xff, 0x04, 0xff, 0xfe, + 0xfc, 0xf8, 0x04, 0x03, 0xfb, 0xfe, 0x02, 0x05, 0x05, 0x02, 0x01, 0x02, 0x01, 0xfc, 0xfd, 0xff, 0xfe, 0x00, 0x02, 0x03, 0x05, 0x01, + 0xfb, 0xfa, 0xff, 0xff, 0xfd, 0x00, 0x00, 0xff, 0xfd, 0xfd, 0xfd, 0x00, 0x02, 0x05, 0x00, 0xfb, 0xfd, 0x01, 0x01, 0xff, 0xff, 0x01, + 0x02, 0x01, 0xfc, 0xfb, 0xfc, 0xfd, 0xfd, 0x00, 0x03, 0xff, 0xfe, 0x00, 0x01, 0x00, 0x00, 0x01, 0xfe, 0xfe, 0xff, 0x01, 0x01, 0xff, + 0x00, 0x03, 0x04, 0x02, 0x00, 0xfe, 0xfe, 0xfe, 0xfd, 0xfe, 0xfc, 0xfe, 0x05, 0x03, 0xfe, 0xfc, 0xfe, 0xfd, 0xfe, 0x01, 0x05, 0x03, + 0x00, 0x01, 0xff, 0xff, 0x01, 0xfc, 0xfe, 0x01, 0xff, 0xff, 0x00, 0x02, 0x02, 0x02, 0x01, 0x00, 0xff, 0xfe, 0xfe, 0xfb, 0xfa, 0xfc, + 0x01, 0x04, 0x05, 0x02, 0xfc, 0xfc, 0xff, 0xff, 0xfc, 0x00, 0x00, 0xfc, 0xfa, 0x02, 0x06, 0xff, 0xfc, 0xfd, 0x00, 0xfe, 0xfe, 0xfc, + 0xfb, 0xfe, 0x04, 0x04, 0xfe, 0xfc, 0xff, 0x03, 0x02, 0x00, 0x00, 0x02, 0xfe, 0x01, 0x03, 0xfd, 0xff, 0x02, 0x02, 0xff, 0x01, 0x02, + 0x00, 0xfe, 0xff, 0x00, 0xfe, 0xff, 0xff, 0xfe, 0x01, 0x06, 0x06, 0x00, 0xfe, 0xfd, 0xfc, 0xfe, 0xff, 0x01, 0x01, 0xff, 0xff, 0x01, + 0x00, 0xfd, 0xfc, 0xfe, 0xff, 0xfe, 0xfd, 0xff, 0x04, 0x05, 0x03, 0x00, 0x00, 0xfe, 0xfc, 0xfe, 0xff, 0x00, 0x01, 0x04, 0x05, 0x00, + 0xf9, 0xfc, 0xfd, 0xf9, 0xf9, 0xfd, 0x01, 0x02, 0x01, 0x02, 0x03, 0xff, 0x02, 0xfd, 0xf5, 0xf8, 0x00, 0x02, 0x00, 0x01, 0x04, 0x05, + 0xff, 0xfb, 0xfd, 0xff, 0xfe, 0xfc, 0xfb, 0xfc, 0x02, 0x01, 0x00, 0x06, 0x00, 0xfb, 0xfb, 0xfd, 0x01, 0x03, 0x05, 0x06, 0x06, 0x04, + 0xff, 0x00, 0xfe, 0xfa, 0xff, 0x01, 0xff, 0xfc, 0x00, 0x04, 0x05, 0x05, 0x01, 0xfc, 0xfa, 0xfb, 0xfe, 0x00, 0xff, 0x02, 0x02, 0x00, + 0x04, 0x03, 0x00, 0xfd, 0x01, 0x01, 0xff, 0xff, 0x05, 0x04, 0xff, 0xfe, 0xfb, 0xf9, 0xfc, 0xfd, 0xfe, 0x00, 0x04, 0x02, 0x01, 0x01, + 0xfe, 0xfd, 0xfd, 0xff, 0xfd, 0xff, 0x01, 0xfc, 0x01, 0x02, 0xff, 0xfd, 0xff, 0x02, 0x01, 0xfb, 0xfd, 0x02, 0xff, 0xfc, 0xfc, 0x00, + 0x00, 0xfd, 0xfb, 0xfe, 0xff, 0xff, 0x00, 0x01, 0x03, 0x02, 0x00, 0xff, 0xfe, 0xff, 0xff, 0x03, 0x01, 0xfd, 0x00, 0x03, 0x02, 0xfe, + 0xfe, 0x01, 0x03, 0x00, 0xfe, 0x03, 0x08, 0xfe, 0xfc, 0xff, 0xfe, 0x00, 0x02, 0x01, 0xff, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0xff, + 0x01, 0x01, 0x00, 0xfc, 0xfd, 0xfd, 0xfd, 0x02, 0x04, 0x01, 0xff, 0xfc, 0xfd, 0x01, 0x00, 0xff, 0xff, 0x01, 0x02, 0xff, 0xfd, 0xfd, + 0xfb, 0xfe, 0x02, 0x01, 0xfc, 0xfa, 0xff, 0x02, 0x03, 0x00, 0xfc, 0xfc, 0xfe, 0xff, 0x02, 0x00, 0xff, 0x01, 0x01, 0x00, 0xff, 0x00, + 0x01, 0x00, 0xfe, 0xfe, 0xfd, 0xfe, 0x02, 0x03, 0xff, 0xfc, 0xff, 0xfe, 0xff, 0x01, 0x01, 0x00, 0xfe, 0xfd, 0xfc, 0xfe, 0x04, 0x08, + 0x03, 0xff, 0x01, 0xff, 0xfe, 0xfe, 0xfe, 0x00, 0x02, 0x01, 0x02, 0xfe, 0xfe, 0x01, 0xff, 0xfc, 0xfd, 0xfe, 0x03, 0x03, 0x00, 0x02, + 0xfe, 0xfc, 0x01, 0x05, 0x03, 0xfd, 0xfa, 0xfc, 0xff, 0x01, 0x04, 0x05, 0x02, 0xfe, 0xfd, 0xfc, 0xf9, 0xf6, 0xfc, 0x00, 0xff, 0x01, + 0xff, 0xfe, 0x00, 0xff, 0x01, 0x03, 0x01, 0xff, 0x00, 0x02, 0x00, 0xfb, 0xfa, 0x00, 0x04, 0x06, 0x04, 0xfe, 0xfc, 0xfb, 0xfa, 0xfe, + 0x02, 0x03, 0x03, 0x02, 0xff, 0xfc, 0xfa, 0xfe, 0x02, 0x01, 0x02, 0x02, 0x02, 0x02, 0x03, 0x01, 0xff, 0x02, 0xff, 0xfb, 0xf9, 0xfc, + 0x00, 0x01, 0xfd, 0xff, 0x04, 0x05, 0x02, 0xfd, 0xfc, 0xff, 0xff, 0xff, 0x00, 0x04, 0x05, 0x01, 0xfc, 0xfd, 0x02, 0x03, 0xfd, 0x00, + 0x00, 0xfd, 0xfe, 0x00, 0xff, 0xfd, 0x00, 0x01, 0xff, 0xfa, 0xf9, 0xfb, 0xfc, 0xfc, 0x01, 0x03, 0x00, 0x01, 0x04, 0x05, 0x02, 0xfd, + 0xfc, 0xfe, 0x03, 0x01, 0xfe, 0xfe, 0x02, 0x00, 0xfc, 0xfd, 0x02, 0x03, 0xff, 0x01, 0x00, 0xfe, 0xfd, 0x04, 0x03, 0xfe, 0x00, 0x03, + 0x02, 0xff, 0x00, 0x01, 0x00, 0x00, 0x03, 0x06, 0x03, 0xfd, 0xfa, 0xfd, 0x01, 0xfe, 0xfe, 0xff, 0xfd, 0xfe, 0xfc, 0xfc, 0x01, 0x04, + 0x04, 0x03, 0x03, 0xfd, 0xf8, 0xfa, 0xfb, 0xff, 0x02, 0x02, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xfe, 0x04, + 0x04, 0xfd, 0xf9, 0xfe, 0x03, 0x00, 0xfe, 0xff, 0x02, 0xfd, 0xfc, 0x02, 0x08, 0x02, 0xfe, 0xfd, 0xf9, 0xf8, 0xfb, 0xfe, 0x03, 0x07, + 0x06, 0xff, 0x01, 0x00, 0xff, 0x01, 0x00, 0xfc, 0xfc, 0x00, 0x08, 0x09, 0x00, 0x00, 0x01, 0x00, 0xfb, 0x00, 0x02, 0xfc, 0xff, 0x01, + 0x03, 0x08, 0x08, 0x01, 0xfa, 0xfc, 0xfd, 0xfb, 0xf9, 0x01, 0x05, 0x04, 0x04, 0x03, 0x00, 0xfd, 0xfd, 0xfd, 0xfe, 0x00, 0xfd, 0xfd, + 0xff, 0xfd, 0xff, 0x00, 0xfd, 0xfa, 0xfd, 0x00, 0xfe, 0xff, 0xfe, 0xfe, 0x04, 0x04, 0x01, 0xfe, 0xfc, 0xfb, 0xfd, 0x01, 0xfe, 0x00, + 0x03, 0x00, 0xff, 0xfe, 0xfa, 0xfd, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xfa, 0xfe, 0x02, 0x01, 0x01, 0x03, 0x03, 0x02, 0x02, 0x00, + 0xfd, 0x00, 0x02, 0x02, 0x03, 0x02, 0x00, 0xfe, 0xfe, 0xff, 0x00, 0x01, 0x06, 0x04, 0xfc, 0xf8, 0xff, 0x03, 0x02, 0x02, 0x04, 0x01, + 0xfc, 0xfe, 0x01, 0x03, 0x06, 0x00, 0x00, 0x05, 0x02, 0xff, 0xff, 0x01, 0xfe, 0xfb, 0xfb, 0x00, 0x01, 0xfe, 0xfc, 0x01, 0x01, 0xfc, + 0xfa, 0xfd, 0x00, 0x01, 0x01, 0xfe, 0xfc, 0xfc, 0x01, 0x02, 0x01, 0xff, 0xfd, 0xfc, 0xfd, 0xfe, 0xfe, 0xff, 0xff, 0xf8, 0xfd, 0x04, + 0x00, 0xff, 0xff, 0xfe, 0xfd, 0xfc, 0xfe, 0x01, 0xfe, 0xff, 0x03, 0x03, 0x01, 0xff, 0x00, 0x03, 0x01, 0xfe, 0xfe, 0x00, 0x01, 0x01, + 0x01, 0xfe, 0xfe, 0x01, 0x04, 0x02, 0x00, 0x00, 0xfe, 0xfe, 0xff, 0x01, 0xff, 0x03, 0x08, 0xfe, 0xfe, 0x03, 0x04, 0xff, 0xfc, 0xfe, + 0x04, 0x02, 0xff, 0x01, 0x04, 0x00, 0xfd, 0xfe, 0xfe, 0xfe, 0xfd, 0xfc, 0xff, 0x02, 0x02, 0x04, 0x01, 0xfd, 0xfb, 0x00, 0xff, 0xfa, + 0xfe, 0x00, 0x01, 0x03, 0x00, 0x00, 0xfe, 0xf7, 0xfa, 0xfc, 0xfc, 0x00, 0x01, 0x00, 0x01, 0x03, 0xff, 0xfc, 0x02, 0x02, 0xfe, 0xfb, + 0xff, 0xff, 0x01, 0x04, 0xff, 0xfd, 0xff, 0xff, 0xfe, 0xfc, 0xfb, 0x02, 0x02, 0xff, 0xff, 0x00, 0x01, 0x01, 0x01, 0x01, 0xff, 0xfe, + 0x02, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x07, 0x01, 0xfa, 0xf9, 0xf9, 0xfd, 0x00, 0x01, 0x04, 0x03, 0xff, 0xfd, 0x01, 0x01, 0xfd, + 0x02, 0x03, 0x02, 0x02, 0x01, 0xfe, 0xfe, 0x01, 0x02, 0x00, 0xfe, 0x03, 0x02, 0xff, 0x00, 0xfd, 0xfb, 0xfe, 0x00, 0xfd, 0xfb, 0xfd, + 0xfd, 0x00, 0x02, 0xfe, 0x01, 0x01, 0xfd, 0xff, 0xff, 0xfe, 0xfd, 0x03, 0x00, 0xfa, 0x00, 0x01, 0xfe, 0xfd, 0xff, 0xfd, 0xfc, 0xfe, + 0x00, 0x01, 0x01, 0xfe, 0xfc, 0xfd, 0x01, 0x02, 0x05, 0x04, 0x00, 0xfd, 0x00, 0x03, 0x02, 0x00, 0x01, 0x05, 0x04, 0xff, 0xfc, 0xfe, + 0xfc, 0xfe, 0x02, 0x02, 0xfe, 0xfc, 0xfd, 0xff, 0x00, 0x00, 0xff, 0x02, 0x02, 0x00, 0x02, 0x05, 0x04, 0xfe, 0xfd, 0xff, 0x00, 0x00, + 0xfe, 0xfe, 0x01, 0x06, 0x02, 0xfc, 0xfc, 0xff, 0xfd, 0xfb, 0x01, 0x01, 0x01, 0x04, 0xfc, 0xfe, 0x00, 0xf9, 0xfd, 0x01, 0xff, 0xfc, + 0x01, 0x03, 0xff, 0xfd, 0x01, 0x03, 0xfb, 0xfb, 0xfe, 0x00, 0xfc, 0xfd, 0x00, 0x01, 0x00, 0x01, 0x01, 0xf8, 0xfd, 0x03, 0x04, 0x01, + 0x00, 0xff, 0xfe, 0x02, 0x03, 0x01, 0xfd, 0x02, 0x02, 0xfc, 0x00, 0xff, 0xff, 0x03, 0x05, 0x00, 0xfc, 0xfe, 0x01, 0x01, 0xff, 0x02, + 0x00, 0xfe, 0x01, 0xff, 0x01, 0x05, 0x01, 0xfe, 0xfe, 0x00, 0xff, 0xfe, 0xfe, 0xfd, 0xfe, 0xff, 0x00, 0xff, 0xfd, 0xfd, 0x00, 0x01, + 0x01, 0x01, 0x02, 0x01, 0x00, 0x02, 0x00, 0x00, 0xfe, 0xfb, 0xfc, 0x00, 0x02, 0xff, 0xfd, 0xff, 0x01, 0xfc, 0xfa, 0xfd, 0x03, 0x02, + 0x00, 0xff, 0x00, 0xfd, 0xfc, 0xfe, 0xfe, 0x02, 0x04, 0x02, 0x00, 0x02, 0x03, 0xfc, 0xfc, 0xff, 0x01, 0xfe, 0xfc, 0xfc, 0xfb, 0xff, + 0x02, 0x02, 0x00, 0x03, 0x02, 0xfc, 0xff, 0x01, 0x01, 0xfe, 0x02, 0x04, 0x03, 0x00, 0x00, 0xff, 0xfc, 0x00, 0x00, 0xff, 0x05, 0x05, + 0x02, 0xff, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xff, 0x01, 0x03, 0xfd, 0xfb, 0x01, 0x03, 0x04, 0x05, 0x04, 0xfe, 0xfc, 0xff, 0xfd, 0xfe, + 0x01, 0x01, 0xfc, 0xfc, 0xfe, 0xfb, 0xff, 0x00, 0xfd, 0xff, 0x01, 0x01, 0xff, 0xfd, 0xfd, 0x00, 0x04, 0x06, 0x02, 0xfd, 0xfd, 0xff, + 0x01, 0x02, 0xfe, 0x00, 0x03, 0xff, 0xfc, 0xfc, 0xfd, 0xfd, 0xfa, 0xf9, 0xfd, 0xfd, 0x01, 0x03, 0xfe, 0x01, 0x04, 0x02, 0x00, 0xff, + 0x00, 0x01, 0x01, 0xff, 0xfe, 0xff, 0x03, 0x04, 0x02, 0x00, 0xff, 0xfd, 0xfa, 0xfd, 0x02, 0x04, 0xff, 0x02, 0x03, 0xfe, 0x00, 0xfb, + 0xf7, 0xfc, 0x03, 0x04, 0x01, 0x04, 0x04, 0x01, 0xfd, 0x01, 0x01, 0xff, 0xfe, 0xfc, 0xfa, 0xfb, 0x01, 0x03, 0x05, 0x07, 0x00, 0xfb, + 0xfb, 0xfb, 0xfd, 0xff, 0x03, 0x01, 0x06, 0x07, 0xfd, 0xf8, 0xfa, 0xfd, 0x00, 0x00, 0x00, 0x01, 0xfe, 0xfd, 0x00, 0x05, 0x01, 0xfc, + 0xfc, 0xfe, 0xff, 0xfe, 0xff, 0x00, 0x00, 0x01, 0x05, 0x02, 0xfe, 0xfd, 0xfd, 0xff, 0xfe, 0xfb, 0xff, 0x04, 0x06, 0x02, 0x02, 0xfd, + 0xf5, 0xf7, 0xff, 0x05, 0x06, 0x01, 0xfd, 0xfd, 0x01, 0xfd, 0xfd, 0x02, 0x00, 0xff, 0xff, 0xfd, 0xff, 0xfe, 0xfb, 0xff, 0x02, 0x04, + 0x03, 0xfa, 0xfa, 0xfe, 0x00, 0x00, 0x01, 0x03, 0x02, 0x02, 0xff, 0xfc, 0xfc, 0x01, 0x04, 0x02, 0x01, 0x00, 0x00, 0x01, 0xff, 0xfd, + 0xfe, 0xfd, 0x00, 0x03, 0x00, 0x01, 0xff, 0xfb, 0xfc, 0xff, 0x01, 0xff, 0x00, 0x00, 0x00, 0x02, 0x03, 0x02, 0x00, 0x02, 0x01, 0xfe, + 0xfd, 0xff, 0x02, 0x04, 0x03, 0x04, 0x03, 0xfe, 0xfb, 0xf9, 0xf9, 0xfc, 0x01, 0x03, 0x02, 0x03, 0x00, 0xfd, 0xfd, 0xfa, 0xfe, 0x03, + 0x04, 0x01, 0xff, 0xff, 0xfd, 0x00, 0x02, 0x01, 0x00, 0xfe, 0xfc, 0xfa, 0xfa, 0xfc, 0xfe, 0x02, 0x04, 0x02, 0xfc, 0xfd, 0xfa, 0xf8, + 0xfe, 0x03, 0x04, 0x03, 0x01, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0x00, 0xfd, 0x03, 0x04, 0xfe, 0xfc, 0x01, 0x03, 0xff, 0x01, 0x00, 0xfd, + 0xfd, 0xfd, 0xfc, 0xfc, 0xfe, 0x03, 0x06, 0x05, 0x04, 0x00, 0xfc, 0xfa, 0xfe, 0x01, 0x00, 0x01, 0x02, 0x02, 0x03, 0xff, 0xfd, 0xff, + 0xfd, 0xfe, 0x03, 0x04, 0xfd, 0xfb, 0xff, 0xff, 0x03, 0x02, 0xfe, 0x01, 0xff, 0xfe, 0x01, 0x00, 0x02, 0x04, 0x00, 0xff, 0x00, 0x00, + 0xfe, 0xfd, 0xfd, 0xfe, 0x03, 0x01, 0xfb, 0xfb, 0xfb, 0xfe, 0x03, 0x00, 0x01, 0x02, 0xfe, 0xfa, 0xfc, 0x01, 0xfd, 0xfe, 0x01, 0x02, + 0x00, 0x00, 0x00, 0xfc, 0xfc, 0xfd, 0xff, 0x02, 0x01, 0xff, 0x02, 0xfe, 0xff, 0x01, 0xff, 0xfb, 0xfd, 0x02, 0x02, 0xfe, 0xfd, 0x01, + 0x02, 0x01, 0x00, 0x02, 0x01, 0xff, 0xfd, 0xfc, 0x01, 0x03, 0x00, 0xfd, 0xfd, 0x00, 0x01, 0x00, 0xff, 0xff, 0x02, 0x00, 0xfd, 0xfe, + 0x01, 0x01, 0xff, 0x01, 0x00, 0xfe, 0xff, 0xfe, 0x00, 0x01, 0xff, 0x02, 0x03, 0x02, 0x01, 0xff, 0xff, 0x00, 0xfa, 0xfc, 0x02, 0x03, + 0x00, 0x02, 0x05, 0x00, 0xfc, 0xfe, 0x05, 0x03, 0x00, 0xfe, 0xfe, 0xfd, 0xfc, 0xfd, 0xff, 0xfd, 0xfb, 0xfe, 0x00, 0x01, 0x00, 0xfe, + 0xfd, 0xfe, 0x00, 0x00, 0xfe, 0xfd, 0xff, 0x01, 0x02, 0x01, 0xfe, 0xfd, 0xfe, 0xfe, 0xfd, 0xff, 0xff, 0xfc, 0x02, 0x03, 0xff, 0xfe, + 0xfd, 0xfc, 0xfd, 0x00, 0x01, 0x01, 0x01, 0x02, 0x03, 0x03, 0x02, 0x01, 0xff, 0xfe, 0x03, 0x01, 0xfc, 0xfb, 0xfe, 0x01, 0x02, 0xff, + 0xfd, 0xfc, 0xfe, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x06, 0x00, 0xfa, 0x01, 0x02, 0x01, 0xff, 0x03, 0xff, 0xff, 0x04, 0x07, + 0x01, 0xfc, 0xfc, 0xff, 0xfe, 0xfa, 0xfb, 0xff, 0x03, 0x04, 0x01, 0xfe, 0xfe, 0xfe, 0xfb, 0xfb, 0xff, 0x02, 0x03, 0x03, 0x02, 0x01, + 0x00, 0xfe, 0xfa, 0xfc, 0xfe, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xfa, 0xfc, 0xfe, 0xfc, 0xfa, 0xfd, 0x02, 0x04, 0x05, + 0x01, 0xfd, 0xfe, 0x00, 0x00, 0xfc, 0x00, 0x01, 0x00, 0xfe, 0x00, 0x02, 0x01, 0xfd, 0xfc, 0xff, 0x02, 0x02, 0xff, 0xff, 0x03, 0x03, + 0x01, 0x00, 0xff, 0x00, 0x01, 0x00, 0xfe, 0xfe, 0xff, 0xff, 0x02, 0x03, 0x02, 0x00, 0xff, 0xfd, 0xfe, 0x03, 0x07, 0x05, 0xfd, 0xfc, + 0x01, 0x04, 0xfe, 0xfd, 0xff, 0x01, 0x00, 0x01, 0x02, 0xff, 0xfc, 0xfc, 0x00, 0x03, 0x04, 0x01, 0xfd, 0xfc, 0x00, 0x02, 0xf9, 0xfd, + 0x03, 0x02, 0xff, 0xfd, 0xfe, 0xff, 0x01, 0x00, 0xff, 0xfe, 0xfd, 0xfb, 0xfa, 0xfd, 0xff, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0xff, + 0xfc, 0xfb, 0xfd, 0x02, 0x04, 0xff, 0xff, 0x00, 0xff, 0xfc, 0xfe, 0x02, 0x02, 0x00, 0xfe, 0xfd, 0xff, 0x02, 0x02, 0x00, 0xff, 0xff, + 0xff, 0xfe, 0xfc, 0xfd, 0xff, 0x03, 0x04, 0x05, 0x06, 0x02, 0x00, 0xff, 0xfc, 0xff, 0x02, 0x01, 0x01, 0x00, 0x01, 0x01, 0x03, 0xfd, + 0xf9, 0xff, 0x03, 0x01, 0xfc, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x02, 0xff, 0xfc, 0xfe, 0x00, 0x02, 0x03, 0x03, 0x01, 0x00, + 0xff, 0xfe, 0xff, 0xff, 0xfd, 0xfb, 0xfd, 0x00, 0x00, 0xff, 0xfd, 0xff, 0x02, 0x01, 0xff, 0xfe, 0xfd, 0xfe, 0xfe, 0xfc, 0xfd, 0x02, + 0x07, 0x01, 0xfc, 0xfd, 0x01, 0x00, 0x00, 0x02, 0x04, 0x03, 0xff, 0xfb, 0xfd, 0xfe, 0xfe, 0xfc, 0xfe, 0xff, 0xff, 0x00, 0xff, 0xff, + 0xff, 0x01, 0x04, 0x05, 0x02, 0x01, 0xfd, 0xfb, 0xfd, 0x01, 0x03, 0x02, 0x04, 0x05, 0x02, 0xfd, 0xfb, 0xfe, 0x01, 0x01, 0xfe, 0xfd, + 0xfd, 0xfe, 0x01, 0x02, 0x00, 0xfd, 0xfe, 0x01, 0x00, 0xfe, 0xff, 0x01, 0xfe, 0xfc, 0xff, 0x05, 0xff, 0xfc, 0xfd, 0xfd, 0xfc, 0xfd, + 0x01, 0x00, 0x01, 0x03, 0x02, 0xfe, 0xfb, 0xfb, 0x01, 0x01, 0x01, 0x04, 0xfe, 0xfe, 0x00, 0x00, 0xfd, 0xfe, 0x01, 0x06, 0x02, 0xfe, + 0x03, 0x00, 0xfd, 0xfd, 0xff, 0x02, 0x03, 0x01, 0xfc, 0xfc, 0x00, 0x04, 0x00, 0xfd, 0xff, 0x03, 0x00, 0xfe, 0x01, 0xff, 0xff, 0x01, + 0x03, 0x00, 0xfe, 0x00, 0xfe, 0xff, 0x02, 0x03, 0xff, 0x00, 0x01, 0xff, 0xfe, 0xfe, 0xff, 0x00, 0xff, 0xfd, 0xfe, 0xfe, 0xff, 0xff, + 0xff, 0xfd, 0xff, 0x01, 0x01, 0xfe, 0xfa, 0xfb, 0xff, 0x01, 0x03, 0x04, 0x02, 0xfe, 0xfb, 0xfb, 0xfc, 0xfe, 0xfe, 0x01, 0x02, 0x01, + 0x02, 0xfd, 0xfc, 0xff, 0xfc, 0xfc, 0xff, 0x02, 0x01, 0x00, 0x01, 0x02, 0x00, 0xfe, 0xff, 0x00, 0x01, 0x01, 0x01, 0xfe, 0xfe, 0x02, + 0x08, 0x04, 0xff, 0xff, 0xf9, 0xfa, 0xfe, 0x01, 0x01, 0x02, 0x03, 0x01, 0xfe, 0xff, 0x03, 0xfe, 0xfe, 0x00, 0xff, 0xff, 0x01, 0x02, + 0x00, 0xfe, 0x00, 0x02, 0x02, 0xfe, 0xfb, 0xff, 0x01, 0x00, 0xff, 0xfe, 0x02, 0x05, 0xff, 0xfc, 0xfc, 0xfd, 0xfd, 0x00, 0x01, 0x01, + 0x01, 0x01, 0x00, 0xfe, 0xff, 0xff, 0xfe, 0xfe, 0x00, 0x00, 0xfe, 0x00, 0xff, 0xfd, 0x01, 0x02, 0x00, 0xfd, 0x00, 0x00, 0xfd, 0xfb, + 0xfe, 0x01, 0x00, 0xfd, 0xfe, 0xff, 0xff, 0xfe, 0xff, 0x01, 0x02, 0x00, 0x00, 0x02, 0x02, 0xfe, 0xfb, 0xff, 0x04, 0x02, 0xfe, 0xfe, + 0xfe, 0xff, 0x01, 0x00, 0xfe, 0xff, 0x01, 0x02, 0x02, 0xff, 0xfc, 0xfc, 0xff, 0x01, 0x01, 0x01, 0x01, 0x02, 0x00, 0x01, 0x03, 0x00, + 0x00, 0x02, 0x04, 0x00, 0xfd, 0xfe, 0x02, 0x03, 0x00, 0xfd, 0xfe, 0x00, 0xff, 0xfe, 0xfe, 0xfe, 0xfd, 0xfd, 0xfd, 0x00, 0x02, 0x01, + 0xfd, 0xfc, 0xff, 0x03, 0x02, 0xff, 0xfe, 0xff, 0x01, 0x02, 0xfd, 0xfe, 0x01, 0x01, 0xfe, 0xfe, 0xfe, 0xfb, 0xfe, 0xff, 0xfe, 0xff, + 0x00, 0x00, 0x01, 0x00, 0xff, 0xfe, 0xff, 0x02, 0x04, 0x02, 0xff, 0xff, 0x00, 0xff, 0xfe, 0x00, 0x03, 0x00, 0x03, 0x02, 0xfe, 0xfc, + 0x01, 0x03, 0xfe, 0xfd, 0x00, 0x01, 0xfe, 0xfd, 0x01, 0x05, 0x03, 0xff, 0xfd, 0xff, 0x02, 0x04, 0x02, 0xfd, 0xfe, 0x01, 0x00, 0xfd, + 0xfe, 0x01, 0x02, 0x00, 0xfd, 0xfc, 0xfc, 0xfe, 0xfe, 0xfe, 0xfd, 0xfe, 0x00, 0xff, 0x00, 0x02, 0x02, 0xfe, 0xfc, 0xfd, 0xff, 0xff, + 0x00, 0x01, 0x01, 0x01, 0x02, 0x01, 0xff, 0xfd, 0xfd, 0xfe, 0xff, 0x01, 0x01, 0xff, 0xfd, 0xff, 0x04, 0x02, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x01, 0x01, 0x01, 0xff, 0xfe, 0x00, 0x01, 0x00, 0xff, 0x00, 0x01, 0x01, 0x02, 0x02, 0x01, 0x01, 0x01, 0x00, 0xff, 0xff, 0xfe, + 0xfd, 0xfd, 0xff, 0x00, 0x01, 0x00, 0xff, 0xfe, 0xfe, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x01, 0x03, 0x02, 0xfe, 0xfc, + 0xfd, 0x01, 0x03, 0x02, 0x01, 0x04, 0xff, 0xfb, 0xfb, 0xfb, 0xfd, 0xff, 0x00, 0x00, 0xff, 0x00, 0x02, 0xff, 0xfc, 0xfe, 0x00, 0x00, + 0xff, 0xff, 0xfd, 0xfe, 0x01, 0x01, 0x01, 0x02, 0x01, 0xfc, 0xfd, 0xff, 0x01, 0x00, 0xff, 0xfe, 0xfe, 0xfe, 0x00, 0x01, 0xff, 0xfc, + 0xfd, 0xff, 0x04, 0x04, 0x01, 0x01, 0x02, 0x01, 0xfe, 0x00, 0x00, 0x03, 0x06, 0x02, 0xfe, 0xff, 0xff, 0x00, 0xfe, 0xfd, 0xfe, 0x00, + 0x00, 0xff, 0x00, 0x03, 0x04, 0x00, 0xfb, 0xfa, 0xfe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x03, 0x01, 0x00, 0xfe, 0xfb, 0xfb, 0xfd, 0x00, + 0x00, 0xfe, 0x01, 0x02, 0xfe, 0xfc, 0xfb, 0xfc, 0xfe, 0xfe, 0xfe, 0x00, 0x01, 0x03, 0x02, 0xff, 0xfa, 0xfa, 0xfe, 0xff, 0xfb, 0xfc, + 0x02, 0x04, 0xff, 0xfe, 0x02, 0xfd, 0xfd, 0xfe, 0xfd, 0xfb, 0xfc, 0xff, 0xff, 0x03, 0x03, 0xfe, 0xfb, 0xfd, 0x00, 0xff, 0xfe, 0x01, + 0x04, 0x05, 0x05, 0x04, 0x03, 0x01, 0xff, 0xff, 0x01, 0x01, 0x00, 0xff, 0xff, 0x00, 0x03, 0x04, 0x01, 0xfd, 0xfc, 0x01, 0xff, 0xfb, + 0xfd, 0x01, 0x04, 0x04, 0x02, 0x00, 0xfe, 0xfe, 0x01, 0x00, 0xfe, 0xfe, 0x03, 0x01, 0xff, 0x02, 0xff, 0xfd, 0xff, 0xff, 0xfe, 0xff, + 0xff, 0xfe, 0xfd, 0xfe, 0x02, 0x03, 0x00, 0xfd, 0x03, 0x03, 0xfe, 0xf9, 0xfc, 0xfe, 0xfe, 0xff, 0x01, 0x01, 0x00, 0x04, 0x00, 0xfc, + 0xfc, 0x03, 0x02, 0xfd, 0xfe, 0xfc, 0xfe, 0x02, 0xfd, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0xfd, 0xfc, 0xff, 0x01, 0x01, 0xfd, 0x00, 0x02, + 0xfb, 0xf9, 0xfc, 0x00, 0x00, 0x03, 0x03, 0x01, 0xfe, 0x01, 0x05, 0x02, 0x00, 0x00, 0x01, 0xff, 0xfc, 0xfd, 0x02, 0x01, 0x04, 0x07, + 0x04, 0xfb, 0xfa, 0xfe, 0xfd, 0xfe, 0x00, 0x03, 0x02, 0x04, 0x04, 0xff, 0xfd, 0xfa, 0xfa, 0x04, 0x06, 0x04, 0x05, 0x02, 0x00, 0x00, + 0xfe, 0xfe, 0xff, 0x00, 0xff, 0xfc, 0xfb, 0xfe, 0xfe, 0x01, 0x04, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xff, 0x00, 0x01, 0x04, 0x03, 0xff, + 0xff, 0xff, 0xfe, 0xfb, 0x00, 0x00, 0xff, 0xff, 0x01, 0xfe, 0xf9, 0xf9, 0x01, 0x04, 0xff, 0xfc, 0xff, 0x03, 0xfe, 0xfa, 0xfd, 0x04, + 0x02, 0x01, 0x01, 0x02, 0xfc, 0xfc, 0x00, 0xfe, 0xff, 0x01, 0x02, 0xfc, 0xfd, 0xff, 0xfb, 0x01, 0x01, 0xff, 0xff, 0x02, 0x03, 0xff, + 0xfb, 0xfe, 0x02, 0x01, 0x01, 0x02, 0x02, 0xff, 0x00, 0x02, 0x00, 0xfa, 0x00, 0x06, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0x03, 0x03, 0xfd, + 0xfe, 0xff, 0xfe, 0xff, 0x00, 0x03, 0x06, 0x06, 0x05, 0x00, 0xfa, 0xff, 0x01, 0xff, 0xff, 0x06, 0x06, 0xff, 0xfd, 0xfc, 0xf9, 0xf8, + 0xfd, 0x01, 0x02, 0xff, 0x01, 0xff, 0xfc, 0xff, 0x03, 0x02, 0xfd, 0x01, 0x00, 0xfc, 0xfd, 0xfe, 0xff, 0x02, 0x02, 0x00, 0x00, 0x01, + 0xfd, 0xfc, 0xfe, 0xfb, 0xfc, 0xff, 0x02, 0xfc, 0xff, 0x01, 0xf9, 0xfe, 0x02, 0x02, 0x00, 0x02, 0x02, 0xfd, 0x00, 0xfe, 0xfd, 0x03, + 0x03, 0xfe, 0xfc, 0x00, 0xfe, 0xfe, 0x03, 0x01, 0x02, 0x05, 0x01, 0xfd, 0xfe, 0x01, 0xf8, 0xfd, 0x04, 0x00, 0x01, 0x03, 0x03, 0xfb, + 0xff, 0x02, 0x00, 0x09, 0x05, 0xfe, 0x02, 0xff, 0xfe, 0xff, 0xfe, 0xfd, 0x00, 0x03, 0xff, 0xfe, 0xff, 0x00, 0x02, 0x03, 0x00, 0xfd, + 0xff, 0xff, 0xfc, 0xfc, 0xff, 0x01, 0x00, 0xfe, 0xff, 0x02, 0x00, 0xfd, 0xfc, 0x00, 0x01, 0x03, 0x03, 0xfe, 0xfb, 0xff, 0x03, 0xff, + 0xfd, 0xff, 0x04, 0x01, 0xfe, 0xfe, 0xfc, 0xff, 0x01, 0xff, 0xff, 0xfb, 0xf9, 0xfc, 0xfe, 0xfd, 0xfd, 0x03, 0x05, 0x01, 0xfd, 0xff, + 0x02, 0x01, 0xfd, 0xfd, 0x02, 0x06, 0x04, 0xfe, 0xfd, 0x01, 0xfd, 0xfa, 0xfc, 0x00, 0x04, 0x02, 0xfe, 0x00, 0xff, 0xfd, 0xfc, 0x03, + 0x02, 0xfd, 0xfe, 0x03, 0x02, 0xfd, 0x01, 0x01, 0x01, 0x04, 0x01, 0xff, 0xff, 0xf9, 0xff, 0x02, 0xfe, 0x01, 0x03, 0xff, 0xf6, 0xfd, + 0xff, 0xfd, 0x03, 0x05, 0x02, 0xfc, 0x02, 0x00, 0xfd, 0x01, 0x03, 0x01, 0xff, 0x03, 0x03, 0x03, 0x03, 0xff, 0xff, 0x00, 0xfc, 0xff, + 0xfe, 0xfc, 0x00, 0xff, 0xff, 0x01, 0x02, 0xff, 0xfc, 0xfb, 0xfe, 0xff, 0xff, 0x00, 0xfe, 0xff, 0x04, 0x03, 0xfe, 0xfc, 0x03, 0x01, + 0x00, 0x02, 0xfe, 0xfe, 0xfe, 0xfd, 0xfd, 0xfd, 0xfd, 0xfc, 0xfe, 0x00, 0x00, 0x01, 0x00, 0xfe, 0xfc, 0x02, 0x01, 0xfd, 0x01, 0xff, + 0xfc, 0xfd, 0x01, 0x03, 0x03, 0x04, 0x01, 0xfe, 0xff, 0x02, 0x00, 0xfe, 0x00, 0xff, 0x00, 0xfe, 0xf9, 0xfb, 0xfe, 0xff, 0xff, 0x02, + 0x01, 0xfe, 0x01, 0x04, 0x02, 0xfd, 0xfc, 0xfe, 0x00, 0x00, 0xff, 0x01, 0x06, 0xff, 0x00, 0x06, 0x01, 0xfe, 0xfe, 0x00, 0x03, 0x01, + 0xfd, 0xfc, 0x00, 0x01, 0xfe, 0x00, 0x00, 0xff, 0xff, 0x00, 0x02, 0x04, 0x03, 0x01, 0xff, 0xff, 0xfd, 0xfc, 0xfd, 0x01, 0xfe, 0xfd, + 0xff, 0x01, 0x02, 0xff, 0xfc, 0x01, 0xfd, 0xfb, 0x00, 0x06, 0xff, 0xf8, 0xff, 0x02, 0xfe, 0xf9, 0xfd, 0xfe, 0xfe, 0x00, 0x00, 0x00, + 0x01, 0xfe, 0xfe, 0xfd, 0xfd, 0xff, 0x03, 0x03, 0xfb, 0xff, 0xfe, 0xfc, 0x00, 0x03, 0x03, 0x01, 0x00, 0xfe, 0xfe, 0x02, 0x01, 0xfe, + 0xfd, 0xfb, 0xff, 0x00, 0xff, 0x00, 0x05, 0x08, 0x02, 0x03, 0x01, 0xfc, 0xfc, 0x01, 0x01, 0xfd, 0x01, 0x04, 0x03, 0x02, 0xfe, 0xfd, + 0x00, 0x04, 0x01, 0xfd, 0xfe, 0xff, 0xfe, 0xff, 0x05, 0x00, 0xfe, 0x02, 0xfd, 0xfc, 0xfe, 0x00, 0x02, 0x03, 0x03, 0xfe, 0x01, 0x02, + 0xfd, 0xfa, 0xfc, 0xff, 0xfd, 0xfc, 0xfc, 0xfe, 0x02, 0x01, 0xfc, 0xfa, 0xfa, 0x00, 0x03, 0xff, 0xfe, 0xff, 0x00, 0xfe, 0x01, 0x04, + 0x02, 0xfd, 0xfd, 0x00, 0xfe, 0xfd, 0xff, 0x03, 0x00, 0x01, 0x01, 0xff, 0xf9, 0xfa, 0xff, 0x01, 0x00, 0x02, 0x06, 0x02, 0xff, 0xff, + 0x02, 0xff, 0xff, 0x02, 0x03, 0x02, 0x01, 0x00, 0xfc, 0xff, 0x02, 0x01, 0xfd, 0xfe, 0x01, 0xff, 0xfd, 0xfd, 0xfe, 0xfc, 0x01, 0x06, + 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x01, 0x01, 0x01, 0x04, 0x02, 0x00, 0x00, 0xfc, 0xfd, 0xff, + 0xff, 0xff, 0x00, 0x01, 0xfe, 0xff, 0xff, 0xfc, 0x00, 0x01, 0x00, 0xff, 0x01, 0x00, 0xfb, 0xfd, 0x00, 0x00, 0xff, 0x01, 0xff, 0xfd, + 0xff, 0x00, 0xff, 0x00, 0xfe, 0xfe, 0x00, 0x01, 0xfc, 0xfd, 0x03, 0x01, 0xfd, 0xfe, 0x02, 0x01, 0x00, 0x00, 0x02, 0x03, 0x01, 0xff, + 0x01, 0x02, 0xff, 0xfc, 0xff, 0x01, 0x01, 0x04, 0x01, 0xff, 0x02, 0x02, 0x00, 0xfd, 0xfd, 0xfe, 0x00, 0x00, 0x01, 0xfe, 0xfd, 0xfe, + 0xfd, 0x00, 0x02, 0x00, 0xff, 0xfe, 0xfd, 0x00, 0x03, 0x02, 0xfe, 0x03, 0x02, 0xff, 0xff, 0xff, 0xfa, 0xf8, 0x02, 0x05, 0x03, 0x02, + 0xfe, 0xfd, 0xfd, 0xfc, 0xfa, 0xfc, 0x01, 0xff, 0x00, 0x02, 0x02, 0x00, 0xfe, 0xfe, 0xfe, 0x01, 0x01, 0xfe, 0xff, 0x00, 0x01, 0x03, + 0xff, 0xfd, 0x00, 0x00, 0xfd, 0xfa, 0xfc, 0xff, 0x02, 0x04, 0x03, 0x03, 0x01, 0xfe, 0xf8, 0xfe, 0x01, 0xff, 0x03, 0x03, 0x02, 0x03, + 0x04, 0x00, 0xfc, 0xff, 0x02, 0x02, 0x01, 0x01, 0x00, 0xfe, 0xfc, 0xfe, 0x01, 0x03, 0xff, 0xfe, 0xfe, 0xfc, 0xfb, 0xfc, 0x00, 0x02, + 0x01, 0x00, 0xff, 0xff, 0x01, 0x01, 0xfe, 0xfe, 0x01, 0x04, 0x03, 0xfe, 0xfc, 0xfe, 0x00, 0xfe, 0xfb, 0xfc, 0x04, 0x04, 0xfe, 0xfc, + 0x01, 0x03, 0xff, 0x01, 0xff, 0xfd, 0x00, 0xff, 0xfd, 0xfe, 0x01, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfd, 0xfe, 0x01, 0x00, + 0xfc, 0xfc, 0x00, 0xfe, 0xff, 0x01, 0x00, 0x03, 0x02, 0xfc, 0xfe, 0xfd, 0xfb, 0xfd, 0x08, 0x05, 0xfc, 0x00, 0xfe, 0xfe, 0x00, 0x03, + 0x00, 0xfe, 0x02, 0x02, 0x03, 0x04, 0xfe, 0xfe, 0xff, 0xfe, 0xfd, 0xfd, 0xfe, 0x00, 0x00, 0xfd, 0xfe, 0x06, 0x04, 0x00, 0x02, 0xfd, + 0xfd, 0xff, 0x01, 0x01, 0x00, 0x00, 0x00, 0xfb, 0xfc, 0x06, 0x01, 0xff, 0x00, 0xfe, 0xff, 0x00, 0xfe, 0xfa, 0xfb, 0xfe, 0x00, 0x03, + 0xff, 0xfb, 0x01, 0x01, 0xfd, 0xfb, 0x03, 0x02, 0x01, 0x04, 0x03, 0xff, 0xfc, 0xfe, 0xfd, 0xff, 0x02, 0x03, 0xff, 0xfd, 0x00, 0x01, + 0xff, 0xfd, 0xfb, 0x01, 0x01, 0xfa, 0xfe, 0xfd, 0xfb, 0x00, 0x03, 0x03, 0x02, 0x04, 0xfc, 0xfa, 0x02, 0x04, 0x00, 0xfe, 0x05, 0xff, + 0xfe, 0x01, 0xfd, 0xfc, 0xfe, 0x00, 0xfe, 0x02, 0x07, 0x05, 0xfd, 0xfd, 0x04, 0x02, 0xff, 0xfe, 0xfe, 0xfd, 0xfe, 0x00, 0x06, 0x04, + 0x02, 0x02, 0xff, 0xfc, 0xfa, 0xfa, 0xff, 0x01, 0xff, 0xfb, 0x00, 0x01, 0xfc, 0xfe, 0xff, 0xfd, 0xfb, 0xfe, 0x00, 0x01, 0x00, 0xff, + 0xfd, 0xfb, 0xfe, 0xfd, 0xfd, 0x04, 0x02, 0x00, 0x01, 0x02, 0x01, 0x02, 0x04, 0xff, 0x00, 0x01, 0xfa, 0xfd, 0x01, 0x02, 0x00, 0x01, + 0x02, 0x02, 0x01, 0xfe, 0xfc, 0xfd, 0xfe, 0xfe, 0xfe, 0x03, 0x01, 0xfe, 0xff, 0x01, 0x02, 0x01, 0x00, 0xff, 0x01, 0x04, 0xff, 0x00, + 0x01, 0xfd, 0xff, 0x01, 0x00, 0xfe, 0x00, 0xff, 0xfd, 0x03, 0x02, 0x00, 0x02, 0xfe, 0xff, 0x03, 0x00, 0xfd, 0x00, 0x08, 0xfe, 0xfc, + 0x00, 0xfc, 0xff, 0x03, 0x04, 0x02, 0x01, 0x00, 0xfd, 0xf6, 0xf8, 0xff, 0x01, 0xfc, 0xfb, 0x00, 0x00, 0xfe, 0xfe, 0x00, 0xfe, 0xfe, + 0xfd, 0xfd, 0xfd, 0xff, 0x02, 0x03, 0x00, 0xfe, 0xff, 0xfe, 0x00, 0x02, 0x00, 0xfe, 0xfe, 0x00, 0x02, 0x00, 0xfe, 0xfe, 0xff, 0x00, + 0x00, 0xfd, 0xff, 0x02, 0x01, 0xfe, 0x03, 0x07, 0xfe, 0xfd, 0xff, 0x01, 0x01, 0x02, 0x02, 0x01, 0xfd, 0xfd, 0xff, 0x02, 0xfe, 0xff, + 0x06, 0x00, 0xff, 0x00, 0x01, 0xfd, 0xfd, 0x00, 0x05, 0xfd, 0xfa, 0x01, 0x00, 0xff, 0x01, 0x06, 0x01, 0xff, 0x00, 0xfe, 0xfc, 0xfd, + 0x01, 0x01, 0xff, 0x01, 0x04, 0xfd, 0xf9, 0xfc, 0x02, 0xff, 0xfc, 0xfe, 0xfd, 0x00, 0x03, 0x00, 0xfc, 0xfb, 0xfd, 0xfc, 0xfe, 0x01, + 0x03, 0x05, 0x03, 0x00, 0xfe, 0xfe, 0xfc, 0xf9, 0xfc, 0x00, 0x01, 0x00, 0xfe, 0xff, 0x01, 0x00, 0x00, 0x00, 0x01, 0xff, 0xfd, 0xfe, + 0x03, 0x01, 0x03, 0x06, 0x02, 0xff, 0xfd, 0xfd, 0x02, 0x01, 0x00, 0x03, 0x01, 0xff, 0x00, 0x03, 0x01, 0xfd, 0xfc, 0xff, 0x00, 0xff, + 0xfe, 0xff, 0xff, 0x00, 0x02, 0x00, 0xfe, 0xfe, 0xfd, 0x00, 0x02, 0x00, 0xfe, 0xfe, 0xff, 0x03, 0x02, 0xff, 0xff, 0xfe, 0xfd, 0xfd, + 0x02, 0x00, 0xfe, 0xfe, 0x00, 0x02, 0x00, 0xfc, 0xfd, 0x00, 0x00, 0xfe, 0x00, 0xff, 0xfb, 0xfe, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0xfd, 0xfd, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x03, 0x03, 0x00, 0xfe, 0xfe, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, + 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0x01, 0x03, 0x04, 0x04, 0x03, 0x02, 0xfe, 0xfd, 0xfe, 0xfe, 0xfe, 0xff, 0x00, 0x00, 0x01, 0x01, 0xff, + 0xfd, 0xfe, 0xff, 0x00, 0xff, 0xfd, 0xfd, 0xfc, 0xfe, 0xff, 0xfd, 0x01, 0x02, 0x01, 0xfe, 0xff, 0xff, 0xfe, 0xff, 0xff, 0x01, 0x05, + 0xff, 0xfc, 0xfe, 0xff, 0xfe, 0xfd, 0xfd, 0x01, 0x03, 0xff, 0xfb, 0xfd, 0xff, 0x01, 0x03, 0x04, 0x01, 0xfe, 0xfd, 0xfc, 0xfe, 0x02, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0xfd, 0xfd, 0x01, 0x02, 0xfc, 0xfa, 0xfe, 0x03, 0xff, 0xfc, 0xfe, 0x03, 0x01, 0x01, 0x01, 0xff, + 0x00, 0x04, 0x05, 0x02, 0x01, 0x01, 0x01, 0xfb, 0xfc, 0x00, 0x00, 0xfd, 0xfd, 0x01, 0x01, 0x03, 0x01, 0xfc, 0xfa, 0xfa, 0xfc, 0xfd, + 0xff, 0x00, 0xff, 0x00, 0x00, 0x01, 0x01, 0x01, 0xff, 0xfe, 0x03, 0x00, 0xfe, 0x00, 0x01, 0x00, 0xfd, 0xfc, 0xfc, 0xfa, 0xfa, 0x00, + 0x01, 0x01, 0x03, 0x01, 0x03, 0x05, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0x04, 0x04, 0x00, 0xfe, 0xff, 0x01, 0x02, 0x02, 0x03, 0x03, 0xfe, + 0xfb, 0xfd, 0x00, 0xff, 0x00, 0x01, 0xfe, 0x01, 0x02, 0x00, 0x00, 0xff, 0xfe, 0xff, 0x03, 0x01, 0xfd, 0xfe, 0xfd, 0xfd, 0xff, 0x00, + 0x01, 0x01, 0x01, 0x00, 0xfd, 0xfa, 0xfb, 0xff, 0x02, 0x02, 0x03, 0x01, 0xff, 0x00, 0xfc, 0xfc, 0x01, 0x01, 0x00, 0x00, 0x02, 0x01, + 0xfd, 0xfb, 0xfe, 0x00, 0x00, 0x00, 0x01, 0xfc, 0xfb, 0xff, 0xff, 0x00, 0x01, 0x01, 0x01, 0x00, 0xfe, 0xfe, 0x00, 0x02, 0x00, 0x02, + 0x02, 0x00, 0x01, 0xff, 0xfe, 0xfe, 0xfb, 0xfe, 0x03, 0x03, 0x03, 0x00, 0xfd, 0x00, 0xff, 0xff, 0x01, 0x03, 0x01, 0x00, 0x03, 0x00, + 0x00, 0x02, 0xfc, 0xff, 0x02, 0xfe, 0xfb, 0xfc, 0x00, 0x02, 0xfe, 0xfd, 0x00, 0xff, 0x00, 0x00, 0xfe, 0x00, 0x02, 0x03, 0x02, 0xfe, + 0xfc, 0xfe, 0xfc, 0xff, 0x02, 0x04, 0xff, 0xfd, 0xfe, 0xfd, 0xfc, 0xfe, 0x01, 0x00, 0xfe, 0xfd, 0xfd, 0x01, 0x03, 0xff, 0xf8, 0xfb, + 0x01, 0x02, 0xfd, 0xff, 0x03, 0x01, 0x01, 0x01, 0x01, 0xfd, 0xff, 0x00, 0xfd, 0xfc, 0x00, 0x03, 0x02, 0x02, 0x02, 0x00, 0xfc, 0xfd, + 0xff, 0xfe, 0xff, 0x00, 0x03, 0x05, 0x07, 0x02, 0xfb, 0x00, 0x00, 0xff, 0x04, 0x03, 0x03, 0x04, 0x01, 0xfb, 0xfb, 0x01, 0x02, 0x00, + 0xfe, 0xfd, 0xfd, 0xff, 0x00, 0xff, 0x00, 0x01, 0x01, 0xfe, 0xfd, 0xfd, 0xfd, 0xff, 0x01, 0x02, 0x04, 0x02, 0xfd, 0xfc, 0xfd, 0xff, + 0xff, 0xfb, 0xfb, 0xff, 0x02, 0xfe, 0xfe, 0xfe, 0xfd, 0xff, 0xfe, 0xfc, 0xfd, 0x00, 0x00, 0xff, 0x01, 0x00, 0x00, 0x01, 0xff, 0x00, + 0x03, 0x02, 0xfe, 0xfd, 0xff, 0xfd, 0xff, 0x01, 0xff, 0x02, 0x00, 0xfd, 0x03, 0xff, 0xfc, 0x00, 0x04, 0x01, 0xfd, 0xfb, 0x01, 0x04, + 0x01, 0x01, 0x03, 0x03, 0x00, 0x01, 0xfe, 0xff, 0x06, 0x02, 0x00, 0x01, 0x00, 0x00, 0xfe, 0xfb, 0xfd, 0xfe, 0xff, 0x01, 0x02, 0x02, + 0x01, 0x00, 0x03, 0x04, 0xfd, 0xfe, 0xfd, 0xfc, 0xfd, 0x01, 0x03, 0x01, 0x00, 0x01, 0xff, 0xfd, 0xfc, 0xfd, 0xfe, 0xfd, 0xfd, 0x00, + 0x03, 0x00, 0xfc, 0xfc, 0x01, 0xfd, 0xfc, 0xfe, 0xff, 0x00, 0x00, 0xfe, 0x04, 0x03, 0xfd, 0xfb, 0xfa, 0xfd, 0x00, 0xfe, 0xff, 0x00, + 0x00, 0x02, 0x06, 0x06, 0x00, 0xff, 0xfe, 0xfd, 0xff, 0x00, 0x01, 0x01, 0xff, 0x00, 0x00, 0xfe, 0xff, 0x01, 0x02, 0x00, 0x00, 0xfe, + 0xfb, 0xfb, 0x01, 0x04, 0xfd, 0x04, 0x04, 0xfb, 0x00, 0x00, 0xfe, 0xfe, 0xfe, 0x02, 0x05, 0x01, 0x03, 0x02, 0xfe, 0x00, 0xfc, 0xf9, + 0xfd, 0xfe, 0xfd, 0xfe, 0x04, 0x06, 0x03, 0xff, 0xfe, 0x00, 0x02, 0x00, 0xfd, 0xfb, 0xfc, 0x05, 0x03, 0xff, 0xff, 0x03, 0x01, 0xfc, + 0xfb, 0xff, 0xfe, 0xfb, 0x00, 0xff, 0x00, 0x05, 0xfd, 0xfa, 0xfe, 0xfe, 0xfd, 0xfc, 0xfe, 0x07, 0x09, 0x04, 0x01, 0x00, 0x03, 0x03, + 0xfe, 0xf9, 0xfb, 0xff, 0xfe, 0x01, 0x02, 0xff, 0x02, 0x02, 0xff, 0xfc, 0xfb, 0xfd, 0xff, 0xfe, 0xfe, 0x01, 0x04, 0x02, 0x00, 0xff, + 0x00, 0xfe, 0xfe, 0x01, 0x02, 0x00, 0xff, 0x01, 0x03, 0x00, 0xf9, 0xfa, 0xfc, 0xfe, 0xff, 0xfd, 0xfe, 0x00, 0xfe, 0xff, 0xff, 0x00, + 0x02, 0x02, 0x00, 0xff, 0x00, 0x01, 0x00, 0xff, 0xfe, 0x00, 0x03, 0x03, 0x03, 0x02, 0xff, 0x00, 0xfc, 0xf9, 0xfe, 0xfe, 0xfe, 0x00, + 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x02, 0x02, 0x02, 0x02, 0x01, 0x00, 0xfd, 0xfc, 0x00, 0xfe, 0xff, 0x04, + 0xff, 0xfe, 0x00, 0x01, 0x02, 0x02, 0x00, 0xfe, 0xff, 0xff, 0xfe, 0xfc, 0xfe, 0x02, 0x04, 0x02, 0xff, 0xfd, 0xfc, 0xfe, 0xfe, 0xfb, + 0xff, 0x02, 0x01, 0xfe, 0xff, 0xfe, 0xfd, 0xff, 0x01, 0x01, 0xff, 0x01, 0x00, 0xfd, 0xff, 0x03, 0x01, 0xfc, 0xfd, 0xfc, 0xfa, 0xfc, + 0x00, 0x01, 0xff, 0xfe, 0x02, 0x04, 0x02, 0x03, 0xfd, 0xf9, 0xfe, 0x02, 0x03, 0x00, 0x00, 0x00, 0x01, 0x03, 0x01, 0xfe, 0xff, 0x02, + 0x01, 0xfe, 0xfc, 0x01, 0x00, 0xfe, 0x01, 0x03, 0x03, 0x02, 0x02, 0xfe, 0xfb, 0xfa, 0xfb, 0x01, 0x06, 0x05, 0x06, 0x02, 0xfe, 0xfe, + 0xfd, 0xfe, 0x00, 0xff, 0xff, 0xff, 0x00, 0x01, 0x00, 0x00, 0x01, 0xff, 0xfb, 0xfb, 0xff, 0x00, 0xff, 0x01, 0x02, 0x04, 0x04, 0x01, + 0xfb, 0xf9, 0xfd, 0xfe, 0xff, 0x00, 0xfe, 0x02, 0x03, 0x01, 0xff, 0xfc, 0xfb, 0xfd, 0xfb, 0xfc, 0x00, 0x07, 0x00, 0xfd, 0x01, 0x00, + 0xfe, 0xfe, 0x01, 0x00, 0xfe, 0xfd, 0x01, 0x02, 0x04, 0x05, 0xfe, 0xfc, 0xfd, 0xfd, 0xfd, 0xfe, 0x00, 0x03, 0x03, 0x01, 0x00, 0x01, + 0xfe, 0xfb, 0xfb, 0x01, 0x03, 0x01, 0x00, 0xff, 0x00, 0x02, 0x00, 0xff, 0x00, 0x03, 0x01, 0xfe, 0xfb, 0xfc, 0xff, 0x03, 0x05, 0x03, + 0xfe, 0xfb, 0xfd, 0xfb, 0xfe, 0x03, 0xff, 0xfd, 0xff, 0x00, 0xff, 0xff, 0x00, 0x04, 0x03, 0x02, 0x01, 0x01, 0xfd, 0xfb, 0x00, 0xff, + 0xff, 0xff, 0x02, 0xfe, 0xff, 0x04, 0xfe, 0xf9, 0xfa, 0xff, 0x01, 0x01, 0xff, 0xff, 0x00, 0x01, 0x01, 0x02, 0x00, 0xfe, 0x02, 0xff, + 0xfd, 0xfe, 0x00, 0x00, 0xfe, 0xfd, 0x03, 0x01, 0xfb, 0xfa, 0xfd, 0xff, 0xff, 0x02, 0x03, 0x03, 0x01, 0xfd, 0xfc, 0xfd, 0xfd, 0x01, + 0x03, 0x03, 0x03, 0x00, 0xfd, 0xff, 0x02, 0x00, 0xfd, 0x01, 0x02, 0x01, 0x00, 0xfd, 0xfc, 0xff, 0x02, 0x00, 0xfe, 0xff, 0x00, 0xfe, + 0xfd, 0x00, 0x03, 0x03, 0x00, 0x00, 0xfe, 0xfd, 0xfd, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0xfe, 0xfe, 0x02, 0x02, 0x00, 0x00, 0x01, + 0x01, 0xff, 0xff, 0xff, 0xff, 0x02, 0x00, 0x00, 0x02, 0xff, 0xfe, 0x00, 0xff, 0xfb, 0xfc, 0x01, 0x01, 0xfe, 0xfe, 0x02, 0x01, 0xfe, + 0xfc, 0xfd, 0x00, 0x01, 0xff, 0xfc, 0xfc, 0x00, 0x05, 0x04, 0x03, 0x01, 0xfb, 0xfa, 0xfb, 0xfd, 0xfd, 0xff, 0xff, 0xff, 0xff, 0x01, + 0x02, 0xff, 0xfd, 0xff, 0x02, 0xff, 0xfe, 0x00, 0x03, 0x02, 0x00, 0x00, 0x00, 0xff, 0xff, 0xfe, 0xfc, 0xfc, 0xff, 0x02, 0x04, 0x03, + 0x00, 0xfd, 0xfd, 0xfb, 0xf9, 0xfc, 0x01, 0x03, 0x01, 0x04, 0x06, 0x03, 0xfd, 0xfd, 0xff, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, + 0x05, 0x04, 0xfd, 0xfb, 0x00, 0xfd, 0xfe, 0x00, 0x02, 0xff, 0xff, 0x02, 0x01, 0x00, 0x00, 0xfe, 0xfd, 0xfc, 0xfd, 0x03, 0x04, 0x02, + 0xff, 0x00, 0xfd, 0xfb, 0xff, 0xfd, 0xff, 0x00, 0xfc, 0xf9, 0xfb, 0x00, 0xfe, 0xff, 0x01, 0xfe, 0xff, 0xff, 0xfe, 0x01, 0x00, 0xff, + 0x00, 0x00, 0x04, 0x04, 0xfe, 0xfe, 0xff, 0xff, 0x01, 0xff, 0xfe, 0xff, 0x01, 0xff, 0xfe, 0x01, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe, + 0xfe, 0x00, 0x02, 0x02, 0x02, 0x02, 0x01, 0x00, 0x02, 0xfe, 0xfd, 0x02, 0x02, 0xfe, 0xfd, 0x06, 0xff, 0xfc, 0x02, 0x01, 0xff, 0xff, + 0x00, 0xff, 0x00, 0x02, 0x03, 0xfe, 0xfd, 0x01, 0x03, 0xff, 0xfc, 0xff, 0x01, 0xff, 0xfe, 0x00, 0xfe, 0xfe, 0x00, 0x00, 0x00, 0xfe, + 0xfe, 0xfc, 0xfd, 0x00, 0xff, 0x00, 0x00, 0xfe, 0xfc, 0xff, 0x02, 0xfe, 0xfc, 0xff, 0x02, 0xfe, 0xfc, 0xfe, 0x01, 0xfd, 0xff, 0x04, + 0x02, 0xfd, 0xfd, 0x01, 0x00, 0xfe, 0xfd, 0x00, 0x04, 0x04, 0x01, 0xfd, 0x02, 0x04, 0xfe, 0xff, 0xff, 0xfd, 0xfa, 0xfe, 0x04, 0x06, + 0x02, 0xff, 0xff, 0xff, 0xfd, 0xff, 0x01, 0x00, 0xff, 0xff, 0x00, 0x03, 0x03, 0x00, 0xff, 0xfe, 0xfe, 0xff, 0x00, 0xff, 0x00, 0x02, + 0xff, 0xff, 0xff, 0xfe, 0xff, 0x01, 0x01, 0xfe, 0xff, 0x02, 0x03, 0x00, 0xfe, 0xff, 0x01, 0x01, 0x01, 0x01, 0xfe, 0xfc, 0xfc, 0xfe, + 0x01, 0x01, 0xff, 0xfd, 0xfd, 0xff, 0x01, 0x01, 0xff, 0xfe, 0xff, 0xfc, 0xfc, 0xff, 0x01, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xfe, + 0x00, 0x00, 0xff, 0xff, 0xfe, 0x00, 0x03, 0xfd, 0xfe, 0xff, 0xfd, 0xfe, 0x01, 0x01, 0xfb, 0x01, 0x03, 0xff, 0xfd, 0x01, 0x03, 0xfe, + 0xff, 0xff, 0xfe, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03, 0x03, 0xff, 0xfd, 0xff, 0x00, 0xfc, 0xfc, 0x00, 0x03, 0x03, 0x00, 0xfe, 0xff, + 0xfc, 0xfb, 0xfe, 0x00, 0x02, 0x01, 0xff, 0x05, 0x02, 0xfb, 0xfe, 0x02, 0x01, 0xfc, 0xfe, 0x00, 0x02, 0x03, 0x02, 0x01, 0x01, 0x02, + 0xfb, 0xfa, 0xfe, 0x00, 0xfe, 0xfd, 0x00, 0x00, 0xfe, 0xfd, 0x02, 0xff, 0xfc, 0xff, 0x02, 0x01, 0xff, 0x00, 0xfd, 0xff, 0x01, 0xfe, + 0xfc, 0xfd, 0x02, 0x01, 0x01, 0x00, 0xff, 0xfd, 0xff, 0x02, 0xfe, 0xfe, 0xff, 0xff, 0xfc, 0x00, 0x05, 0x05, 0x00, 0x00, 0x03, 0x01, + 0x00, 0x01, 0x00, 0xfe, 0x00, 0x01, 0xff, 0xff, 0x00, 0x00, 0xfc, 0xfb, 0xfd, 0xff, 0x03, 0x02, 0xff, 0xfc, 0xff, 0xfe, 0xfb, 0x01, + 0x03, 0x00, 0xfe, 0xff, 0x00, 0xff, 0xfe, 0xff, 0xff, 0xfe, 0xfd, 0x01, 0x03, 0xfe, 0x00, 0x00, 0xfe, 0x01, 0x00, 0xfe, 0xfd, 0x01, + 0xff, 0xfd, 0x04, 0x04, 0x02, 0x00, 0xfe, 0xfd, 0xfe, 0x00, 0x01, 0x00, 0xff, 0x01, 0x00, 0xff, 0xfe, 0xfd, 0xfe, 0x00, 0x00, 0x00, + 0x01, 0x02, 0x00, 0x00, 0xff, 0xfd, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xfe, 0xff, 0x01, 0x02, 0x00, 0x00, 0x01, 0xff, 0xfc, + 0xfd, 0x00, 0x00, 0x01, 0x00, 0xfd, 0xff, 0x00, 0x00, 0x01, 0x03, 0x03, 0xff, 0xfc, 0x00, 0x00, 0xfb, 0xfb, 0xff, 0x03, 0x04, 0xff, + 0xfd, 0x00, 0xfe, 0xff, 0xff, 0xfe, 0xff, 0x01, 0x01, 0xff, 0xfd, 0x00, 0x04, 0x01, 0x00, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0x01, 0x02, + 0x01, 0xfe, 0xff, 0xfe, 0xfd, 0xff, 0xfc, 0xfd, 0x03, 0x06, 0x03, 0x00, 0xff, 0xfd, 0xfe, 0xff, 0x00, 0x02, 0x01, 0xff, 0x00, 0x00, + 0xff, 0xfd, 0xfd, 0xfe, 0x00, 0x01, 0xfc, 0xfd, 0x02, 0x00, 0xff, 0x02, 0x04, 0x00, 0xfc, 0xfc, 0xff, 0xfe, 0xff, 0x02, 0x03, 0x02, + 0x02, 0x02, 0xfe, 0xfe, 0x01, 0x02, 0x00, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0x00, 0xfe, 0xfe, 0x00, 0x02, 0x00, 0xfe, 0xff, 0xfd, 0x00, + 0x04, 0x04, 0xff, 0xff, 0x00, 0xfd, 0xfb, 0xfc, 0x00, 0x04, 0x01, 0xfd, 0xfd, 0xfe, 0xfc, 0xfa, 0xfe, 0x00, 0x01, 0x00, 0xfc, 0xfb, + 0xfe, 0x00, 0x01, 0x00, 0xff, 0x01, 0x04, 0x02, 0xfd, 0x00, 0x01, 0x00, 0xfd, 0xff, 0x01, 0x01, 0x00, 0x00, 0xff, 0xfe, 0x00, 0x01, + 0x01, 0x06, 0x00, 0xfb, 0xfd, 0x01, 0x02, 0x00, 0xff, 0x00, 0x01, 0x01, 0xff, 0xff, 0x00, 0x00, 0x02, 0x01, 0xff, 0xff, 0x00, 0xfd, + 0xfa, 0x01, 0x02, 0x02, 0x02, 0xff, 0xfe, 0xfe, 0xfe, 0xfd, 0xfd, 0x00, 0x04, 0x03, 0xfe, 0xfa, 0xff, 0x00, 0xfe, 0x00, 0x02, 0x01, + 0xfd, 0xfa, 0xfe, 0x01, 0xff, 0xfe, 0xff, 0x01, 0x00, 0xfe, 0xfc, 0xfc, 0xfe, 0x01, 0x02, 0x00, 0x00, 0xfe, 0xfd, 0xfc, 0x02, 0x03, + 0xfe, 0xfd, 0x01, 0x02, 0xfb, 0x00, 0x02, 0x00, 0xfe, 0x00, 0x02, 0x01, 0x01, 0x01, 0x00, 0xff, 0xff, 0x01, 0x02, 0x00, 0xff, 0x00, + 0x02, 0x00, 0xff, 0xff, 0x02, 0xff, 0xfe, 0x00, 0x02, 0x01, 0x01, 0x01, 0xfe, 0xfe, 0x01, 0x02, 0x02, 0x01, 0xff, 0xff, 0x01, 0x03, + 0x04, 0x01, 0xfe, 0xfc, 0xf8, 0xfc, 0x00, 0x01, 0x00, 0x04, 0x04, 0xfb, 0xfb, 0xff, 0x00, 0xfd, 0xff, 0xff, 0xfb, 0xfd, 0xff, 0x00, + 0x04, 0xfe, 0xfd, 0x02, 0x00, 0x02, 0xff, 0xf9, 0xfe, 0x01, 0x00, 0x01, 0xfd, 0xfd, 0x01, 0xfa, 0xfc, 0xff, 0xfd, 0xfc, 0x01, 0x04, + 0xfe, 0xfd, 0x01, 0x03, 0xff, 0xfe, 0x00, 0xff, 0xff, 0x00, 0x01, 0x02, 0x06, 0x04, 0xff, 0x00, 0x03, 0x02, 0xfc, 0xfb, 0xfd, 0xfe, + 0xfe, 0x01, 0x03, 0x02, 0x02, 0x01, 0xff, 0xfd, 0x00, 0x02, 0x03, 0x03, 0x04, 0x02, 0xff, 0x01, 0x01, 0xff, 0xfe, 0xfe, 0xff, 0xff, + 0xfd, 0xfd, 0xfe, 0x01, 0x01, 0x03, 0x01, 0xfb, 0xfc, 0xfe, 0xfe, 0xfd, 0xfe, 0x01, 0x03, 0x03, 0x00, 0xfc, 0xff, 0x01, 0xff, 0xfc, + 0xfe, 0xfc, 0xfc, 0x01, 0xfe, 0xfc, 0xfd, 0xfd, 0xfd, 0xfe, 0xfd, 0x01, 0xff, 0xfe, 0x04, 0x03, 0x00, 0xff, 0xff, 0xfd, 0xfc, 0xfe, + 0x00, 0xff, 0xfe, 0xfe, 0x01, 0x03, 0x04, 0x01, 0xfe, 0xfd, 0xfe, 0xfb, 0xff, 0x05, 0x01, 0x01, 0x02, 0x00, 0xfe, 0x00, 0x04, 0x05, + 0x00, 0x00, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0xfc, 0xfb, 0xff, 0x03, 0x00, 0xfe, 0x00, 0x04, 0xfd, 0xfc, 0xff, 0xff, + 0x02, 0x04, 0x02, 0xfe, 0xfe, 0x01, 0x02, 0xfb, 0xf9, 0xfe, 0x05, 0x00, 0xfd, 0x01, 0xfe, 0xfe, 0x00, 0xff, 0xfd, 0xfb, 0xfd, 0x02, + 0xff, 0xfe, 0x01, 0x00, 0x00, 0xff, 0x00, 0xfd, 0xfc, 0xfe, 0xfe, 0x00, 0x00, 0xfd, 0x00, 0xfe, 0xfd, 0x02, 0x00, 0xfd, 0xfc, 0xfe, + 0x03, 0x06, 0x03, 0xfc, 0xfd, 0x02, 0x03, 0xff, 0xfc, 0xfc, 0x02, 0x03, 0x01, 0x00, 0x01, 0xfe, 0xfc, 0x02, 0x03, 0x03, 0x02, 0xfc, + 0xfd, 0x01, 0x02, 0x01, 0x02, 0x02, 0xff, 0x00, 0x02, 0x01, 0x00, 0x02, 0x04, 0x04, 0xfd, 0xfd, 0x01, 0xfb, 0xfc, 0xfd, 0xfc, 0x00, + 0x01, 0xff, 0xfd, 0xfc, 0xfd, 0xfe, 0xfa, 0x02, 0x06, 0x01, 0xfc, 0xfd, 0x00, 0xfe, 0xfe, 0x01, 0x04, 0xfd, 0x03, 0x05, 0xfd, 0x01, + 0xfd, 0xfb, 0x03, 0xfe, 0xfa, 0xfd, 0xfe, 0xfe, 0xff, 0x01, 0x00, 0x00, 0xff, 0xfe, 0xff, 0xff, 0xff, 0x04, 0x01, 0x00, 0x05, 0x00, + 0xfc, 0xfe, 0x00, 0x01, 0xff, 0xfd, 0x01, 0x01, 0xff, 0x00, 0xff, 0xff, 0x00, 0x01, 0xff, 0xff, 0x00, 0xff, 0xff, 0x01, 0x03, 0x03, + 0x00, 0xfe, 0xfe, 0x02, 0x04, 0x00, 0xfd, 0xfc, 0xfe, 0x03, 0x03, 0xfe, 0xfb, 0xfc, 0xfc, 0xff, 0x03, 0xfe, 0xfe, 0x02, 0xff, 0xfe, + 0xfd, 0xfd, 0xff, 0x00, 0xff, 0xff, 0x00, 0x01, 0xff, 0xfc, 0x01, 0x02, 0xfd, 0xfe, 0xfe, 0xff, 0xfe, 0x02, 0x00, 0xfd, 0xfb, 0x04, + 0x06, 0xfd, 0xfb, 0xfc, 0xff, 0x01, 0x04, 0x04, 0x01, 0xfd, 0x00, 0x01, 0xfc, 0xfd, 0x00, 0x03, 0x02, 0x04, 0x02, 0xfc, 0xfd, 0xfe, + 0x00, 0x00, 0xff, 0x02, 0x03, 0xff, 0xfd, 0x01, 0x04, 0xfe, 0xff, 0x01, 0x01, 0xff, 0xff, 0x00, 0x00, 0x02, 0x01, 0xfc, 0xff, 0xff, + 0xfe, 0x00, 0xfc, 0xfd, 0x03, 0x02, 0x04, 0x01, 0xfb, 0xfe, 0x01, 0x00, 0xfd, 0xfc, 0xfe, 0x01, 0x01, 0x01, 0x00, 0xff, 0xff, 0xfe, + 0xfd, 0xfe, 0x00, 0x00, 0xfe, 0xfe, 0xff, 0xfe, 0xfd, 0x01, 0x03, 0x01, 0xff, 0xfd, 0xff, 0x00, 0xfc, 0x00, 0x04, 0x02, 0xff, 0xfd, + 0xfd, 0xfe, 0x04, 0x03, 0xfd, 0xff, 0x02, 0x01, 0xff, 0xfe, 0x00, 0x03, 0x00, 0xff, 0x00, 0x02, 0xfe, 0x02, 0x04, 0x01, 0x03, 0x03, + 0x01, 0x00, 0xff, 0x01, 0x02, 0xfe, 0xfc, 0xfd, 0xfe, 0x03, 0x03, 0xfe, 0xf9, 0xfd, 0x01, 0x01, 0x01, 0x00, 0xff, 0xfe, 0xff, 0x01, + 0x02, 0x02, 0xff, 0xfe, 0x01, 0xfe, 0xfd, 0xfe, 0xfe, 0xfe, 0xff, 0x00, 0x00, 0xfd, 0xfb, 0xfd, 0xfd, 0xfd, 0xff, 0xff, 0xff, 0xff, + 0xfe, 0xfd, 0xff, 0x02, 0x05, 0x00, 0xff, 0x01, 0xfe, 0xfe, 0xff, 0x01, 0x01, 0x00, 0xff, 0xff, 0xfd, 0xff, 0x01, 0xff, 0xfc, 0xfe, + 0x01, 0x04, 0x03, 0xff, 0xfe, 0xff, 0x00, 0x01, 0x04, 0x03, 0x00, 0x01, 0x01, 0x02, 0x02, 0xff, 0x01, 0x02, 0x01, 0x02, 0x00, 0xfd, + 0xfb, 0xfc, 0xfe, 0x00, 0xff, 0x04, 0x03, 0xfd, 0xfc, 0xff, 0x01, 0x00, 0x01, 0x03, 0x02, 0xff, 0xfd, 0xfd, 0xff, 0x00, 0x00, 0xff, + 0xfe, 0xff, 0xfe, 0xfc, 0xfd, 0xfe, 0x00, 0x02, 0xfe, 0xfd, 0xfd, 0xfc, 0xfe, 0x01, 0x03, 0x01, 0xfe, 0xfd, 0xff, 0xff, 0xff, 0xff, + 0x01, 0xfd, 0xfd, 0x01, 0x02, 0x00, 0xfd, 0xfe, 0xfe, 0xfd, 0xfd, 0x00, 0x02, 0x02, 0x01, 0x01, 0x00, 0xff, 0x00, 0x02, 0x03, 0x01, + 0xfe, 0xfd, 0xfe, 0xff, 0x01, 0xfd, 0xfc, 0x03, 0x05, 0x02, 0xff, 0x01, 0xfd, 0xfd, 0x03, 0x03, 0x00, 0xfd, 0xfd, 0x01, 0x03, 0x01, + 0x02, 0xff, 0xff, 0x01, 0x01, 0xff, 0xff, 0x01, 0xff, 0xfd, 0xff, 0x03, 0xfe, 0xf9, 0xfc, 0x03, 0x06, 0x02, 0xfc, 0xfd, 0x01, 0x01, + 0x00, 0xff, 0x00, 0x01, 0x01, 0xff, 0xfc, 0xfa, 0xff, 0x00, 0xfd, 0x03, 0x00, 0xfc, 0xfe, 0x00, 0xfd, 0xfa, 0xfd, 0x00, 0x00, 0x00, + 0x01, 0x02, 0x00, 0xfc, 0xff, 0x01, 0xff, 0x01, 0x01, 0xff, 0xfe, 0x03, 0x02, 0xfe, 0xfd, 0xfb, 0xfd, 0x00, 0xfd, 0xfc, 0xff, 0x05, + 0x03, 0x01, 0x01, 0x00, 0xff, 0xff, 0xff, 0xfd, 0xfe, 0x02, 0x04, 0x02, 0x01, 0x01, 0xfe, 0x00, 0x00, 0xfe, 0xff, 0xff, 0x00, 0x02, + 0x02, 0x00, 0xff, 0xff, 0xff, 0x00, 0x02, 0x02, 0xfe, 0xfb, 0xfd, 0x02, 0x05, 0x04, 0x02, 0x00, 0xfe, 0xfc, 0xff, 0xfd, 0xfa, 0xfd, + 0x04, 0x03, 0xfc, 0xff, 0x00, 0xff, 0xfe, 0x00, 0xff, 0xfd, 0xfe, 0x02, 0x00, 0xfa, 0xfe, 0x00, 0xff, 0xff, 0x03, 0x04, 0x01, 0xff, + 0xfe, 0x00, 0x02, 0x00, 0xff, 0xff, 0x00, 0xff, 0xfc, 0xfb, 0xff, 0xff, 0xfe, 0xff, 0x03, 0x01, 0xff, 0x01, 0xff, 0x01, 0x02, 0xfd, + 0xfd, 0xfe, 0xfe, 0xff, 0x04, 0x05, 0x00, 0xff, 0x00, 0x00, 0xff, 0xfd, 0xfc, 0xfc, 0xff, 0x01, 0x01, 0x00, 0x02, 0x01, 0xfe, 0x01, + 0xff, 0xfd, 0xfe, 0xfe, 0x00, 0x02, 0x02, 0x03, 0x03, 0x01, 0xfd, 0xfc, 0xfd, 0xff, 0x00, 0x02, 0x02, 0xff, 0xfe, 0xff, 0x01, 0x01, + 0xff, 0xfe, 0x00, 0xfc, 0xfb, 0xff, 0x05, 0x02, 0x00, 0x03, 0xff, 0xfe, 0xff, 0xff, 0xfe, 0x00, 0x04, 0x02, 0xff, 0xfe, 0xfe, 0x00, + 0xff, 0xfd, 0xfd, 0x02, 0x00, 0xfa, 0xfd, 0x00, 0x01, 0x01, 0x01, 0xff, 0xfd, 0xfd, 0xff, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0xfe, + 0xfe, 0xff, 0x01, 0x03, 0x03, 0x02, 0x00, 0xff, 0xfe, 0xfd, 0xff, 0x01, 0x01, 0xff, 0xff, 0x00, 0x02, 0x00, 0xff, 0xff, 0xfe, 0xfe, + 0xff, 0x01, 0x00, 0xfe, 0xfe, 0x00, 0xfc, 0xff, 0x04, 0x04, 0x01, 0xfe, 0xfc, 0xfd, 0x01, 0x03, 0x03, 0x01, 0x01, 0x00, 0xfd, 0xfa, + 0xfc, 0x02, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0xff, 0xfb, 0xfb, 0xfe, 0x02, 0x02, 0x03, 0x01, 0xfd, 0xfe, 0xfe, 0xfe, 0x01, 0x03, + 0x01, 0xfd, 0xfc, 0xff, 0x03, 0x04, 0x01, 0xfe, 0xff, 0x00, 0xfd, 0xfb, 0xfc, 0xfe, 0x02, 0x05, 0x05, 0xff, 0xfb, 0xfe, 0x02, 0x00, + 0xfe, 0x01, 0x02, 0x00, 0x00, 0x02, 0x01, 0x00, 0x01, 0x00, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xfe, 0xff, 0x00, 0x00, 0x00, 0xff, 0xfd, + 0xfd, 0xff, 0x01, 0x02, 0x01, 0x01, 0xff, 0xfe, 0xff, 0x01, 0x03, 0x02, 0xfe, 0xfd, 0xfb, 0xfc, 0x02, 0x00, 0xfe, 0x01, 0xff, 0xff, + 0x00, 0xfe, 0xfd, 0xff, 0xff, 0xfe, 0xfd, 0x01, 0x05, 0x03, 0xff, 0xff, 0x03, 0xfb, 0xfb, 0x03, 0x04, 0x01, 0xff, 0x00, 0xfc, 0xfe, + 0x01, 0x00, 0xff, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0x00, 0x03, 0x03, 0x01, 0x02, 0xfe, 0xfa, 0xfc, 0xff, 0x01, 0x01, 0x01, 0x02, 0x02, + 0x02, 0x04, 0xff, 0xfb, 0xfc, 0xff, 0xff, 0xff, 0x03, 0x02, 0xfe, 0xfd, 0x03, 0x03, 0xfe, 0xfa, 0xfe, 0xff, 0xfe, 0xfe, 0xff, 0x00, + 0x00, 0x01, 0x02, 0x00, 0xfd, 0xfe, 0xfd, 0xfc, 0xff, 0xfd, 0xff, 0x04, 0x04, 0x01, 0xfe, 0xfc, 0xfc, 0xfd, 0x00, 0x04, 0x01, 0xff, + 0xff, 0xff, 0x00, 0x01, 0x00, 0xfe, 0xfe, 0xfe, 0xfe, 0x02, 0x03, 0x00, 0xff, 0x03, 0x04, 0x00, 0xfe, 0xfd, 0xff, 0x00, 0x00, 0xff, + 0x00, 0x02, 0x03, 0x00, 0xfa, 0xfc, 0xff, 0xff, 0xff, 0x01, 0x03, 0x02, 0xff, 0x00, 0x01, 0x00, 0xff, 0xff, 0xff, 0x00, 0xfe, 0xfe, + 0x01, 0x02, 0x00, 0xfe, 0xff, 0x00, 0xfe, 0xfb, 0x00, 0x00, 0xfd, 0xfd, 0x00, 0x01, 0x01, 0xff, 0xfe, 0xfd, 0xfd, 0x02, 0x02, 0xff, + 0x00, 0xfe, 0xfd, 0xfe, 0x01, 0xfe, 0xfd, 0x01, 0xff, 0xfd, 0xfc, 0xfe, 0x02, 0x03, 0x00, 0x01, 0x00, 0xfd, 0xfc, 0xfd, 0x00, 0x02, + 0x02, 0x00, 0xff, 0x00, 0x02, 0x00, 0xfe, 0x00, 0x02, 0x02, 0x03, 0x03, 0xfd, 0xfa, 0xff, 0x03, 0x03, 0x00, 0xff, 0xff, 0x02, 0x03, + 0xfe, 0xfd, 0xfe, 0xff, 0xff, 0x00, 0x01, 0xfe, 0xfe, 0xfd, 0xfe, 0x01, 0x03, 0x02, 0x00, 0xff, 0x00, 0xff, 0xfc, 0xff, 0x01, 0x01, + 0x00, 0x01, 0xff, 0xfc, 0xfd, 0x00, 0x00, 0xfe, 0xff, 0x01, 0x01, 0xff, 0xfd, 0xfc, 0xfd, 0xfd, 0x01, 0x03, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x01, 0x01, 0xff, 0xff, 0x01, 0x00, 0xfd, 0xfe, 0x02, 0x04, 0xfd, 0xfd, 0x00, 0x00, 0xfe, 0xfb, 0xfb, 0xff, 0x00, 0x01, 0x03, + 0x04, 0x02, 0x00, 0xfe, 0x00, 0x02, 0x02, 0xfe, 0xff, 0x01, 0x00, 0xff, 0x00, 0x00, 0xfd, 0xff, 0x00, 0x00, 0xfe, 0xfe, 0x00, 0x00, + 0x00, 0xfd, 0xfd, 0x01, 0x02, 0x01, 0x01, 0xfe, 0x00, 0x02, 0xff, 0xfe, 0x00, 0x04, 0x02, 0x01, 0xff, 0xfd, 0xfd, 0xfe, 0xfd, 0xfb, + 0xff, 0x00, 0xff, 0xfe, 0x01, 0x02, 0xff, 0xff, 0xff, 0xff, 0x00, 0xfe, 0xfe, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x02, 0x01, 0xff, + 0xfe, 0xff, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x01, 0xff, 0xfc, 0xfe, 0xfd, 0xfc, 0xfe, 0x01, 0x02, 0x04, 0x05, 0x00, 0xfe, 0xff, 0xfd, + 0xfc, 0xfe, 0x01, 0xff, 0x01, 0x03, 0x01, 0xfd, 0xfd, 0xff, 0xff, 0x00, 0x01, 0x00, 0xff, 0xfc, 0xfe, 0x05, 0x05, 0x00, 0xfe, 0x01, + 0xfe, 0xfc, 0xff, 0xff, 0x00, 0x02, 0x05, 0x02, 0x00, 0xff, 0xfe, 0xfb, 0xfb, 0xfd, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x00, 0x00, + 0xff, 0xff, 0xfe, 0xfe, 0xff, 0x00, 0xfe, 0x01, 0x02, 0xff, 0xfb, 0xfd, 0x02, 0x05, 0x01, 0xff, 0x00, 0x00, 0x00, 0x01, 0x03, 0x00, + 0xfe, 0xfe, 0xfd, 0xfd, 0xfe, 0x02, 0x05, 0x04, 0x01, 0xfe, 0xfb, 0xfc, 0xfe, 0xfe, 0xfe, 0xff, 0x01, 0xff, 0xfe, 0xff, 0x00, 0x00, + 0x01, 0x01, 0x00, 0x01, 0x02, 0x01, 0xfe, 0xfd, 0xfe, 0xfe, 0xff, 0xfd, 0xfd, 0x00, 0x04, 0x00, 0xfa, 0xfd, 0x01, 0x00, 0xfb, 0xfc, + 0xff, 0x00, 0x02, 0x00, 0xfe, 0xfe, 0x00, 0x00, 0x01, 0x03, 0x03, 0x00, 0xfd, 0xfe, 0xff, 0x01, 0x02, 0xfe, 0xfd, 0xff, 0x00, 0xfd, + 0xfc, 0xff, 0x02, 0x02, 0x01, 0x01, 0x01, 0xff, 0x00, 0x04, 0x03, 0xff, 0xfe, 0x03, 0x04, 0x02, 0xff, 0x01, 0x00, 0xfe, 0xfe, 0xff, + 0xff, 0xfe, 0xff, 0xff, 0xff, 0xfd, 0x00, 0xfd, 0xfb, 0xff, 0x02, 0x01, 0xfe, 0xfe, 0x00, 0x01, 0xff, 0x02, 0x00, 0xfc, 0xff, 0x00, + 0x00, 0xff, 0xff, 0xfe, 0xff, 0x01, 0x01, 0xfd, 0xfb, 0xfc, 0x00, 0x01, 0xfd, 0xfd, 0xfe, 0x00, 0x01, 0x00, 0xfe, 0xfd, 0xff, 0x01, + 0x02, 0x01, 0x02, 0x02, 0x00, 0x00, 0xfd, 0xfd, 0xff, 0xff, 0x00, 0x03, 0x04, 0x01, 0xfd, 0xfc, 0x00, 0x01, 0x00, 0xff, 0x00, 0xfe, + 0xfe, 0x01, 0xff, 0x01, 0x03, 0x01, 0x01, 0x00, 0xfd, 0xfe, 0xfe, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xfe, 0xfc, 0xfb, 0x00, + 0x04, 0x02, 0x01, 0xfe, 0xfc, 0xff, 0x01, 0x00, 0xfe, 0x01, 0x03, 0x01, 0xfd, 0x00, 0x01, 0xff, 0xfd, 0x01, 0x02, 0xfe, 0xfd, 0xff, + 0x02, 0x01, 0xff, 0xfe, 0x00, 0x02, 0x03, 0x01, 0xfd, 0x00, 0xff, 0xfd, 0x00, 0x02, 0x01, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0x03, 0x04, + 0x00, 0xfa, 0x00, 0x02, 0xfd, 0xfe, 0x00, 0x01, 0x00, 0x02, 0x00, 0xfb, 0xff, 0x03, 0x03, 0xfe, 0xfc, 0xfe, 0x01, 0x00, 0x00, 0xfe, + 0xfc, 0x00, 0x00, 0xfc, 0xfa, 0xfd, 0xff, 0x00, 0x00, 0x03, 0x04, 0x01, 0xfd, 0xfb, 0xfd, 0x00, 0x03, 0x02, 0x01, 0x02, 0xfe, 0xfd, + 0x01, 0xfd, 0xff, 0x01, 0xfe, 0xfc, 0xfc, 0xfe, 0x01, 0xfe, 0xff, 0x04, 0x00, 0xfe, 0x00, 0x03, 0xfe, 0xff, 0x04, 0x03, 0x02, 0x01, + 0x02, 0x00, 0x00, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xfd, 0x01, 0x02, 0xfe, 0xfd, 0x00, 0x03, 0x00, 0x00, 0x02, 0x03, 0x02, 0xff, 0xff, + 0x02, 0x00, 0x02, 0x05, 0x02, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xfc, 0xfb, 0xfb, 0xfd, 0x00, 0x01, 0x00, + 0x00, 0x02, 0x01, 0xfe, 0xfd, 0xff, 0xff, 0xfe, 0x02, 0xff, 0xfb, 0xfe, 0x01, 0xff, 0xfc, 0xfb, 0xfc, 0xfd, 0xfc, 0xfd, 0xfd, 0xfe, + 0x01, 0x00, 0xfe, 0xfe, 0x02, 0x03, 0x02, 0x01, 0xff, 0x01, 0x03, 0x00, 0xff, 0xff, 0x00, 0xfe, 0x00, 0x00, 0xfe, 0xfd, 0x00, 0x02, + 0x00, 0xfd, 0x00, 0x04, 0x01, 0xfe, 0xff, 0x04, 0x04, 0x03, 0x03, 0x02, 0x00, 0x02, 0x05, 0x03, 0xff, 0xfd, 0x02, 0x01, 0x00, 0xff, + 0xff, 0xff, 0xfd, 0xfc, 0xff, 0x01, 0x01, 0xff, 0x00, 0xff, 0xfe, 0x04, 0xfe, 0xfa, 0x00, 0x00, 0xfe, 0xfd, 0xfc, 0x01, 0x02, 0xfd, + 0xfd, 0xff, 0xff, 0xfc, 0x02, 0x00, 0xf9, 0xf7, 0xfc, 0x00, 0x00, 0x00, 0x03, 0x01, 0xf8, 0xfe, 0x02, 0x01, 0x00, 0x00, 0x01, 0xff, + 0xfd, 0xfc, 0xfc, 0xfe, 0x02, 0x02, 0x00, 0x00, 0xfd, 0xfc, 0x00, 0x04, 0x03, 0x00, 0x00, 0x00, 0xff, 0xff, 0x02, 0x01, 0x00, 0x00, + 0xff, 0xfd, 0xff, 0x06, 0x01, 0xfd, 0x00, 0x05, 0xfe, 0xfa, 0xff, 0x00, 0x00, 0x00, 0x03, 0xfe, 0xfe, 0x03, 0x04, 0x01, 0x00, 0x03, + 0x02, 0x00, 0xff, 0xff, 0x00, 0x01, 0x02, 0xff, 0xfb, 0xf9, 0xf8, 0xfd, 0x00, 0x00, 0xfe, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xfe, 0xfe, 0x01, 0x03, 0x03, 0x01, 0xfd, 0xfb, 0xfe, 0xfd, 0xfd, 0xfd, 0xff, 0xff, 0xfd, 0xfb, 0xff, 0xff, 0xfe, 0x00, + 0x02, 0x01, 0xff, 0x03, 0x00, 0xff, 0x03, 0x06, 0x02, 0xfb, 0xfd, 0xfe, 0xff, 0x01, 0x05, 0x00, 0xfc, 0x00, 0x00, 0xfe, 0xfd, 0xfe, + 0xff, 0xff, 0xfe, 0x01, 0x01, 0xfe, 0xff, 0x02, 0x03, 0x01, 0xff, 0xff, 0x01, 0x02, 0x03, 0x03, 0x02, 0x00, 0xfc, 0xfc, 0xff, 0x00, + 0xfe, 0xfe, 0x01, 0x00, 0xff, 0xff, 0x00, 0xfe, 0xfe, 0x00, 0xfd, 0xff, 0x01, 0x00, 0x02, 0x01, 0xff, 0x00, 0xfe, 0xfd, 0xff, 0x00, + 0x00, 0xfe, 0xfe, 0xfe, 0xff, 0x00, 0x00, 0xfb, 0xfa, 0xff, 0x01, 0x00, 0xff, 0x00, 0x03, 0x05, 0x03, 0xfd, 0xfc, 0x00, 0x03, 0x00, + 0x01, 0x03, 0x01, 0x00, 0xfe, 0xfb, 0xfe, 0x01, 0x02, 0x01, 0x00, 0x01, 0x02, 0xfe, 0x00, 0x01, 0xfe, 0xfd, 0xff, 0x01, 0x01, 0xfe, + 0xfd, 0x00, 0x03, 0x02, 0x00, 0xff, 0x01, 0xfd, 0xfb, 0xfe, 0x05, 0x02, 0xfb, 0x00, 0x00, 0xfe, 0xfc, 0x02, 0x01, 0xfc, 0xfe, 0x02, + 0x02, 0xff, 0xfd, 0xff, 0x01, 0xfe, 0xfe, 0xfe, 0xff, 0x03, 0xff, 0xfe, 0x01, 0x00, 0xff, 0x00, 0x02, 0xff, 0xfd, 0xfd, 0xfe, 0x00, + 0x02, 0x03, 0xfd, 0xfe, 0x02, 0x02, 0xfe, 0xff, 0x02, 0x01, 0xfe, 0x00, 0x04, 0xff, 0xfe, 0xfe, 0xfc, 0xff, 0x01, 0x01, 0x01, 0xff, + 0xff, 0x03, 0x00, 0xff, 0x00, 0x00, 0xfe, 0xff, 0x03, 0x01, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x01, 0xfe, 0xfd, 0xff, 0x02, 0x00, + 0xfd, 0xfd, 0xfe, 0xfe, 0xfe, 0x02, 0x01, 0x01, 0x02, 0x02, 0x02, 0x00, 0xfe, 0xfa, 0xfc, 0x01, 0x02, 0x01, 0xff, 0xfe, 0xfc, 0xfd, + 0xfe, 0xfd, 0xfe, 0xfd, 0xfc, 0xff, 0x00, 0x00, 0xff, 0x01, 0x01, 0x00, 0xff, 0xfd, 0xfe, 0x01, 0x04, 0x02, 0x00, 0x01, 0x04, 0x02, + 0xff, 0x00, 0xfc, 0xfd, 0xff, 0xfd, 0xfe, 0x02, 0x05, 0xfe, 0xfc, 0xff, 0x02, 0x00, 0xfe, 0x00, 0x04, 0x04, 0x02, 0x02, 0x01, 0x00, + 0x00, 0x01, 0xfd, 0xff, 0x03, 0x00, 0xfd, 0xff, 0x02, 0x00, 0xff, 0xff, 0xfe, 0xfc, 0xfd, 0xff, 0xfe, 0xff, 0x02, 0x03, 0x02, 0x02, + 0x03, 0x00, 0xff, 0xfe, 0xfd, 0xff, 0x00, 0xff, 0x00, 0xfe, 0xfc, 0xfd, 0xfd, 0xfd, 0xfd, 0xfe, 0x01, 0xff, 0xfc, 0xfc, 0xff, 0xff, + 0xff, 0x01, 0x01, 0xff, 0xff, 0xfe, 0xff, 0x00, 0x02, 0x01, 0x01, 0x03, 0xff, 0xfb, 0xfb, 0x00, 0x01, 0x00, 0x00, 0x02, 0xff, 0xfc, + 0xfc, 0x03, 0x04, 0x01, 0xfe, 0x00, 0x01, 0x00, 0x02, 0x01, 0xff, 0xff, 0x00, 0xff, 0x00, 0x03, 0xfe, 0xfe, 0x02, 0x03, 0xff, 0xfe, + 0x01, 0xff, 0x00, 0x01, 0xfe, 0xfd, 0xfe, 0x00, 0x02, 0x02, 0x00, 0xff, 0xff, 0xfe, 0xfd, 0x00, 0x03, 0x03, 0xff, 0xfd, 0xfd, 0xfe, + 0xff, 0xfd, 0xfd, 0x00, 0x01, 0xff, 0xfd, 0xfe, 0xff, 0x04, 0x05, 0x00, 0xfe, 0xfd, 0xfd, 0xfc, 0xfe, 0x02, 0x04, 0xff, 0x00, 0x00, + 0xfc, 0xfc, 0xfd, 0x00, 0x02, 0x00, 0xff, 0x01, 0x01, 0xfe, 0xff, 0x03, 0x00, 0xff, 0x00, 0xff, 0x00, 0x01, 0x02, 0x01, 0xff, 0xfe, + 0xfd, 0xfc, 0xfc, 0xfe, 0xfe, 0xff, 0x00, 0x01, 0x01, 0x01, 0x01, 0x03, 0xff, 0xfc, 0xfd, 0x03, 0x01, 0xfd, 0x00, 0x05, 0x03, 0xfe, + 0xff, 0xfd, 0xfd, 0x00, 0x01, 0x01, 0x00, 0xfd, 0xfa, 0xfd, 0x01, 0x01, 0x01, 0x00, 0xfe, 0xfd, 0xff, 0x00, 0xff, 0x03, 0x05, 0x03, + 0x02, 0x00, 0xfd, 0xfb, 0x00, 0x02, 0x00, 0xfe, 0xff, 0x00, 0xfe, 0x00, 0xff, 0xfe, 0x00, 0xfe, 0xff, 0x00, 0xfe, 0xfd, 0xff, 0x02, + 0x00, 0x01, 0x01, 0xff, 0x01, 0x03, 0x02, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0x01, 0x01, 0xfd, 0xfc, 0xfd, 0xfe, 0xfd, 0xfe, 0x01, + 0xfd, 0xff, 0x04, 0x04, 0xff, 0xff, 0x01, 0x01, 0xfd, 0xfc, 0x00, 0x01, 0x01, 0x01, 0x02, 0x01, 0x00, 0x00, 0xfa, 0xfb, 0xfe, 0xff, + 0x02, 0x00, 0xff, 0x03, 0x00, 0xfe, 0xff, 0xfe, 0xfc, 0xfd, 0x00, 0x01, 0x01, 0x02, 0x03, 0x01, 0xff, 0xff, 0x00, 0xfe, 0xfd, 0xfd, + 0x00, 0x02, 0x02, 0x02, 0x02, 0x03, 0x01, 0xfc, 0xfa, 0xfd, 0x01, 0x00, 0x01, 0x03, 0x00, 0xff, 0x00, 0x01, 0x00, 0xff, 0xff, 0x00, + 0xff, 0x01, 0x06, 0x00, 0x00, 0x00, 0xfe, 0xfc, 0xff, 0x01, 0xfb, 0xfe, 0x02, 0x03, 0x02, 0x01, 0xfe, 0xfc, 0xfd, 0xfe, 0xfe, 0xff, + 0xff, 0xfe, 0xff, 0x02, 0x02, 0xff, 0xfd, 0xfc, 0xfe, 0x01, 0xff, 0x00, 0x02, 0x01, 0xfe, 0xff, 0x01, 0x00, 0xff, 0xfe, 0xfe, 0xff, + 0x00, 0x00, 0xfe, 0x01, 0x02, 0x00, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0x01, 0x02, 0x02, 0x00, 0x00, 0xff, 0xfe, 0xfe, 0x01, 0x03, 0x05, + 0x00, 0xfe, 0x03, 0x00, 0xfc, 0xfc, 0x02, 0x00, 0xfd, 0xfd, 0xfe, 0x01, 0x02, 0x01, 0x01, 0xff, 0xfd, 0xfe, 0x00, 0x01, 0x00, 0x02, + 0x01, 0x00, 0x02, 0x00, 0xfe, 0xff, 0x00, 0xff, 0xff, 0x01, 0x01, 0xff, 0xfe, 0xff, 0x00, 0xff, 0xfe, 0xfc, 0xfd, 0xff, 0x01, 0x01, + 0x00, 0xff, 0x00, 0xfd, 0xfe, 0xff, 0xfe, 0xff, 0x02, 0x03, 0x00, 0xfe, 0xff, 0x00, 0x00, 0xfe, 0xfd, 0xff, 0x01, 0x00, 0xfe, 0x00, + 0x01, 0x01, 0xff, 0xfc, 0xfd, 0x01, 0x01, 0x00, 0x00, 0x03, 0x01, 0x01, 0x02, 0x01, 0xfe, 0xfd, 0x00, 0x02, 0xfe, 0xfc, 0x01, 0x01, + 0x00, 0xff, 0xfe, 0xff, 0xfe, 0xfd, 0xfc, 0x00, 0x03, 0x00, 0xff, 0x00, 0x01, 0xff, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x03, 0x00, 0xff, + 0xff, 0xff, 0xfe, 0xff, 0x01, 0x01, 0xfe, 0xfd, 0xff, 0xff, 0x00, 0xff, 0xfd, 0xfd, 0xfe, 0x01, 0x02, 0x00, 0xff, 0xff, 0x01, 0x01, + 0xff, 0xff, 0x00, 0xfe, 0xff, 0x03, 0x03, 0x00, 0xfd, 0xfe, 0x01, 0x01, 0xfc, 0xfd, 0x00, 0x01, 0xff, 0x01, 0x01, 0xff, 0x00, 0x00, + 0xff, 0xfe, 0x01, 0x01, 0xff, 0xff, 0x01, 0x01, 0xff, 0xfe, 0x01, 0x02, 0xfd, 0xfe, 0xff, 0xff, 0xfc, 0x01, 0x03, 0xff, 0xfc, 0xfe, + 0x00, 0xfd, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x01, 0x01, 0xff, 0xfe, 0xfe, 0xfc, 0xfe, 0x01, 0x01, 0x00, 0xff, 0xff, 0x00, 0x01, + 0x01, 0x00, 0xfe, 0xfd, 0xfe, 0xfe, 0xff, 0x01, 0x00, 0x00, 0xfe, 0xfd, 0xff, 0xfe, 0xfe, 0x00, 0x02, 0x03, 0x01, 0xfe, 0x01, 0x01, + 0x01, 0x03, 0x01, 0xff, 0xff, 0xff, 0x01, 0x02, 0x01, 0x01, 0x01, 0x00, 0xff, 0xff, 0xfe, 0xfe, 0xfd, 0xfe, 0xff, 0xfe, 0x00, 0x01, + 0x01, 0x01, 0x01, 0xff, 0xfc, 0xfe, 0x01, 0x02, 0x00, 0x00, 0xff, 0xfe, 0x00, 0x01, 0x01, 0xff, 0xfe, 0xff, 0x00, 0x00, 0xfd, 0xfd, + 0xff, 0xff, 0x01, 0x01, 0xfc, 0xfe, 0xfe, 0xfd, 0xff, 0x05, 0x04, 0xfe, 0xfd, 0xfd, 0xff, 0x03, 0xff, 0xfd, 0xff, 0xff, 0xfe, 0xff, + 0x00, 0xfd, 0xff, 0x01, 0x00, 0xff, 0xfe, 0xfe, 0xfe, 0x00, 0x01, 0x00, 0xff, 0x01, 0x02, 0x01, 0x02, 0x03, 0x02, 0xfe, 0x00, 0x02, + 0x01, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x01, 0x02, 0xff, 0xfd, 0xff, 0xff, 0xfe, 0x00, 0x01, 0x02, 0x01, 0xff, 0xfd, 0xfd, 0xff, + 0x00, 0xff, 0xfe, 0x00, 0x03, 0xff, 0xfe, 0x01, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xff, 0x00, 0xff, 0xff, 0xff, 0xfe, 0x01, 0x01, 0xfd, + 0xf9, 0xfd, 0x00, 0x00, 0x02, 0x00, 0xff, 0xff, 0x00, 0xff, 0xfe, 0x00, 0x00, 0xff, 0xfe, 0x00, 0x03, 0x02, 0xff, 0xff, 0xfe, 0xfd, + 0xfd, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x01, 0x02, 0xff, 0xfe, 0xff, 0x00, 0x00, 0x01, 0x02, 0x01, 0x00, 0xff, + 0xfe, 0x01, 0x03, 0x01, 0x01, 0xfe, 0xfe, 0x00, 0xfe, 0xfd, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x02, 0x01, 0xff, 0xfe, + 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0xff, 0x00, 0x00, 0xfd, 0xfe, 0x00, 0x00, 0xfe, 0xfe, 0xfe, 0xfc, 0xfc, 0xff, 0x02, + 0x00, 0x00, 0x00, 0x01, 0x02, 0x01, 0xff, 0xfe, 0xff, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0xfe, 0xfd, 0xfe, 0xfe, 0x00, 0x01, 0x00, + 0xfe, 0xfd, 0xff, 0x00, 0x01, 0x00, 0x00, 0x00, 0xfe, 0xfd, 0xff, 0x02, 0x02, 0x00, 0x01, 0x01, 0xff, 0xfe, 0xff, 0xfe, 0xfe, 0x00, + 0x02, 0x01, 0xff, 0xfd, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x01, 0x01, 0x01, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x02, 0x02, 0x00, + 0xfe, 0xff, 0x01, 0x00, 0x00, 0x00, 0xff, 0xfc, 0xfd, 0xff, 0xfe, 0xff, 0x01, 0x02, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0x00, 0x03, + 0x01, 0xfe, 0xfe, 0xfe, 0xfd, 0xfe, 0x01, 0x02, 0x02, 0x00, 0xff, 0xff, 0xff, 0xfd, 0x02, 0xff, 0xfd, 0x00, 0x02, 0x00, 0xfd, 0xfe, + 0x00, 0x00, 0xfe, 0x00, 0xff, 0xfe, 0xfe, 0x03, 0x01, 0xfc, 0xfe, 0x02, 0x03, 0x00, 0xfd, 0xfe, 0x02, 0x04, 0x03, 0x00, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x01, 0xff, 0xfe, 0x00, 0xfe, 0xfd, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x00, 0x01, 0x01, 0xfd, 0x00, 0x03, 0x01, 0xff, + 0xfe, 0xfe, 0x00, 0x00, 0xff, 0xff, 0xff, 0x03, 0x02, 0xfd, 0xff, 0xfe, 0xfd, 0xfe, 0xfe, 0x00, 0x02, 0x01, 0xff, 0xfe, 0xff, 0xff, + 0xff, 0xff, 0xfc, 0x00, 0x03, 0x03, 0xff, 0xfd, 0xff, 0x01, 0xfd, 0xfe, 0x00, 0xfd, 0xfe, 0xfe, 0xfe, 0xff, 0x00, 0x01, 0x01, 0xfe, + 0xfe, 0x00, 0xfe, 0xfd, 0x00, 0x03, 0x03, 0x02, 0x01, 0x00, 0x01, 0xff, 0xfd, 0x01, 0x04, 0x03, 0x00, 0x02, 0xfe, 0xfc, 0xff, 0xff, + 0xfd, 0xfc, 0xff, 0x01, 0x01, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x01, 0x00, 0xff, 0x03, 0x04, 0xff, 0x00, 0xfe, 0xfd, 0x02, 0x02, + 0x00, 0xfe, 0xfe, 0xff, 0x01, 0x02, 0x00, 0xfe, 0xff, 0x01, 0xfc, 0xfc, 0xff, 0xff, 0x00, 0x01, 0x02, 0xff, 0xff, 0xff, 0x00, 0xfe, + 0xfd, 0xfe, 0x01, 0x01, 0xff, 0xfe, 0x00, 0x01, 0xfe, 0xfb, 0xfd, 0xff, 0x00, 0xfe, 0xff, 0x01, 0x02, 0xff, 0xff, 0xff, 0xfb, 0xff, + 0x01, 0xff, 0x01, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, 0xfe, 0xfd, 0x01, 0x03, 0xff, 0x00, 0x02, 0x02, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x01, 0x03, 0x02, 0x00, 0x01, 0x02, 0x00, 0xfe, 0xfe, 0x00, 0xfc, 0xfd, 0x03, 0x05, 0x01, 0xff, 0x00, 0xfd, 0xfd, + 0xff, 0x01, 0xfe, 0xff, 0x01, 0xff, 0xfd, 0xff, 0x02, 0x00, 0xff, 0xff, 0x00, 0xff, 0xfb, 0xfa, 0x02, 0x02, 0x00, 0x01, 0xff, 0xff, + 0x00, 0xfd, 0xfe, 0xff, 0xff, 0xff, 0x01, 0x01, 0xff, 0xfb, 0xfe, 0x01, 0x00, 0xfe, 0xff, 0x01, 0xff, 0x00, 0x00, 0xfe, 0xff, 0x02, + 0x02, 0xfd, 0xfe, 0x00, 0x00, 0xff, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0xfe, 0xfe, 0x01, 0x03, 0xfd, 0xfe, 0x02, 0xff, 0xfe, 0xff, + 0x01, 0xfe, 0xff, 0x00, 0xff, 0x02, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0x01, 0x01, 0x02, 0xff, 0xfe, 0xff, 0x00, 0xfd, 0xfd, + 0x00, 0x01, 0xff, 0xfc, 0xfa, 0xfe, 0x00, 0x00, 0xfe, 0xfe, 0xfd, 0xfd, 0x02, 0x03, 0x02, 0x01, 0x03, 0x01, 0xfd, 0xfd, 0xff, 0x01, + 0x02, 0x01, 0x00, 0xff, 0xfd, 0xfe, 0xff, 0xff, 0x01, 0xfe, 0xfc, 0xfe, 0x00, 0xff, 0xfe, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x01, 0x00, 0x02, 0x00, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0xfe, 0xfe, 0x00, 0x02, 0x00, 0xfe, 0xfd, 0x00, 0x02, + 0xff, 0xfe, 0x02, 0x03, 0xfc, 0xfd, 0x00, 0x02, 0x00, 0x00, 0x00, 0xfc, 0xfe, 0xff, 0xfd, 0xfd, 0x00, 0x01, 0xfd, 0xfc, 0xfd, 0xfe, + 0xfd, 0x01, 0x02, 0x00, 0x00, 0x00, 0xff, 0xff, 0x01, 0x00, 0xff, 0x02, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x01, 0xff, 0xfe, 0xfe, + 0x01, 0x01, 0xff, 0xfe, 0xff, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x02, 0xfe, 0xfe, 0x01, 0x01, 0x00, 0xff, 0x00, 0x00, 0x01, 0x01, + 0xff, 0xfe, 0xfe, 0x00, 0xff, 0x01, 0x02, 0xfd, 0x00, 0x04, 0x04, 0x00, 0xfe, 0xfd, 0xfe, 0xfc, 0xfd, 0x00, 0x01, 0xff, 0x01, 0x03, + 0xfc, 0xfe, 0x00, 0xfd, 0xff, 0xff, 0xfe, 0xfc, 0x01, 0x03, 0x00, 0x00, 0xff, 0xfd, 0xfc, 0xfc, 0xff, 0x02, 0xfc, 0xff, 0x03, 0x01, + 0xff, 0xfe, 0xfd, 0xfc, 0xfc, 0xfe, 0x00, 0xff, 0x01, 0x02, 0x02, 0x02, 0x01, 0xfe, 0xfc, 0xff, 0x00, 0x00, 0x01, 0x03, 0x03, 0x01, + 0xff, 0x00, 0x00, 0xfe, 0xfe, 0x00, 0x01, 0xff, 0xff, 0x01, 0x02, 0x02, 0x00, 0xfe, 0xfe, 0x00, 0x01, 0x00, 0x00, 0x01, 0x03, 0x04, + 0x01, 0x00, 0x00, 0xff, 0xfe, 0xff, 0x00, 0xff, 0xfe, 0xfd, 0xfe, 0xff, 0x00, 0xff, 0xff, 0xfc, 0xfd, 0x02, 0x02, 0x00, 0x00, 0x01, + 0x00, 0xff, 0x00, 0xff, 0xff, 0x01, 0x02, 0xfe, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfb, 0xfc, 0x00, 0xfe, 0xfe, 0xff, 0x00, + 0xfe, 0xfd, 0xfe, 0x02, 0x01, 0xff, 0xff, 0x03, 0x01, 0xfc, 0xfe, 0x00, 0x01, 0x00, 0xfe, 0xff, 0x01, 0x01, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0xff, 0x02, 0x01, 0xfe, 0xfe, 0x02, 0x03, 0x01, 0x01, 0x02, 0x03, 0x01, 0x00, 0x02, 0x02, 0xfc, 0x00, 0x01, 0xfe, 0xff, + 0xfe, 0xfe, 0x00, 0xfd, 0xfe, 0x01, 0x02, 0xff, 0xfe, 0xff, 0xff, 0xfe, 0x00, 0x02, 0x02, 0xff, 0xfd, 0x00, 0x00, 0x01, 0x02, 0x00, + 0xfe, 0xfe, 0xff, 0xfd, 0xff, 0x01, 0x00, 0xfe, 0xfe, 0xfe, 0x00, 0xfe, 0xfd, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfd, + 0xfe, 0xff, 0xff, 0x01, 0x01, 0x00, 0xfe, 0xfd, 0xfe, 0x01, 0x03, 0x01, 0x00, 0x01, 0x01, 0xfe, 0xfd, 0xfe, 0x00, 0x01, 0xff, 0x01, + 0x00, 0xfe, 0xfe, 0x01, 0x03, 0x01, 0xfe, 0xff, 0x00, 0x00, 0xfc, 0xfe, 0x03, 0x04, 0x02, 0xff, 0xfe, 0x00, 0xff, 0xfe, 0x00, 0x01, + 0x00, 0xff, 0x01, 0xff, 0xfd, 0xfe, 0xfc, 0xff, 0x01, 0xfd, 0x00, 0x02, 0x00, 0xff, 0xfe, 0xff, 0x01, 0x00, 0xfe, 0xfe, 0x01, 0xff, + 0xff, 0x00, 0xff, 0x01, 0x02, 0x02, 0x01, 0x00, 0xfe, 0xfd, 0xfc, 0xff, 0x02, 0xff, 0x00, 0x00, 0xfe, 0xfd, 0xff, 0x01, 0x01, 0xff, + 0xff, 0x00, 0x01, 0x01, 0x01, 0x02, 0x04, 0x00, 0xfd, 0xff, 0xfe, 0xfd, 0xff, 0xff, 0x02, 0x03, 0xff, 0xfe, 0xfd, 0xfd, 0xff, 0xfe, + 0xfe, 0xfe, 0xfe, 0xff, 0x00, 0x02, 0x01, 0x02, 0x03, 0xff, 0xfe, 0xfe, 0xff, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0xff, 0xfd, 0xfd, + 0xfe, 0xff, 0xfd, 0xfe, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xfd, 0xfd, 0x00, 0x00, 0x00, 0x02, 0x02, 0x01, 0xff, 0xfe, 0xfe, 0x01, + 0x01, 0xfe, 0xff, 0xfd, 0xfc, 0x00, 0x00, 0xff, 0x00, 0x01, 0xfe, 0xfc, 0xfe, 0x00, 0x01, 0x01, 0x04, 0x02, 0xff, 0xff, 0x00, 0x00, + 0x01, 0x01, 0x00, 0x00, 0x00, 0xfe, 0x01, 0x01, 0xfd, 0xfd, 0x01, 0x03, 0xfe, 0xfc, 0xfe, 0x00, 0x00, 0x01, 0x02, 0x02, 0xfe, 0xfe, + 0x02, 0x03, 0x01, 0xff, 0xff, 0xfd, 0xff, 0x01, 0xff, 0x00, 0x01, 0x00, 0xfd, 0xfd, 0xff, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, + 0xff, 0x02, 0x01, 0xfe, 0xfd, 0x01, 0xff, 0xfc, 0xfe, 0x00, 0x00, 0x01, 0x00, 0x00, 0xfe, 0xfb, 0xfe, 0x01, 0x01, 0xff, 0xfe, 0xff, + 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0x00, 0x01, 0x02, 0x01, 0xff, 0xfe, 0xff, 0x00, 0x01, 0x00, 0x02, 0x03, + 0x02, 0xff, 0xff, 0x01, 0x01, 0xfe, 0xff, 0x02, 0x02, 0xff, 0xff, 0x03, 0xff, 0xff, 0x00, 0xfe, 0xff, 0x00, 0xff, 0xfd, 0x00, 0x02, + 0xff, 0xff, 0x01, 0x02, 0xfd, 0xff, 0x00, 0xff, 0xfe, 0x01, 0x02, 0x00, 0xff, 0xfe, 0xfd, 0xfe, 0xff, 0xfe, 0xfc, 0xfe, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0x01, 0x01, 0x00, 0xff, 0xfe, 0x01, 0x03, 0x02, 0xfe, 0xfd, 0xff, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xfe, 0xfd, 0xfd, 0xfe, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0xfe, 0xff, 0x00, 0xff, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, + 0x01, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x01, 0x02, 0x01, 0xff, 0xfe, 0xfe, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x01, + 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x00, 0x01, + 0xff, 0xff, 0xfe, 0xfd, 0x00, 0xff, 0xfe, 0x01, 0x01, 0x00, 0xff, 0x00, 0xfe, 0xfd, 0xfe, 0x00, 0xff, 0xfe, 0xff, 0x01, 0x00, 0xfe, + 0xff, 0x00, 0x00, 0x00, 0xfd, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x00, 0x01, 0x01, 0xff, 0xff, 0xff, 0x00, 0x00, 0x01, 0x00, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x02, 0x00, 0xfe, 0xff, 0x00, 0x00, 0xff, 0xff, 0x01, 0x01, 0x01, 0x01, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0x03, + 0x01, 0xff, 0xff, 0x00, 0x02, 0x01, 0xff, 0xff, 0xfd, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0x01, 0x00, 0xfe, 0xfd, 0xfe, + 0x00, 0x02, 0x01, 0x00, 0x00, 0xff, 0xfc, 0xfe, 0x00, 0x00, 0xfe, 0x00, 0x00, 0xfe, 0xfd, 0x00, 0x02, 0xff, 0xfd, 0xfd, 0xff, 0xff, + 0xfe, 0xff, 0x00, 0x02, 0x01, 0x00, 0x00, 0x01, 0xff, 0xfd, 0xfd, 0x00, 0x03, 0x03, 0x01, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xfd, + 0xfe, 0x00, 0x01, 0xff, 0xfe, 0xff, 0x02, 0xff, 0xfd, 0xff, 0x03, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x01, 0x00, 0xff, 0xff, 0x02, 0xff, 0xfe, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xfd, 0xff, 0x01, 0x01, 0x00, 0xfd, + 0xfe, 0x01, 0x00, 0xff, 0x00, 0x01, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x01, 0x02, 0xff, 0xfc, 0xfd, 0x00, 0x00, 0xff, 0xff, 0xff, + 0x00, 0xff, 0xfc, 0xff, 0x01, 0x01, 0xfe, 0x00, 0x00, 0xfe, 0xff, 0x00, 0x01, 0x02, 0x00, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0x01, 0x00, + 0xfe, 0xfd, 0xfe, 0x01, 0x01, 0xfe, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x02, 0x02, 0x01, 0x01, 0x00, 0x01, 0x00, 0xff, 0xff, 0x01, 0x00, + 0x00, 0x01, 0x02, 0x00, 0xfe, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0x00, 0xff, 0x00, 0x01, 0x01, 0x00, 0xff, 0xfe, 0xfe, 0x00, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x02, 0xfe, 0xfe, 0xfe, 0xfd, 0xfd, 0x00, 0x01, 0x01, 0xff, 0xff, 0x00, 0xff, 0xfe, 0xfe, 0x00, 0x00, + 0x00, 0x01, 0xff, 0x00, 0x01, 0x00, 0x00, 0xff, 0x00, 0x01, 0x01, 0xff, 0xfd, 0xfe, 0x01, 0x02, 0x00, 0xff, 0xff, 0xfe, 0xfd, 0x00, + 0x02, 0xff, 0xff, 0x01, 0x01, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0x01, 0x00, 0x02, 0x00, 0xfe, 0xff, 0x00, 0x00, 0xfe, 0x00, 0x00, + 0xff, 0xfe, 0xff, 0xff, 0xff, 0xfe, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, + 0x01, 0x01, 0x00, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x01, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x01, 0xff, 0x00, 0x01, 0x00, 0xfe, 0xfe, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x00, 0xff, 0xff, 0x00, 0x02, 0x01, 0x00, 0x00, 0xfe, 0xfd, 0x00, 0x01, 0xff, 0xfd, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, + 0xfe, 0xfd, 0xff, 0x01, 0xff, 0xfd, 0xfd, 0x00, 0x02, 0x00, 0x00, 0x02, 0xff, 0xfe, 0xfd, 0xfd, 0x00, 0x02, 0x01, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xfd, 0xfd, 0xff, 0xfe, 0xff, 0x01, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0x01, 0x00, 0xff, 0xff, 0x00, 0x00, 0x01, + 0x00, 0xfe, 0x00, 0x02, 0x01, 0xfe, 0xff, 0x02, 0x02, 0x00, 0xff, 0x01, 0xff, 0xfe, 0xfe, 0x01, 0x00, 0x01, 0x02, 0x01, 0xff, 0xfe, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, 0x01, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x02, 0x00, 0xfe, 0xfd, 0xfe, 0x00, 0xff, 0xfd, + 0xfd, 0xfd, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfd, + 0xfe, 0x00, 0xff, 0xfe, 0x00, 0x01, 0xff, 0xfe, 0x00, 0x00, 0xfd, 0xfd, 0xff, 0x00, 0x00, 0x03, 0x01, 0xff, 0x00, 0x02, 0x00, 0xfe, + 0x00, 0xff, 0xff, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0xfe, 0xfd, 0xfd, 0x00, 0x01, 0xff, 0x01, 0x00, 0x00, 0x01, 0xff, 0x00, 0x01, + 0x00, 0x01, 0x01, 0x00, 0xff, 0xff, 0x00, 0x02, 0x01, 0x00, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0x00, 0x02, 0x02, 0xfd, 0xfd, 0xff, 0x00, + 0xff, 0x00, 0x01, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xfe, 0xfe, 0x00, 0xff, 0xfe, 0xff, 0x00, 0xff, 0xfd, 0xfd, 0xff, 0xff, 0xfe, + 0x00, 0x00, 0xff, 0xfe, 0x02, 0x02, 0x00, 0xfe, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x01, 0x00, 0xff, 0xff, 0xfd, 0xfd, + 0x00, 0x01, 0x00, 0xff, 0x01, 0x00, 0xfe, 0x00, 0xff, 0xff, 0x01, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xfe, 0xfe, 0x00, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0xff, 0xff, 0xff, 0xfd, 0xff, 0x00, 0x00, 0xff, 0xff, 0x01, 0x01, 0x00, 0xfe, 0xfe, 0x00, + 0x00, 0xfe, 0xfe, 0xff, 0x01, 0x01, 0x00, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0xff, 0xff, 0x01, 0x01, 0x01, 0xff, 0x00, 0x01, 0xfe, + 0xfd, 0xff, 0x01, 0x00, 0xfe, 0xfe, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x01, 0x01, 0x00, 0xff, + 0xfe, 0xff, 0x00, 0xff, 0xfc, 0xfd, 0x01, 0x01, 0xff, 0xfe, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x01, 0x01, 0x00, 0x02, + 0x01, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xff, 0xff, 0x00, 0x00, 0xff, 0xfe, 0xfe, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, + 0xff, 0x00, 0x01, 0x01, 0x00, 0x00, 0xff, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0xff, 0xff, 0xfd, 0xfb, 0xfc, 0x01, 0x00, + 0x01, 0x01, 0xfe, 0xff, 0x00, 0x00, 0xfc, 0xfe, 0x01, 0x01, 0xff, 0x01, 0x02, 0x00, 0xff, 0xfe, 0xfe, 0x00, 0x00, 0xff, 0xff, 0xfe, + 0xfe, 0xff, 0x01, 0x00, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0x00, 0x01, 0x02, 0x01, 0xff, 0xff, 0x00, 0x01, 0xff, 0xfe, 0xfe, 0xff, 0x00, + 0x01, 0x00, 0xff, 0x00, 0xff, 0xfe, 0x01, 0xff, 0xfd, 0xff, 0x01, 0x00, 0xfe, 0x00, 0x00, 0xff, 0xff, 0xfe, 0x00, 0x02, 0x01, 0xff, + 0xff, 0x00, 0x01, 0x00, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x00, 0x01, 0x01, 0x00, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xfe, 0x00, 0x01, 0xff, 0xff, 0x00, 0x01, 0x01, 0xff, 0xfe, 0xfe, 0xff, 0x00, 0x01, 0x00, 0x00, + 0x00, 0x00, 0xfe, 0xff, 0x00, 0xfe, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x00, 0xff, 0x00, 0xff, 0xfd, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0x01, 0xff, 0xfd, 0xff, 0x00, 0xff, 0xff, 0x01, 0x01, + 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x01, 0x00, 0xff, 0xff, 0xfe, 0xfd, 0xfe, 0xff, 0x00, 0x00, 0x01, 0xff, 0xfe, 0xff, 0xfe, 0xfc, + 0xfe, 0x03, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0xfe, 0xfd, 0xff, 0x02, 0x01, 0xff, 0xff, 0x00, 0xff, + 0xfe, 0xff, 0xfe, 0xfe, 0x00, 0x02, 0x02, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xfe, 0x02, 0x03, 0x00, 0x01, 0x01, 0x00, 0x00, 0xff, 0xfe, + 0xff, 0x01, 0xff, 0xfd, 0xfe, 0xff, 0x00, 0x01, 0x01, 0x00, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x02, 0x02, 0xff, 0xfe, 0xfe, 0xff, + 0xff, 0xff, 0xfe, 0xfe, 0x00, 0x01, 0x00, 0xff, 0xff, 0xfe, 0xfc, 0xfc, 0xff, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0xff, 0xfd, + 0xfe, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x02, 0x01, 0xff, 0x00, 0xfe, 0xfe, 0xfe, + 0x00, 0x01, 0x00, 0x00, 0x00, 0xff, 0x00, 0x01, 0x00, 0x01, 0x01, 0xff, 0xfe, 0xff, 0x00, 0x00, 0x00, 0x01, 0x00, 0xff, 0x00, 0x00, + 0xfd, 0xfe, 0x00, 0x01, 0xfe, 0x00, 0x01, 0x01, 0xff, 0xff, 0xff, 0xfc, 0xff, 0x01, 0x00, 0xfd, 0x00, 0x02, 0x01, 0xff, 0xff, 0x00, + 0xfe, 0xff, 0xff, 0xfe, 0xff, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xfd, 0xfd, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x01, + 0x00, 0xfd, 0xfe, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x01, 0x01, + 0x00, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, + 0xff, 0xfe, 0xfe, 0x00, 0x01, 0xff, 0xfd, 0xff, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, + 0x01, 0x01, 0xff, 0xfe, 0xfe, 0xff, 0x00, 0x00, 0xfe, 0xfe, 0x00, 0xff, 0x00, 0x02, 0x02, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0x00, 0x03, + 0x01, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x01, 0xfe, 0xfe, 0x01, 0x00, 0xfd, 0xfe, 0x01, + 0x00, 0xff, 0x01, 0x01, 0xff, 0xfe, 0xff, 0x00, 0xff, 0xfe, 0x00, 0xff, 0xfe, 0xfe, 0x00, 0xff, 0xfe, 0xff, 0xff, 0xfe, 0xfe, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xfe, 0xff, 0xff, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x01, 0x00, 0x02, 0x01, 0xfe, 0xfe, 0x00, 0x01, 0xfd, + 0xff, 0x02, 0x02, 0x00, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x01, 0xff, 0x01, 0x02, 0x00, 0xfe, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x01, + 0x01, 0x00, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0x00, 0x00, 0x01, 0xff, 0xfd, 0xfe, 0x00, 0x00, 0xff, 0x01, + 0x01, 0x00, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0x00, 0x01, 0xff, 0xfe, 0x00, 0x02, 0x00, 0xfd, 0xfc, 0xfd, 0xfe, 0x00, 0x00, 0x00, 0x02, + 0x01, 0xff, 0xfe, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x01, 0x01, 0x00, 0x00, 0xff, 0xfe, 0xff, 0x00, 0x00, 0x01, 0x02, 0x00, + 0xff, 0xfe, 0xfe, 0x00, 0xff, 0xfe, 0x01, 0x01, 0x01, 0x00, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0xff, 0x00, 0x01, 0x01, 0x00, 0xff, + 0xff, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfd, 0xfd, 0xfe, 0xfe, 0xff, 0x03, 0x03, 0xff, 0xff, + 0x00, 0x00, 0xfd, 0xff, 0x01, 0x01, 0x00, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0x00, 0xfe, 0xfe, 0xff, 0xff, 0x00, 0xff, 0xfe, 0x00, 0x01, + 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0xfe, 0xfd, 0xfd, 0xff, 0x01, 0x01, 0x00, 0x00, 0xff, 0x00, + 0xfe, 0xfd, 0x00, 0x02, 0x02, 0x01, 0x01, 0x00, 0x00, 0xff, 0x00, 0x01, 0xff, 0x00, 0xff, 0xfe, 0x01, 0x01, 0x00, 0x00, 0x02, 0xff, + 0xfd, 0xfe, 0xff, 0xfe, 0xfe, 0x00, 0x01, 0x01, 0xff, 0xfe, 0xfe, 0x00, 0x02, 0x00, 0xff, 0xff, 0xff, 0x00, 0x01, 0x00, 0xfe, 0x01, + 0x01, 0xfd, 0xfe, 0xff, 0xff, 0x00, 0x01, 0x00, 0xfd, 0xff, 0x00, 0xff, 0xfc, 0xff, 0x00, 0xff, 0x01, 0x02, 0x00, 0xfd, 0xff, 0xff, + 0xff, 0x00, 0xff, 0xff, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x01, 0x00, 0xff, 0x00, 0x00, 0xff, 0xfe, + 0xff, 0x02, 0xfe, 0xfe, 0x01, 0x01, 0xff, 0xff, 0x01, 0x01, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xfe, 0xff, 0x00, 0x00, + 0xff, 0x00, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xfe, 0xfe, 0x01, 0x03, 0x01, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x00, 0xfe, 0xff, 0x00, 0x00, 0xfe, 0xff, 0xff, 0xfd, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0xfe, 0xfe, 0x00, 0x00, 0xfe, 0x00, 0x00, + 0xff, 0x00, 0x02, 0x02, 0xff, 0x00, 0x00, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x00, 0x01, 0x01, 0x00, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0x00, + 0x01, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0x00, 0x00, 0xff, 0xff, 0x01, 0x01, 0xfe, 0x00, 0x00, 0xfe, 0xfe, 0xfe, 0xff, + 0xfe, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0xff, 0xff, 0x00, 0xff, 0xfe, 0xff, 0xff, 0x00, 0x02, 0x01, 0xfe, 0xfd, 0x00, 0x00, 0xff, + 0xff, 0xfd, 0xfd, 0xff, 0x01, 0xfe, 0xfe, 0x02, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x01, 0x01, + 0xff, 0xfe, 0xff, 0x01, 0xff, 0xff, 0x00, 0x01, 0x00, 0xff, 0xff, 0x00, 0x02, 0x00, 0xfd, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x00, 0xff, 0xff, 0x00, 0x01, 0x01, 0x00, 0xff, 0xff, 0xff, 0x00, 0x01, 0x00, 0xff, 0xfe, 0xff, 0xff, 0x00, + 0x01, 0x02, 0x00, 0xfc, 0xfe, 0xff, 0xfe, 0x00, 0x00, 0x01, 0x01, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x01, 0xff, 0xff, 0x02, 0xfe, 0xfe, 0xff, 0xfe, 0xff, 0x00, 0x01, 0x00, 0x01, 0x02, 0x01, 0xfd, 0xfe, 0x01, 0x02, 0x01, 0x00, 0x01, + 0xff, 0x00, 0x01, 0x00, 0xfd, 0xfd, 0xfe, 0x00, 0xff, 0xfe, 0xff, 0x01, 0xff, 0xfd, 0x00, 0x00, 0x01, 0x01, 0xff, 0x00, 0x00, 0xfe, + 0x01, 0x02, 0x00, 0xfe, 0xff, 0xff, 0xfe, 0x00, 0xff, 0xfe, 0xfe, 0x01, 0x00, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0x00, 0x01, 0x01, 0x00, + 0x00, 0x00, 0xff, 0xfe, 0x00, 0x01, 0xff, 0xfe, 0xff, 0x00, 0x00, 0x02, 0x01, 0xff, 0xfe, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0xff, 0xff, 0x00, 0xff, 0xfe, 0xfe, 0x00, 0x00, 0x02, 0x02, 0x00, 0x00, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0xff, + 0xff, 0x00, 0x00, 0xfe, 0xff, 0x00, 0x00, 0xff, 0x00, 0x01, 0x00, 0xff, 0xff, 0xff, 0xfc, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, + 0xfe, 0xfe, 0x00, 0xff, 0xff, 0xff, 0x00, 0x01, 0x00, 0xff, 0xfd, 0xff, 0x00, 0xff, 0xff, 0x00, 0x01, 0xff, 0xfe, 0xfe, 0xfe, 0x00, + 0xff, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x02, 0x01, 0xfe, 0xfe, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0xff, 0xff, 0x01, 0x02, 0x02, 0x01, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0x00, 0xff, 0xfe, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x02, 0xff, 0xfe, 0x00, 0xff, 0x00, 0xff, 0xfe, 0xfe, + 0x00, 0x00, 0xff, 0x00, 0x01, 0x00, 0xfd, 0xfe, 0xff, 0xfd, 0xfe, 0x00, 0xff, 0xfd, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0xff, 0xff, 0x00, 0x01, 0x01, 0x01, 0xff, 0xfe, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0x00, 0xff, + 0xff, 0x00, 0x02, 0x02, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0xff, 0xfe, 0xff, 0x01, 0x00, 0x00, 0xff, 0xfe, 0xff, 0x00, + 0xff, 0xfe, 0x00, 0x01, 0x01, 0x01, 0xfe, 0xfc, 0xfd, 0xff, 0x01, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xfe, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xff, 0x00, 0xfe, 0x00, 0x01, 0xff, 0xfd, 0xfe, + 0xff, 0x01, 0x01, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x01, 0x00, 0xfd, 0xfe, 0xff, 0x00, 0x00, 0x00, 0x01, + 0x01, 0x00, 0x01, 0x01, 0xff, 0xfe, 0x00, 0x01, 0x00, 0xfe, 0xff, 0x01, 0x02, 0x01, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, + 0xff, 0x01, 0x00, 0xfe, 0xfe, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x01, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x00, 0xfe, 0xfe, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0x00, 0xff, 0x00, 0x00, 0xfd, 0xfd, 0x00, 0x02, 0x00, 0xff, 0xff, + 0x01, 0x01, 0x00, 0x00, 0x00, 0xfe, 0xff, 0x00, 0xfe, 0xff, 0xff, 0xff, 0x01, 0x01, 0x01, 0x01, 0xfe, 0xfd, 0xfe, 0xfe, 0xfe, 0x00, + 0x01, 0x02, 0x01, 0x00, 0x01, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0xfe, 0xfe, 0xff, 0x00, 0xfe, 0xff, 0xff, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x01, 0x00, 0xff, 0xff, 0xff, 0x02, 0x02, 0x00, 0x01, 0x00, 0xfe, 0xfd, 0xfe, 0xff, + 0x01, 0xff, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x01, 0xff, 0xfe, 0xff, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0xfe, + 0xfd, 0x00, 0x01, 0x00, 0x00, 0xff, 0xfe, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x01, 0x01, 0x00, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0x01, 0x01, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x00, 0x01, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, + 0x01, 0x00, 0xff, 0xfe, 0xff, 0x00, 0x01, 0x00, 0x01, 0x02, 0x01, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0x00, 0x02, 0x01, 0x00, 0xff, 0xff, + 0x01, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xfd, 0xff, 0x01, 0x00, 0xff, 0xff, 0x00, 0x01, 0xff, 0xff, 0x01, 0x02, + 0x00, 0xfe, 0xfe, 0xff, 0x00, 0x00, 0xff, 0x00, 0x01, 0x00, 0xff, 0xff, 0xfd, 0xfd, 0xfe, 0x00, 0x02, 0x01, 0xff, 0x00, 0x00, 0xff, + 0x00, 0xff, 0xfe, 0xff, 0x00, 0x01, 0x01, 0x00, 0xff, 0xff, 0x00, 0xff, 0xfe, 0xfd, 0xfd, 0xff, 0x00, 0xff, 0xff, 0x01, 0x00, 0xfe, + 0xfe, 0x00, 0x00, 0xfe, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff, 0xff, 0x01, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xfe, + 0xfd, 0xfe, 0x00, 0xfe, 0xff, 0x01, 0x01, 0xff, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xfe, 0xfe, 0x00, 0x00, 0xfe, 0xff, 0x00, 0x00, 0xff, 0xfc, 0xfe, 0x00, 0x01, 0xff, 0x00, 0x01, 0xff, 0xff, 0x00, 0x00, 0xfe, + 0xff, 0x01, 0x01, 0x00, 0x00, 0x01, 0xff, 0x00, 0x00, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xfe, 0xff, 0x00, 0xfe, 0x01, 0x02, 0x01, 0xfe, + 0xfe, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0x01, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x01, 0x01, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x01, 0x02, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, 0x01, + 0x01, 0x00, 0x01, 0xff, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x01, 0x00, 0xff, 0x00, 0x00, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, + 0x00, 0x00, 0xff, 0x00, 0xff, 0xfe, 0xfe, 0xff, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0x00, 0x02, + 0x01, 0xfe, 0xfe, 0x01, 0x02, 0x00, 0xff, 0xff, 0xff, 0xff, 0x01, 0x01, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xfe, 0xff, 0x00, + 0x00, 0xff, 0x01, 0x00, 0xff, 0xfe, 0x00, 0xff, 0xfe, 0xff, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0xff, 0x00, 0x00, 0xff, 0xfe, 0xfe, + 0xff, 0x01, 0x01, 0x00, 0x00, 0x01, 0xff, 0xfd, 0xfe, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x01, 0x01, 0x00, 0xfd, 0xff, + 0x00, 0xff, 0xfe, 0x00, 0x01, 0xff, 0x00, 0x00, 0xff, 0xfe, 0xfd, 0xfd, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0x01, 0x01, 0xff, 0x00, 0xff, + 0xfe, 0xff, 0x00, 0xff, 0x00, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x01, + 0x01, 0x00, 0xff, 0xfe, 0xfe, 0xff, 0x01, 0x01, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x01, 0x00, 0xff, + 0xfe, 0xff, 0x00, 0x00, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0x00, 0x01, 0x00, 0xfe, 0xfe, 0xff, 0x00, 0xfe, 0xfe, 0xff, 0x00, 0xff, 0x00, + 0x01, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xfe, 0xff, 0x01, 0x01, 0x01, 0x00, 0xfe, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x02, + 0x02, 0x00, 0xfe, 0xff, 0xff, 0xfe, 0xff, 0x00, 0x01, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x01, 0x01, 0x00, 0xff, 0xff, 0xff, + 0xfe, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x01, 0x02, + 0xff, 0xfe, 0xff, 0x00, 0xfd, 0xfe, 0x00, 0x01, 0xff, 0xfe, 0xfe, 0xff, 0xfd, 0xfe, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xfd, 0xff, 0x01, 0x01, 0x01, 0x00, 0xff, 0xff, + 0xfe, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0xff, 0xff, 0x00, 0x00, 0xfd, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xfe, + 0x00, 0xfe, 0xfd, 0xff, 0x01, 0x01, 0x00, 0x00, 0x01, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x01, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0xfe, 0xfd, 0xff, 0x01, 0x01, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xff, 0x00, 0x01, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x01, 0x02, 0x00, 0xfe, 0xff, 0xfe, 0xff, 0x01, 0x00, 0x00, 0x00, 0x01, 0xfe, 0xff, 0x00, 0x00, + 0xff, 0x01, 0x02, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, + 0x00, 0xff, 0xff, 0xff, 0x01, 0x01, 0xfe, 0xff, 0x00, 0xfe, 0xfd, 0xff, 0x01, 0x01, 0x00, 0x00, 0x00, 0xff, 0xff, 0xfe, 0xfe, 0x00, + 0x01, 0x01, 0x00, 0xfe, 0xfe, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0xff, 0x00, 0xfe, 0xfe, 0xff, + 0x01, 0x01, 0x01, 0x00, 0x00, 0xff, 0xfe, 0xff, 0x00, 0x00, 0xfe, 0xff, 0x00, 0x01, 0xff, 0x00, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x01, 0x02, 0x01, 0x00, 0xff, 0xfe, 0x01, 0x00, 0xfe, 0xff, 0x01, 0x00, 0xfd, 0xfd, 0xff, 0x00, 0xfe, 0xfe, 0xff, 0xff, 0xfd, + 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x01, 0x00, 0xfe, 0xfd, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0xfe, 0xfe, + 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x01, 0x00, 0xff, 0x00, 0x03, 0x02, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x01, 0x00, 0xfe, 0x01, + 0x01, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0x00, 0xff, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x01, 0x02, 0x00, + 0xff, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xfd, 0xfd, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xfe, 0x00, 0x01, 0xfe, 0xff, 0x01, 0x00, 0xfe, 0xfc, 0xfe, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x01, 0x01, 0x00, 0xff, 0x00, 0x01, 0x01, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x01, 0x00, 0xff, + 0x00, 0x00, 0xfe, 0xfe, 0xff, 0x02, 0x01, 0xff, 0xfe, 0x01, 0x01, 0x01, 0x01, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x02, 0x01, + 0xff, 0xff, 0xfe, 0xfe, 0xff, 0x02, 0x00, 0xfe, 0xfe, 0xff, 0x00, 0xff, 0xfe, 0x00, 0x00, 0xfe, 0xfe, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0xfe, 0xfe, 0xff, 0xff, 0xfe, 0xfd, 0xfe, 0x01, 0x01, 0x00, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x01, + 0x01, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xfe, 0xfd, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0x00, 0x01, 0xff, 0xfe, + 0xff, 0x00, 0xfe, 0xff, 0x01, 0x00, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0x00, 0x00, 0xfe, 0xfe, 0xff, 0x00, 0x01, 0x02, 0xff, 0xfe, + 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x02, 0x01, 0x01, 0x00, 0xfe, 0xfe, 0x00, 0x00, 0xff, 0x01, 0x02, 0x01, 0xfe, 0xff, 0xff, + 0xfe, 0xff, 0x00, 0x01, 0xff, 0xff, 0x00, 0x01, 0x01, 0x00, 0xff, 0x00, 0x00, 0xff, 0xfe, 0xff, 0x01, 0x00, 0xff, 0xff, 0x00, 0xff, + 0xfd, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0x00, 0x00, 0xff, 0x00, 0x01, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xfe, 0xfe, 0x00, 0x01, 0x00, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x01, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xfe, 0xfe, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x01, 0x01, 0x00, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x01, 0xff, 0xfd, 0xfd, 0xfe, 0xff, + 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xfd, 0xfd, 0xff, 0xff, 0x00, 0x01, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0x00, 0xff, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0x01, 0x00, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x02, + 0x00, 0x00, 0x01, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x01, 0x00, 0xff, 0xff, + 0x02, 0x00, 0xfd, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xfe, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x01, 0x01, 0xff, 0xfd, 0xfe, 0xff, 0xfe, 0xff, 0x00, 0x00, 0xfe, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0x00, 0x01, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x01, 0x00, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0x00, 0x00, 0x02, 0x03, 0x00, + 0xff, 0xff, 0x01, 0x00, 0xff, 0xff, 0x00, 0x01, 0x01, 0x00, 0x01, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xfe, 0xff, 0x00, 0x00, + 0x01, 0x01, 0xff, 0xfe, 0xff, 0xff, 0x00, 0x00, 0x01, 0x01, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xfd, + 0xfe, 0x00, 0x00, 0xfe, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x01, 0x01, 0x00, 0x00, 0x02, 0x00, 0xfe, 0xfe, 0x00, 0x00, 0x01, 0x00, 0x00, + 0xff, 0xfe, 0xff, 0x00, 0x00, 0xfe, 0xfc, 0xfe, 0x01, 0x01, 0xff, 0x00, 0x00, 0xfe, 0xff, 0x00, 0x01, 0xff, 0xff, 0x00, 0x00, 0x01, + 0x00, 0xff, 0x01, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x01, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xfe, 0xff, + 0x01, 0x01, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfe, 0xfe, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xfd, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x01, + 0x00, 0xff, 0xff, 0xff, 0x00, 0x01, 0x00, 0xff, 0xff, 0x01, 0x00, 0xff, 0xff, 0x01, 0xff, 0xfe, 0x00, 0x00, 0xff, 0x00, 0x02, 0x01, + 0xff, 0xfe, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0x01, 0x01, 0xff, 0xfe, 0xff, + 0x01, 0x00, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x02, 0x01, 0xff, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x00, 0x00, 0xff, + 0xff, 0x01, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x01, 0x00, 0xff, 0xff, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0x00, 0x01, 0x01, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfe, 0xff, 0x00, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x02, 0x01, 0xff, 0xff, 0xff, + 0x00, 0xff, 0x00, 0x00, 0x00, 0xfe, 0xff, 0x00, 0xff, 0xff, 0xfe, 0xfe, 0x00, 0x01, 0x00, 0xff, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x00, + 0x00, 0xff, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xfe, 0xfe, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x01, 0x01, 0xff, 0xff, 0x00, 0xfe, 0xfe, + 0xff, 0x01, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0x01, 0x00, 0x00, 0x00, 0x01, 0xfe, 0xfd, 0xfe, 0xff, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xfe, 0xfe, 0xff, + 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xfe, 0xff, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0xfe, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xfe, 0xfe, 0x00, 0x00, 0x00, 0x01, 0x00, 0xff, 0xff, 0x01, 0x01, 0x00, 0xfe, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x01, + 0x00, 0x00, 0xff, 0xfe, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, + 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0x00, 0x00, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0x01, 0x01, + 0x00, 0x00, 0xff, 0xfd, 0x01, 0x01, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x01, + 0x02, 0x01, 0x00, 0xff, 0xff, 0x00, 0x01, 0x00, 0x01, 0x01, 0xff, 0xff, 0x00, 0x00, 0xfe, 0xff, 0x01, 0x01, 0xff, 0xfe, 0xff, 0x00, + 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x01, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, + 0xfe, 0xff, 0x00, 0x00, 0xfe, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0xff, 0xfe, + 0xfe, 0xff, 0x00, 0x01, 0xff, 0xfe, 0x01, 0x00, 0xff, 0xfe, 0xff, 0xff, 0xfe, 0xff, 0x00, 0x00, 0xff, 0x00, 0x01, 0x00, 0xff, 0xfe, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x01, 0x02, 0x01, 0x00, 0xfe, 0xfe, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x01, 0x01, 0xff, 0xfe, + 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x01, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x01, 0xff, 0xff, 0x00, 0x00, 0xff, + 0xff, 0xff, 0x00, 0x00, 0x01, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x01, 0x01, + 0xff, 0xfe, 0xff, 0xff, 0x00, 0x00, 0x01, 0x00, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x01, 0x00, 0xff, 0xfe, 0x01, 0x00, 0xff, 0x01, 0x01, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x01, 0x01, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0xff, 0xfe, 0xff, + 0x00, 0x00, 0xff, 0x00, 0x00, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x01, 0x00, 0xff, 0xfe, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xfd, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x01, 0x01, 0x00, 0xfd, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x03, 0x01, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0x00, 0xff, 0xff, 0x00, 0x01, 0x00, 0xff, 0xff, 0xff, 0xff, + 0x01, 0x01, 0x00, 0xfe, 0xfe, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xfd, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0xfe, 0xfe, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xff, 0x00, 0xfe, 0x00, 0x01, 0xff, 0xff, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xfe, 0x00, 0xfe, 0xfe, + 0x01, 0x00, 0x00, 0xff, 0xfe, 0xff, 0xff, 0x00, 0x01, 0x00, 0xff, 0x00, 0x01, 0x00, 0xff, 0x01, 0x01, 0x00, 0xff, 0x00, 0xff, 0xff, + 0x00, 0x01, 0x00, 0x00, 0xfe, 0xfd, 0xfd, 0xfe, 0xff, 0x00, 0x00, 0x00, 0xff, 0x01, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xfe, 0xfe, 0xff, 0x00, 0x00, 0x00, 0xfe, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xfe, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0x00, 0x02, 0x01, 0xfe, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, + 0x00, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x01, 0xff, 0xfe, 0xff, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0xff, + 0xff, 0xfe, 0xfe, 0xff, 0xff, 0x00, 0x01, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xfe, 0xff, 0x00, 0xff, 0x00, 0x01, 0x01, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x02, 0x00, 0xff, 0xff, 0xff, 0x00, 0x01, 0x00, 0xff, 0xff, 0x00, 0x01, 0x01, 0x00, 0xff, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xfe, 0xff, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xfe, 0x00, 0x00, 0xfe, 0xfd, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x01, 0x00, 0xff, 0x00, 0x01, + 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x01, 0x00, 0xff, 0xfe, 0x00, 0xff, 0xfe, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe, + 0xff, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xfe, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0x00, 0xff, 0xfe, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xff, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0xfe, 0xfd, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x01, 0x00, 0xff, 0xff, 0x00, + 0xff, 0xfe, 0xfe, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x01, 0x01, 0x00, 0x00, 0xfe, + 0xfe, 0xff, 0x01, 0xff, 0xff, 0x01, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x01, 0x00, 0x01, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0xfe, 0xfe, 0xff, 0xff, 0x01, + 0x01, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x01, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x01, 0x00, 0xff, 0xff, 0xff, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0x00, 0x00, 0xff, 0xfe, 0xff, 0x00, 0x00, 0xff, 0xfe, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x01, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x01, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0xff, 0x00, 0xff, 0xff, + 0x00, 0x02, 0x00, 0xff, 0xfe, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xfe, 0xff, 0x00, 0xff, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0x00, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfd, 0xfd, 0xfe, 0xff, 0x00, 0x01, 0x01, 0x00, + 0xff, 0xfe, 0x00, 0x01, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0xfe, 0xfe, 0xff, 0x00, 0x00, 0x00, 0xff, + 0xfe, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x01, 0x01, 0x00, + 0xff, 0xff, 0xff, 0xfe, 0xfd, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x01, 0x00, 0xfe, 0xff, 0x00, 0x00, 0xfe, 0xfe, 0xff, 0x00, 0x00, 0x00, 0x01, + 0x02, 0xff, 0xfe, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x01, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0xfe, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, + 0x01, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x01, + 0xff, 0xff, 0x00, 0x01, 0xff, 0xff, 0x00, 0x00, 0xfe, 0xfe, 0xff, 0xfe, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xfe, 0xfe, 0xff, + 0x00, 0x01, 0x01, 0xff, 0x00, 0x00, 0x00, 0x01, 0x00, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xfe, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0xff, 0xfe, 0xff, 0xff, 0x01, 0x01, 0x00, 0x00, 0x00, 0xff, 0x00, 0xfe, 0xfe, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0x01, 0x01, 0x00, 0xff, 0x00, 0x00, 0xff, 0x01, 0x00, 0xff, 0x00, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x01, 0x00, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x01, 0x00, 0xff, 0xff, 0x00, + 0xff, 0xff, 0x00, 0x01, 0xff, 0xfe, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, 0x00, 0xff, 0xff, + 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xfe, + 0xfe, 0x00, 0x01, 0x01, 0x01, 0x00, 0xfe, 0xfe, 0x00, 0x00, 0xff, 0xfe, 0xff, 0x01, 0x00, 0xff, 0x00, 0x00, 0xfe, 0xfe, 0x00, 0x00, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x01, 0x01, 0xff, 0xfe, 0xff, 0x00, 0xff, 0xff, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x01, 0x00, 0xff, 0x00, 0x01, 0xff, 0x00, 0x01, 0x00, 0xfe, 0xfe, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xfe, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0x00, + 0x00, 0x00, 0xfe, 0xff, 0xff, 0x00, 0x00, 0xff, 0xfd, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x01, + 0x01, 0x00, 0x00, 0xff, 0xfe, 0xff, 0x00, 0xff, 0xfe, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfd, 0xfe, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x01, 0xff, 0xff, 0xff, 0x00, 0xfe, 0xfe, 0xff, 0xff, 0xff, + 0x00, 0x01, 0x00, 0xfe, 0xfd, 0xfe, 0xff, 0x01, 0x02, 0x00, 0x00, 0x01, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x01, 0x01, 0xff, 0xfe, + 0xff, 0x01, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xfe, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, + 0x01, 0x00, 0xff, 0xff, 0xfe, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xfe, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xfe, 0xff, 0xff, 0xff, 0x01, 0x01, 0x00, 0xff, 0x01, 0x00, 0xff, 0x00, 0x01, 0x00, + 0xfe, 0x00, 0x00, 0xff, 0xff, 0x00, 0x01, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x01, 0x01, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x01, 0x01, 0x00, 0x01, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x01, 0xff, 0xff, 0x00, 0xff, 0xfe, 0xff, + 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x01, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x01, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0x00, 0xfe, 0xff, 0x01, 0x01, 0xff, 0xfe, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, + 0x00, 0x01, 0x01, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, + 0xff, 0x01, 0x02, 0x01, 0xff, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0x01, 0x01, 0x00, 0x01, 0x00, 0xff, 0xfe, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xfe, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0xff, 0xfe, 0xff, 0x00, 0xff, 0x00, 0x02, 0x00, 0xff, 0xfe, 0xff, 0x01, 0x00, 0xff, 0xff, + 0xfe, 0xff, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xff, 0x00, 0xfe, + 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xff, 0x00, 0xff, 0x00, 0x00, 0xfe, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, + 0xff, 0x01, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xff, 0x00, 0xfe, 0xfd, 0xff, 0x00, + 0x00, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x01, 0xfe, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x01, 0x00, 0x01, + 0x00, 0xfe, 0xff, 0xff, 0xfe, 0xff, 0x00, 0x01, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0x00, 0x00, 0xfe, 0xff, 0x01, 0x01, 0x00, 0x00, 0xff, 0xfe, 0x00, 0x00, 0xff, 0xff, 0xfe, 0xfe, 0x00, 0x01, 0x01, 0x00, 0x00, 0xff, + 0xfe, 0x00, 0xff, 0xfe, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x02, 0x01, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0xff, 0x00, 0x01, 0x01, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xfe, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x01, 0xfe, 0xff, + 0x00, 0x00, 0xff, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff, 0xff, 0xfe, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xfe, 0xff, 0x01, 0x01, 0xff, 0xff, 0xff, 0x00, 0x01, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, + 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x01, 0x01, 0x00, 0x00, 0x01, 0x00, 0xfe, 0x00, 0xff, 0x00, + 0x00, 0xff, 0x00, 0x01, 0x00, 0xfe, 0xfe, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xfe, 0xff, 0x01, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xfe, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x01, 0x01, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, + 0x01, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xfe, + 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xfe, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xfe, 0xfe, 0xfe, 0xff, 0x00, 0x00, 0xff, 0x00, + 0x00, 0x00, 0xff, 0xfd, 0xfe, 0x00, 0x00, 0x00, 0x01, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x01, 0x01, 0xff, 0xfe, 0x00, 0x01, + 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x01, 0xff, 0xff, 0x00, + 0x01, 0x00, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xfe, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x00, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xfe, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0xff, 0xfd, 0xfe, 0x00, 0xfe, + 0xff, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x00, 0xfe, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xfe, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x00, 0x01, 0x00, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xfe, 0xfe, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xfe, 0x00, 0x01, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x01, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x01, 0xff, 0xff, 0x00, 0xfe, 0xfe, 0x00, 0x00, 0x01, 0x01, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x01, 0x00, 0xff, 0xff, 0x00, 0xfe, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0xff, 0x00, 0x00, + 0xff, 0xff, 0x01, 0x01, 0xff, 0x00, 0x00, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xfe, 0x01, 0x01, 0x00, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xfe, + 0xfe, 0x00, 0x01, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x01, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x01, 0x01, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x01, 0x01, 0xff, 0xff, 0x00, + 0x00, 0xff, 0x00, 0x00, 0xff, 0xfe, 0xff, 0x01, 0x00, 0xff, 0x00, 0x00, 0xff, 0xfe, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0xfe, 0xfe, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, + 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xfe, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xfe, 0xff, 0xff, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x01, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x01, 0x00, + 0xff, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x01, 0x01, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x00, 0x01, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, + 0x00, 0x01, 0x01, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0xfe, 0xfe, 0x00, + 0x01, 0x00, 0x00, 0x01, 0x00, 0xff, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x01, 0xff, 0x00, 0x00, 0xff, 0xfe, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xfe, 0xff, + 0xff, 0x00, 0x02, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, + 0x00, 0x00, 0xfe, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0x00, 0x01, 0xff, 0x00, 0x00, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x01, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xff, 0xff, 0xfe, 0xff, 0x00, 0x01, 0x01, + 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xff, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, + 0xff, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0x01, 0x00, + 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x01, 0xff, 0x00, 0x02, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfe, + 0xfe, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x01, 0x01, 0x00, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x01, 0x00, 0xff, 0xff, 0x00, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x01, 0x00, 0xff, + 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0xff, 0xfe, 0xfe, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x01, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x01, 0xfe, 0xfe, 0xff, 0x00, 0xff, 0xff, + 0xff, 0x00, 0xff, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x01, 0x01, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x01, 0x01, 0xff, 0xff, + 0xff, 0x00, 0xff, 0x00, 0x01, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xfe, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xfe, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, + 0xfe, 0xfe, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xff, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, + 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x01, 0x00, 0xfe, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xfe, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xfe, 0xff, 0x00, 0x00, 0xff, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x01, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, + 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xfe, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xfe, 0xfd, 0xff, 0x00, 0x00, 0xff, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x01, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x01, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xfe, 0xff, 0x01, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0xfe, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x01, 0xff, 0xfe, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0xff, 0xff, 0xfe, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0x01, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0x01, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x01, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfe, + 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x01, 0x00, 0x00, 0xff, 0xfe, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xff, + 0x00, 0xff, 0x00, 0x01, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0xff, 0xfe, 0xff, 0x01, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0xff, 0x00, 0x00, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xfe, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x00, 0xff, 0xfe, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x01, 0xff, 0xff, 0x00, 0x00, 0xff, 0xfe, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xfe, 0xff, 0x00, 0xfe, 0xfe, 0x00, 0x01, 0x01, 0x01, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0xff, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x01, 0x01, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xfe, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xfe, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x01, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x01, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x01, 0x00, 0xff, 0xff, 0x00, 0xff, + 0xff, 0x00, 0x00, 0xfe, 0xfe, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0x00, 0x01, 0x00, 0xfe, 0xfe, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x01, 0x00, 0xff, 0x00, 0x00, 0xfe, 0xff, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x01, 0xff, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x01, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xfe, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0xfe, 0xfe, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, + 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xfe, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xff, 0x00, 0xff, 0x00, 0x00, 0x01, 0x00, 0xff, 0xff, + 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0xfe, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x01, 0x00, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x01, 0x01, 0x00, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x01, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x01, 0xff, 0xfe, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, + 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x01, 0x01, 0xff, 0xff, 0xff, 0xfe, 0xff, 0x00, 0x00, 0xff, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x01, 0x00, 0xff, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, + 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0xff, 0xfe, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x01, 0x01, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0xff, 0xfe, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x01, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x01, 0x00, 0xff, 0xff, + 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfd, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0xff, 0x00, 0x01, 0x00, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0xff, 0xff, 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x01, 0x00, 0x00, 0xff, 0xfe, 0xff, 0xff, 0xff, 0x00, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x00, 0xff, 0xfe, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xfe, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x01, 0x00, 0xff, + 0xff, 0x00, 0xff, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x01, 0x00, 0xff, 0xff, 0xff, 0x00, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xfe, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xff, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xfe, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xfe, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x01, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, + 0xff, 0x00, 0xff, 0xff, 0x00, 0x01, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xfe, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x01, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xfe, 0xfe, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x01, 0x00, 0xfe, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x01, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x01, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xfe, 0x00, 0xff, 0xff, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xfe, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xfe, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x01, 0x01, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x01, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, + 0xff, 0xfe, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x01, 0x00, + 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xfe, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, + 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x01, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x01, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x01, 0x00, 0xff, 0x00, 0x00, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xfe, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, + 0x00, 0x01, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x01, 0x01, + 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x01, 0x00, 0xff, 0x00, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, + 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x01, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x01, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, + 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xfe, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, + 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, + 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xfe, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, + 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, + 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, + 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, + 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, + 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, + 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, + 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, + 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, + 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, + 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, + 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, + 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, + 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, + 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, + 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, + 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, + 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, + 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, + 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, + 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, + 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, + 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, + 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, + 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, + 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, + 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, + 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, + 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, + 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, + 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, + 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, + 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, + 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, + 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, + 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, + 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, + 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, + 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, + 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, + 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, + 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, + 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, + 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, + 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, + 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, + 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, + 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, + 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, + 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, + 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, + 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, + 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, + 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, + 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, + 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, + 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, + 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, + 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, + 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, + 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, + 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, + 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, + 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, + 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, + 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, + 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, + 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, + 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, + 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, + 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, + 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, + 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, + 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, + 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, + 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, + 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, + 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, + 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, + 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, + 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, + 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, + 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, + 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, + 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, + 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, + 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, + 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, + 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, + 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, + 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, + 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, + 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, + 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, + 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, + 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, + 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, + 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, + 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, + 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, + 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, +}; +
new file mode 100644 --- /dev/null +++ b/getopt.c @@ -0,0 +1,85 @@ +/* + * getopt - get option letter from argv + * + * This is a version of the public domain getopt() implementation by + * Henry Spencer, changed for 4.3BSD compatibility (in addition to System V). + * It allows rescanning of an option list by setting optind to 0 before + * calling, which is why we use it even if the system has its own (in fact, + * this one has a unique name so as not to conflict with the system's). + * Thanks to Dennis Ferguson for the appropriate modifications. + * + * This file is in the Public Domain. + */ + +#include <string.h> +#include <unistd.h> + +char *optarg; /* Global argument pointer. */ +int optind = 0; /* Global argv index. */ +int opterr = 1; /* for compatibility, should error be printed? */ +int optopt; /* for compatibility, option character checked */ + +static char *scan = NULL; /* Private scan pointer. */ + +/* + * Print message about a bad option. + */ +static int badopt(const char *msg, int ch) +{ + if (opterr) { + write(2, msg, strlen(msg)); + write(2, &ch, 1); + write(2, "\n", 1); + } + return ('?'); +} + +int getopt(int argc, char *const argv[], const char *optstring) +{ + register char c; + register const char *place; + optarg = NULL; + + if (optind == 0) { + scan = NULL; + optind++; + } + + if (scan == NULL || *scan == '\0') { + if (optind >= argc + || argv[optind][0] != '-' + || argv[optind][1] == '\0') { + return (-1); + } + if (argv[optind][1] == '-' + && argv[optind][2] == '\0') { + optind++; + return (-1); + } + scan = argv[optind++]+1; + } + + c = *scan++; + optopt = c & 0377; + for (place = optstring; place != NULL && *place != '\0'; ++place) + if (*place == c) + break; + + if (place == NULL || *place == '\0' || c == ':' || c == '?') { + return (badopt("getopt: unknown option -", c)); + } + + place++; + if (*place == ':') { + if (*scan != '\0') { + optarg = scan; + scan = NULL; + } else if (optind >= argc) { + return (badopt("getopt: option requires argument -", c)); + } else { + optarg = argv[optind++]; + } + } + return (c & 0377); +} +
new file mode 100644 --- /dev/null +++ b/jisx0208.h @@ -0,0 +1,1019 @@ +/* + * JISX0208.1990-0 + */ + +static const unsigned short jisx0208_2uni_page21[690] = { + /* 0x21 */ + 0x3000, 0x3001, 0x3002, 0xff0c, 0xff0e, 0x30fb, 0xff1a, 0xff1b, + 0xff1f, 0xff01, 0x309b, 0x309c, 0x00b4, 0xff40, 0x00a8, 0xff3e, + 0xffe3, 0xff3f, 0x30fd, 0x30fe, 0x309d, 0x309e, 0x3003, 0x4edd, + 0x3005, 0x3006, 0x3007, 0x30fc, 0x2015, 0x2010, 0xff0f, 0xff3c, + 0x301c, 0x2016, 0xff5c, 0x2026, 0x2025, 0x2018, 0x2019, 0x201c, + 0x201d, 0xff08, 0xff09, 0x3014, 0x3015, 0xff3b, 0xff3d, 0xff5b, + 0xff5d, 0x3008, 0x3009, 0x300a, 0x300b, 0x300c, 0x300d, 0x300e, + 0x300f, 0x3010, 0x3011, 0xff0b, 0x2212, 0x00b1, 0x00d7, 0x00f7, + 0xff1d, 0x2260, 0xff1c, 0xff1e, 0x2266, 0x2267, 0x221e, 0x2234, + 0x2642, 0x2640, 0x00b0, 0x2032, 0x2033, 0x2103, 0xffe5, 0xff04, + 0x00a2, 0x00a3, 0xff05, 0xff03, 0xff06, 0xff0a, 0xff20, 0x00a7, + 0x2606, 0x2605, 0x25cb, 0x25cf, 0x25ce, 0x25c7, + /* 0x22 */ + 0x25c6, 0x25a1, 0x25a0, 0x25b3, 0x25b2, 0x25bd, 0x25bc, 0x203b, + 0x3012, 0x2192, 0x2190, 0x2191, 0x2193, 0x3013, 0xfffd, 0xfffd, + 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, + 0xfffd, 0x2208, 0x220b, 0x2286, 0x2287, 0x2282, 0x2283, 0x222a, + 0x2229, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, + 0xfffd, 0x2227, 0x2228, 0x00ac, 0x21d2, 0x21d4, 0x2200, 0x2203, + 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, + 0xfffd, 0xfffd, 0xfffd, 0x2220, 0x22a5, 0x2312, 0x2202, 0x2207, + 0x2261, 0x2252, 0x226a, 0x226b, 0x221a, 0x223d, 0x221d, 0x2235, + 0x222b, 0x222c, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, + 0xfffd, 0x212b, 0x2030, 0x266f, 0x266d, 0x266a, 0x2020, 0x2021, + 0x00b6, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0x25ef, + /* 0x23 */ + 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, + 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xff10, + 0xff11, 0xff12, 0xff13, 0xff14, 0xff15, 0xff16, 0xff17, 0xff18, + 0xff19, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, + 0xff21, 0xff22, 0xff23, 0xff24, 0xff25, 0xff26, 0xff27, 0xff28, + 0xff29, 0xff2a, 0xff2b, 0xff2c, 0xff2d, 0xff2e, 0xff2f, 0xff30, + 0xff31, 0xff32, 0xff33, 0xff34, 0xff35, 0xff36, 0xff37, 0xff38, + 0xff39, 0xff3a, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, + 0xff41, 0xff42, 0xff43, 0xff44, 0xff45, 0xff46, 0xff47, 0xff48, + 0xff49, 0xff4a, 0xff4b, 0xff4c, 0xff4d, 0xff4e, 0xff4f, 0xff50, + 0xff51, 0xff52, 0xff53, 0xff54, 0xff55, 0xff56, 0xff57, 0xff58, + 0xff59, 0xff5a, 0xfffd, 0xfffd, 0xfffd, 0xfffd, + /* 0x24 */ + 0x3041, 0x3042, 0x3043, 0x3044, 0x3045, 0x3046, 0x3047, 0x3048, + 0x3049, 0x304a, 0x304b, 0x304c, 0x304d, 0x304e, 0x304f, 0x3050, + 0x3051, 0x3052, 0x3053, 0x3054, 0x3055, 0x3056, 0x3057, 0x3058, + 0x3059, 0x305a, 0x305b, 0x305c, 0x305d, 0x305e, 0x305f, 0x3060, + 0x3061, 0x3062, 0x3063, 0x3064, 0x3065, 0x3066, 0x3067, 0x3068, + 0x3069, 0x306a, 0x306b, 0x306c, 0x306d, 0x306e, 0x306f, 0x3070, + 0x3071, 0x3072, 0x3073, 0x3074, 0x3075, 0x3076, 0x3077, 0x3078, + 0x3079, 0x307a, 0x307b, 0x307c, 0x307d, 0x307e, 0x307f, 0x3080, + 0x3081, 0x3082, 0x3083, 0x3084, 0x3085, 0x3086, 0x3087, 0x3088, + 0x3089, 0x308a, 0x308b, 0x308c, 0x308d, 0x308e, 0x308f, 0x3090, + 0x3091, 0x3092, 0x3093, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, + 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, + /* 0x25 */ + 0x30a1, 0x30a2, 0x30a3, 0x30a4, 0x30a5, 0x30a6, 0x30a7, 0x30a8, + 0x30a9, 0x30aa, 0x30ab, 0x30ac, 0x30ad, 0x30ae, 0x30af, 0x30b0, + 0x30b1, 0x30b2, 0x30b3, 0x30b4, 0x30b5, 0x30b6, 0x30b7, 0x30b8, + 0x30b9, 0x30ba, 0x30bb, 0x30bc, 0x30bd, 0x30be, 0x30bf, 0x30c0, + 0x30c1, 0x30c2, 0x30c3, 0x30c4, 0x30c5, 0x30c6, 0x30c7, 0x30c8, + 0x30c9, 0x30ca, 0x30cb, 0x30cc, 0x30cd, 0x30ce, 0x30cf, 0x30d0, + 0x30d1, 0x30d2, 0x30d3, 0x30d4, 0x30d5, 0x30d6, 0x30d7, 0x30d8, + 0x30d9, 0x30da, 0x30db, 0x30dc, 0x30dd, 0x30de, 0x30df, 0x30e0, + 0x30e1, 0x30e2, 0x30e3, 0x30e4, 0x30e5, 0x30e6, 0x30e7, 0x30e8, + 0x30e9, 0x30ea, 0x30eb, 0x30ec, 0x30ed, 0x30ee, 0x30ef, 0x30f0, + 0x30f1, 0x30f2, 0x30f3, 0x30f4, 0x30f5, 0x30f6, 0xfffd, 0xfffd, + 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, + /* 0x26 */ + 0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397, 0x0398, + 0x0399, 0x039a, 0x039b, 0x039c, 0x039d, 0x039e, 0x039f, 0x03a0, + 0x03a1, 0x03a3, 0x03a4, 0x03a5, 0x03a6, 0x03a7, 0x03a8, 0x03a9, + 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, + 0x03b1, 0x03b2, 0x03b3, 0x03b4, 0x03b5, 0x03b6, 0x03b7, 0x03b8, + 0x03b9, 0x03ba, 0x03bb, 0x03bc, 0x03bd, 0x03be, 0x03bf, 0x03c0, + 0x03c1, 0x03c3, 0x03c4, 0x03c5, 0x03c6, 0x03c7, 0x03c8, 0x03c9, + 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, + 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, + 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, + 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, + 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, + /* 0x27 */ + 0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0401, 0x0416, + 0x0417, 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e, + 0x041f, 0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, + 0x0427, 0x0428, 0x0429, 0x042a, 0x042b, 0x042c, 0x042d, 0x042e, + 0x042f, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, + 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, + 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0451, 0x0436, + 0x0437, 0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, + 0x043f, 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, + 0x0447, 0x0448, 0x0449, 0x044a, 0x044b, 0x044c, 0x044d, 0x044e, + 0x044f, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, + 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, + /* 0x28 */ + 0x2500, 0x2502, 0x250c, 0x2510, 0x2518, 0x2514, 0x251c, 0x252c, + 0x2524, 0x2534, 0x253c, 0x2501, 0x2503, 0x250f, 0x2513, 0x251b, + 0x2517, 0x2523, 0x2533, 0x252b, 0x253b, 0x254b, 0x2520, 0x252f, + 0x2528, 0x2537, 0x253f, 0x251d, 0x2530, 0x2525, 0x2538, 0x2542, +}; +static const unsigned short jisx0208_2uni_page30[6398] = { + /* 0x30 */ + 0x4e9c, 0x5516, 0x5a03, 0x963f, 0x54c0, 0x611b, 0x6328, 0x59f6, + 0x9022, 0x8475, 0x831c, 0x7a50, 0x60aa, 0x63e1, 0x6e25, 0x65ed, + 0x8466, 0x82a6, 0x9bf5, 0x6893, 0x5727, 0x65a1, 0x6271, 0x5b9b, + 0x59d0, 0x867b, 0x98f4, 0x7d62, 0x7dbe, 0x9b8e, 0x6216, 0x7c9f, + 0x88b7, 0x5b89, 0x5eb5, 0x6309, 0x6697, 0x6848, 0x95c7, 0x978d, + 0x674f, 0x4ee5, 0x4f0a, 0x4f4d, 0x4f9d, 0x5049, 0x56f2, 0x5937, + 0x59d4, 0x5a01, 0x5c09, 0x60df, 0x610f, 0x6170, 0x6613, 0x6905, + 0x70ba, 0x754f, 0x7570, 0x79fb, 0x7dad, 0x7def, 0x80c3, 0x840e, + 0x8863, 0x8b02, 0x9055, 0x907a, 0x533b, 0x4e95, 0x4ea5, 0x57df, + 0x80b2, 0x90c1, 0x78ef, 0x4e00, 0x58f1, 0x6ea2, 0x9038, 0x7a32, + 0x8328, 0x828b, 0x9c2f, 0x5141, 0x5370, 0x54bd, 0x54e1, 0x56e0, + 0x59fb, 0x5f15, 0x98f2, 0x6deb, 0x80e4, 0x852d, + /* 0x31 */ + 0x9662, 0x9670, 0x96a0, 0x97fb, 0x540b, 0x53f3, 0x5b87, 0x70cf, + 0x7fbd, 0x8fc2, 0x96e8, 0x536f, 0x9d5c, 0x7aba, 0x4e11, 0x7893, + 0x81fc, 0x6e26, 0x5618, 0x5504, 0x6b1d, 0x851a, 0x9c3b, 0x59e5, + 0x53a9, 0x6d66, 0x74dc, 0x958f, 0x5642, 0x4e91, 0x904b, 0x96f2, + 0x834f, 0x990c, 0x53e1, 0x55b6, 0x5b30, 0x5f71, 0x6620, 0x66f3, + 0x6804, 0x6c38, 0x6cf3, 0x6d29, 0x745b, 0x76c8, 0x7a4e, 0x9834, + 0x82f1, 0x885b, 0x8a60, 0x92ed, 0x6db2, 0x75ab, 0x76ca, 0x99c5, + 0x60a6, 0x8b01, 0x8d8a, 0x95b2, 0x698e, 0x53ad, 0x5186, 0x5712, + 0x5830, 0x5944, 0x5bb4, 0x5ef6, 0x6028, 0x63a9, 0x63f4, 0x6cbf, + 0x6f14, 0x708e, 0x7114, 0x7159, 0x71d5, 0x733f, 0x7e01, 0x8276, + 0x82d1, 0x8597, 0x9060, 0x925b, 0x9d1b, 0x5869, 0x65bc, 0x6c5a, + 0x7525, 0x51f9, 0x592e, 0x5965, 0x5f80, 0x5fdc, + /* 0x32 */ + 0x62bc, 0x65fa, 0x6a2a, 0x6b27, 0x6bb4, 0x738b, 0x7fc1, 0x8956, + 0x9d2c, 0x9d0e, 0x9ec4, 0x5ca1, 0x6c96, 0x837b, 0x5104, 0x5c4b, + 0x61b6, 0x81c6, 0x6876, 0x7261, 0x4e59, 0x4ffa, 0x5378, 0x6069, + 0x6e29, 0x7a4f, 0x97f3, 0x4e0b, 0x5316, 0x4eee, 0x4f55, 0x4f3d, + 0x4fa1, 0x4f73, 0x52a0, 0x53ef, 0x5609, 0x590f, 0x5ac1, 0x5bb6, + 0x5be1, 0x79d1, 0x6687, 0x679c, 0x67b6, 0x6b4c, 0x6cb3, 0x706b, + 0x73c2, 0x798d, 0x79be, 0x7a3c, 0x7b87, 0x82b1, 0x82db, 0x8304, + 0x8377, 0x83ef, 0x83d3, 0x8766, 0x8ab2, 0x5629, 0x8ca8, 0x8fe6, + 0x904e, 0x971e, 0x868a, 0x4fc4, 0x5ce8, 0x6211, 0x7259, 0x753b, + 0x81e5, 0x82bd, 0x86fe, 0x8cc0, 0x96c5, 0x9913, 0x99d5, 0x4ecb, + 0x4f1a, 0x89e3, 0x56de, 0x584a, 0x58ca, 0x5efb, 0x5feb, 0x602a, + 0x6094, 0x6062, 0x61d0, 0x6212, 0x62d0, 0x6539, + /* 0x33 */ + 0x9b41, 0x6666, 0x68b0, 0x6d77, 0x7070, 0x754c, 0x7686, 0x7d75, + 0x82a5, 0x87f9, 0x958b, 0x968e, 0x8c9d, 0x51f1, 0x52be, 0x5916, + 0x54b3, 0x5bb3, 0x5d16, 0x6168, 0x6982, 0x6daf, 0x788d, 0x84cb, + 0x8857, 0x8a72, 0x93a7, 0x9ab8, 0x6d6c, 0x99a8, 0x86d9, 0x57a3, + 0x67ff, 0x86ce, 0x920e, 0x5283, 0x5687, 0x5404, 0x5ed3, 0x62e1, + 0x64b9, 0x683c, 0x6838, 0x6bbb, 0x7372, 0x78ba, 0x7a6b, 0x899a, + 0x89d2, 0x8d6b, 0x8f03, 0x90ed, 0x95a3, 0x9694, 0x9769, 0x5b66, + 0x5cb3, 0x697d, 0x984d, 0x984e, 0x639b, 0x7b20, 0x6a2b, 0x6a7f, + 0x68b6, 0x9c0d, 0x6f5f, 0x5272, 0x559d, 0x6070, 0x62ec, 0x6d3b, + 0x6e07, 0x6ed1, 0x845b, 0x8910, 0x8f44, 0x4e14, 0x9c39, 0x53f6, + 0x691b, 0x6a3a, 0x9784, 0x682a, 0x515c, 0x7ac3, 0x84b2, 0x91dc, + 0x938c, 0x565b, 0x9d28, 0x6822, 0x8305, 0x8431, + /* 0x34 */ + 0x7ca5, 0x5208, 0x82c5, 0x74e6, 0x4e7e, 0x4f83, 0x51a0, 0x5bd2, + 0x520a, 0x52d8, 0x52e7, 0x5dfb, 0x559a, 0x582a, 0x59e6, 0x5b8c, + 0x5b98, 0x5bdb, 0x5e72, 0x5e79, 0x60a3, 0x611f, 0x6163, 0x61be, + 0x63db, 0x6562, 0x67d1, 0x6853, 0x68fa, 0x6b3e, 0x6b53, 0x6c57, + 0x6f22, 0x6f97, 0x6f45, 0x74b0, 0x7518, 0x76e3, 0x770b, 0x7aff, + 0x7ba1, 0x7c21, 0x7de9, 0x7f36, 0x7ff0, 0x809d, 0x8266, 0x839e, + 0x89b3, 0x8acc, 0x8cab, 0x9084, 0x9451, 0x9593, 0x9591, 0x95a2, + 0x9665, 0x97d3, 0x9928, 0x8218, 0x4e38, 0x542b, 0x5cb8, 0x5dcc, + 0x73a9, 0x764c, 0x773c, 0x5ca9, 0x7feb, 0x8d0b, 0x96c1, 0x9811, + 0x9854, 0x9858, 0x4f01, 0x4f0e, 0x5371, 0x559c, 0x5668, 0x57fa, + 0x5947, 0x5b09, 0x5bc4, 0x5c90, 0x5e0c, 0x5e7e, 0x5fcc, 0x63ee, + 0x673a, 0x65d7, 0x65e2, 0x671f, 0x68cb, 0x68c4, + /* 0x35 */ + 0x6a5f, 0x5e30, 0x6bc5, 0x6c17, 0x6c7d, 0x757f, 0x7948, 0x5b63, + 0x7a00, 0x7d00, 0x5fbd, 0x898f, 0x8a18, 0x8cb4, 0x8d77, 0x8ecc, + 0x8f1d, 0x98e2, 0x9a0e, 0x9b3c, 0x4e80, 0x507d, 0x5100, 0x5993, + 0x5b9c, 0x622f, 0x6280, 0x64ec, 0x6b3a, 0x72a0, 0x7591, 0x7947, + 0x7fa9, 0x87fb, 0x8abc, 0x8b70, 0x63ac, 0x83ca, 0x97a0, 0x5409, + 0x5403, 0x55ab, 0x6854, 0x6a58, 0x8a70, 0x7827, 0x6775, 0x9ecd, + 0x5374, 0x5ba2, 0x811a, 0x8650, 0x9006, 0x4e18, 0x4e45, 0x4ec7, + 0x4f11, 0x53ca, 0x5438, 0x5bae, 0x5f13, 0x6025, 0x6551, 0x673d, + 0x6c42, 0x6c72, 0x6ce3, 0x7078, 0x7403, 0x7a76, 0x7aae, 0x7b08, + 0x7d1a, 0x7cfe, 0x7d66, 0x65e7, 0x725b, 0x53bb, 0x5c45, 0x5de8, + 0x62d2, 0x62e0, 0x6319, 0x6e20, 0x865a, 0x8a31, 0x8ddd, 0x92f8, + 0x6f01, 0x79a6, 0x9b5a, 0x4ea8, 0x4eab, 0x4eac, + /* 0x36 */ + 0x4f9b, 0x4fa0, 0x50d1, 0x5147, 0x7af6, 0x5171, 0x51f6, 0x5354, + 0x5321, 0x537f, 0x53eb, 0x55ac, 0x5883, 0x5ce1, 0x5f37, 0x5f4a, + 0x602f, 0x6050, 0x606d, 0x631f, 0x6559, 0x6a4b, 0x6cc1, 0x72c2, + 0x72ed, 0x77ef, 0x80f8, 0x8105, 0x8208, 0x854e, 0x90f7, 0x93e1, + 0x97ff, 0x9957, 0x9a5a, 0x4ef0, 0x51dd, 0x5c2d, 0x6681, 0x696d, + 0x5c40, 0x66f2, 0x6975, 0x7389, 0x6850, 0x7c81, 0x50c5, 0x52e4, + 0x5747, 0x5dfe, 0x9326, 0x65a4, 0x6b23, 0x6b3d, 0x7434, 0x7981, + 0x79bd, 0x7b4b, 0x7dca, 0x82b9, 0x83cc, 0x887f, 0x895f, 0x8b39, + 0x8fd1, 0x91d1, 0x541f, 0x9280, 0x4e5d, 0x5036, 0x53e5, 0x533a, + 0x72d7, 0x7396, 0x77e9, 0x82e6, 0x8eaf, 0x99c6, 0x99c8, 0x99d2, + 0x5177, 0x611a, 0x865e, 0x55b0, 0x7a7a, 0x5076, 0x5bd3, 0x9047, + 0x9685, 0x4e32, 0x6adb, 0x91e7, 0x5c51, 0x5c48, + /* 0x37 */ + 0x6398, 0x7a9f, 0x6c93, 0x9774, 0x8f61, 0x7aaa, 0x718a, 0x9688, + 0x7c82, 0x6817, 0x7e70, 0x6851, 0x936c, 0x52f2, 0x541b, 0x85ab, + 0x8a13, 0x7fa4, 0x8ecd, 0x90e1, 0x5366, 0x8888, 0x7941, 0x4fc2, + 0x50be, 0x5211, 0x5144, 0x5553, 0x572d, 0x73ea, 0x578b, 0x5951, + 0x5f62, 0x5f84, 0x6075, 0x6176, 0x6167, 0x61a9, 0x63b2, 0x643a, + 0x656c, 0x666f, 0x6842, 0x6e13, 0x7566, 0x7a3d, 0x7cfb, 0x7d4c, + 0x7d99, 0x7e4b, 0x7f6b, 0x830e, 0x834a, 0x86cd, 0x8a08, 0x8a63, + 0x8b66, 0x8efd, 0x981a, 0x9d8f, 0x82b8, 0x8fce, 0x9be8, 0x5287, + 0x621f, 0x6483, 0x6fc0, 0x9699, 0x6841, 0x5091, 0x6b20, 0x6c7a, + 0x6f54, 0x7a74, 0x7d50, 0x8840, 0x8a23, 0x6708, 0x4ef6, 0x5039, + 0x5026, 0x5065, 0x517c, 0x5238, 0x5263, 0x55a7, 0x570f, 0x5805, + 0x5acc, 0x5efa, 0x61b2, 0x61f8, 0x62f3, 0x6372, + /* 0x38 */ + 0x691c, 0x6a29, 0x727d, 0x72ac, 0x732e, 0x7814, 0x786f, 0x7d79, + 0x770c, 0x80a9, 0x898b, 0x8b19, 0x8ce2, 0x8ed2, 0x9063, 0x9375, + 0x967a, 0x9855, 0x9a13, 0x9e78, 0x5143, 0x539f, 0x53b3, 0x5e7b, + 0x5f26, 0x6e1b, 0x6e90, 0x7384, 0x73fe, 0x7d43, 0x8237, 0x8a00, + 0x8afa, 0x9650, 0x4e4e, 0x500b, 0x53e4, 0x547c, 0x56fa, 0x59d1, + 0x5b64, 0x5df1, 0x5eab, 0x5f27, 0x6238, 0x6545, 0x67af, 0x6e56, + 0x72d0, 0x7cca, 0x88b4, 0x80a1, 0x80e1, 0x83f0, 0x864e, 0x8a87, + 0x8de8, 0x9237, 0x96c7, 0x9867, 0x9f13, 0x4e94, 0x4e92, 0x4f0d, + 0x5348, 0x5449, 0x543e, 0x5a2f, 0x5f8c, 0x5fa1, 0x609f, 0x68a7, + 0x6a8e, 0x745a, 0x7881, 0x8a9e, 0x8aa4, 0x8b77, 0x9190, 0x4e5e, + 0x9bc9, 0x4ea4, 0x4f7c, 0x4faf, 0x5019, 0x5016, 0x5149, 0x516c, + 0x529f, 0x52b9, 0x52fe, 0x539a, 0x53e3, 0x5411, + /* 0x39 */ + 0x540e, 0x5589, 0x5751, 0x57a2, 0x597d, 0x5b54, 0x5b5d, 0x5b8f, + 0x5de5, 0x5de7, 0x5df7, 0x5e78, 0x5e83, 0x5e9a, 0x5eb7, 0x5f18, + 0x6052, 0x614c, 0x6297, 0x62d8, 0x63a7, 0x653b, 0x6602, 0x6643, + 0x66f4, 0x676d, 0x6821, 0x6897, 0x69cb, 0x6c5f, 0x6d2a, 0x6d69, + 0x6e2f, 0x6e9d, 0x7532, 0x7687, 0x786c, 0x7a3f, 0x7ce0, 0x7d05, + 0x7d18, 0x7d5e, 0x7db1, 0x8015, 0x8003, 0x80af, 0x80b1, 0x8154, + 0x818f, 0x822a, 0x8352, 0x884c, 0x8861, 0x8b1b, 0x8ca2, 0x8cfc, + 0x90ca, 0x9175, 0x9271, 0x783f, 0x92fc, 0x95a4, 0x964d, 0x9805, + 0x9999, 0x9ad8, 0x9d3b, 0x525b, 0x52ab, 0x53f7, 0x5408, 0x58d5, + 0x62f7, 0x6fe0, 0x8c6a, 0x8f5f, 0x9eb9, 0x514b, 0x523b, 0x544a, + 0x56fd, 0x7a40, 0x9177, 0x9d60, 0x9ed2, 0x7344, 0x6f09, 0x8170, + 0x7511, 0x5ffd, 0x60da, 0x9aa8, 0x72db, 0x8fbc, + /* 0x3a */ + 0x6b64, 0x9803, 0x4eca, 0x56f0, 0x5764, 0x58be, 0x5a5a, 0x6068, + 0x61c7, 0x660f, 0x6606, 0x6839, 0x68b1, 0x6df7, 0x75d5, 0x7d3a, + 0x826e, 0x9b42, 0x4e9b, 0x4f50, 0x53c9, 0x5506, 0x5d6f, 0x5de6, + 0x5dee, 0x67fb, 0x6c99, 0x7473, 0x7802, 0x8a50, 0x9396, 0x88df, + 0x5750, 0x5ea7, 0x632b, 0x50b5, 0x50ac, 0x518d, 0x6700, 0x54c9, + 0x585e, 0x59bb, 0x5bb0, 0x5f69, 0x624d, 0x63a1, 0x683d, 0x6b73, + 0x6e08, 0x707d, 0x91c7, 0x7280, 0x7815, 0x7826, 0x796d, 0x658e, + 0x7d30, 0x83dc, 0x88c1, 0x8f09, 0x969b, 0x5264, 0x5728, 0x6750, + 0x7f6a, 0x8ca1, 0x51b4, 0x5742, 0x962a, 0x583a, 0x698a, 0x80b4, + 0x54b2, 0x5d0e, 0x57fc, 0x7895, 0x9dfa, 0x4f5c, 0x524a, 0x548b, + 0x643e, 0x6628, 0x6714, 0x67f5, 0x7a84, 0x7b56, 0x7d22, 0x932f, + 0x685c, 0x9bad, 0x7b39, 0x5319, 0x518a, 0x5237, + /* 0x3b */ + 0x5bdf, 0x62f6, 0x64ae, 0x64e6, 0x672d, 0x6bba, 0x85a9, 0x96d1, + 0x7690, 0x9bd6, 0x634c, 0x9306, 0x9bab, 0x76bf, 0x6652, 0x4e09, + 0x5098, 0x53c2, 0x5c71, 0x60e8, 0x6492, 0x6563, 0x685f, 0x71e6, + 0x73ca, 0x7523, 0x7b97, 0x7e82, 0x8695, 0x8b83, 0x8cdb, 0x9178, + 0x9910, 0x65ac, 0x66ab, 0x6b8b, 0x4ed5, 0x4ed4, 0x4f3a, 0x4f7f, + 0x523a, 0x53f8, 0x53f2, 0x55e3, 0x56db, 0x58eb, 0x59cb, 0x59c9, + 0x59ff, 0x5b50, 0x5c4d, 0x5e02, 0x5e2b, 0x5fd7, 0x601d, 0x6307, + 0x652f, 0x5b5c, 0x65af, 0x65bd, 0x65e8, 0x679d, 0x6b62, 0x6b7b, + 0x6c0f, 0x7345, 0x7949, 0x79c1, 0x7cf8, 0x7d19, 0x7d2b, 0x80a2, + 0x8102, 0x81f3, 0x8996, 0x8a5e, 0x8a69, 0x8a66, 0x8a8c, 0x8aee, + 0x8cc7, 0x8cdc, 0x96cc, 0x98fc, 0x6b6f, 0x4e8b, 0x4f3c, 0x4f8d, + 0x5150, 0x5b57, 0x5bfa, 0x6148, 0x6301, 0x6642, + /* 0x3c */ + 0x6b21, 0x6ecb, 0x6cbb, 0x723e, 0x74bd, 0x75d4, 0x78c1, 0x793a, + 0x800c, 0x8033, 0x81ea, 0x8494, 0x8f9e, 0x6c50, 0x9e7f, 0x5f0f, + 0x8b58, 0x9d2b, 0x7afa, 0x8ef8, 0x5b8d, 0x96eb, 0x4e03, 0x53f1, + 0x57f7, 0x5931, 0x5ac9, 0x5ba4, 0x6089, 0x6e7f, 0x6f06, 0x75be, + 0x8cea, 0x5b9f, 0x8500, 0x7be0, 0x5072, 0x67f4, 0x829d, 0x5c61, + 0x854a, 0x7e1e, 0x820e, 0x5199, 0x5c04, 0x6368, 0x8d66, 0x659c, + 0x716e, 0x793e, 0x7d17, 0x8005, 0x8b1d, 0x8eca, 0x906e, 0x86c7, + 0x90aa, 0x501f, 0x52fa, 0x5c3a, 0x6753, 0x707c, 0x7235, 0x914c, + 0x91c8, 0x932b, 0x82e5, 0x5bc2, 0x5f31, 0x60f9, 0x4e3b, 0x53d6, + 0x5b88, 0x624b, 0x6731, 0x6b8a, 0x72e9, 0x73e0, 0x7a2e, 0x816b, + 0x8da3, 0x9152, 0x9996, 0x5112, 0x53d7, 0x546a, 0x5bff, 0x6388, + 0x6a39, 0x7dac, 0x9700, 0x56da, 0x53ce, 0x5468, + /* 0x3d */ + 0x5b97, 0x5c31, 0x5dde, 0x4fee, 0x6101, 0x62fe, 0x6d32, 0x79c0, + 0x79cb, 0x7d42, 0x7e4d, 0x7fd2, 0x81ed, 0x821f, 0x8490, 0x8846, + 0x8972, 0x8b90, 0x8e74, 0x8f2f, 0x9031, 0x914b, 0x916c, 0x96c6, + 0x919c, 0x4ec0, 0x4f4f, 0x5145, 0x5341, 0x5f93, 0x620e, 0x67d4, + 0x6c41, 0x6e0b, 0x7363, 0x7e26, 0x91cd, 0x9283, 0x53d4, 0x5919, + 0x5bbf, 0x6dd1, 0x795d, 0x7e2e, 0x7c9b, 0x587e, 0x719f, 0x51fa, + 0x8853, 0x8ff0, 0x4fca, 0x5cfb, 0x6625, 0x77ac, 0x7ae3, 0x821c, + 0x99ff, 0x51c6, 0x5faa, 0x65ec, 0x696f, 0x6b89, 0x6df3, 0x6e96, + 0x6f64, 0x76fe, 0x7d14, 0x5de1, 0x9075, 0x9187, 0x9806, 0x51e6, + 0x521d, 0x6240, 0x6691, 0x66d9, 0x6e1a, 0x5eb6, 0x7dd2, 0x7f72, + 0x66f8, 0x85af, 0x85f7, 0x8af8, 0x52a9, 0x53d9, 0x5973, 0x5e8f, + 0x5f90, 0x6055, 0x92e4, 0x9664, 0x50b7, 0x511f, + /* 0x3e */ + 0x52dd, 0x5320, 0x5347, 0x53ec, 0x54e8, 0x5546, 0x5531, 0x5617, + 0x5968, 0x59be, 0x5a3c, 0x5bb5, 0x5c06, 0x5c0f, 0x5c11, 0x5c1a, + 0x5e84, 0x5e8a, 0x5ee0, 0x5f70, 0x627f, 0x6284, 0x62db, 0x638c, + 0x6377, 0x6607, 0x660c, 0x662d, 0x6676, 0x677e, 0x68a2, 0x6a1f, + 0x6a35, 0x6cbc, 0x6d88, 0x6e09, 0x6e58, 0x713c, 0x7126, 0x7167, + 0x75c7, 0x7701, 0x785d, 0x7901, 0x7965, 0x79f0, 0x7ae0, 0x7b11, + 0x7ca7, 0x7d39, 0x8096, 0x83d6, 0x848b, 0x8549, 0x885d, 0x88f3, + 0x8a1f, 0x8a3c, 0x8a54, 0x8a73, 0x8c61, 0x8cde, 0x91a4, 0x9266, + 0x937e, 0x9418, 0x969c, 0x9798, 0x4e0a, 0x4e08, 0x4e1e, 0x4e57, + 0x5197, 0x5270, 0x57ce, 0x5834, 0x58cc, 0x5b22, 0x5e38, 0x60c5, + 0x64fe, 0x6761, 0x6756, 0x6d44, 0x72b6, 0x7573, 0x7a63, 0x84b8, + 0x8b72, 0x91b8, 0x9320, 0x5631, 0x57f4, 0x98fe, + /* 0x3f */ + 0x62ed, 0x690d, 0x6b96, 0x71ed, 0x7e54, 0x8077, 0x8272, 0x89e6, + 0x98df, 0x8755, 0x8fb1, 0x5c3b, 0x4f38, 0x4fe1, 0x4fb5, 0x5507, + 0x5a20, 0x5bdd, 0x5be9, 0x5fc3, 0x614e, 0x632f, 0x65b0, 0x664b, + 0x68ee, 0x699b, 0x6d78, 0x6df1, 0x7533, 0x75b9, 0x771f, 0x795e, + 0x79e6, 0x7d33, 0x81e3, 0x82af, 0x85aa, 0x89aa, 0x8a3a, 0x8eab, + 0x8f9b, 0x9032, 0x91dd, 0x9707, 0x4eba, 0x4ec1, 0x5203, 0x5875, + 0x58ec, 0x5c0b, 0x751a, 0x5c3d, 0x814e, 0x8a0a, 0x8fc5, 0x9663, + 0x976d, 0x7b25, 0x8acf, 0x9808, 0x9162, 0x56f3, 0x53a8, 0x9017, + 0x5439, 0x5782, 0x5e25, 0x63a8, 0x6c34, 0x708a, 0x7761, 0x7c8b, + 0x7fe0, 0x8870, 0x9042, 0x9154, 0x9310, 0x9318, 0x968f, 0x745e, + 0x9ac4, 0x5d07, 0x5d69, 0x6570, 0x67a2, 0x8da8, 0x96db, 0x636e, + 0x6749, 0x6919, 0x83c5, 0x9817, 0x96c0, 0x88fe, + /* 0x40 */ + 0x6f84, 0x647a, 0x5bf8, 0x4e16, 0x702c, 0x755d, 0x662f, 0x51c4, + 0x5236, 0x52e2, 0x59d3, 0x5f81, 0x6027, 0x6210, 0x653f, 0x6574, + 0x661f, 0x6674, 0x68f2, 0x6816, 0x6b63, 0x6e05, 0x7272, 0x751f, + 0x76db, 0x7cbe, 0x8056, 0x58f0, 0x88fd, 0x897f, 0x8aa0, 0x8a93, + 0x8acb, 0x901d, 0x9192, 0x9752, 0x9759, 0x6589, 0x7a0e, 0x8106, + 0x96bb, 0x5e2d, 0x60dc, 0x621a, 0x65a5, 0x6614, 0x6790, 0x77f3, + 0x7a4d, 0x7c4d, 0x7e3e, 0x810a, 0x8cac, 0x8d64, 0x8de1, 0x8e5f, + 0x78a9, 0x5207, 0x62d9, 0x63a5, 0x6442, 0x6298, 0x8a2d, 0x7a83, + 0x7bc0, 0x8aac, 0x96ea, 0x7d76, 0x820c, 0x8749, 0x4ed9, 0x5148, + 0x5343, 0x5360, 0x5ba3, 0x5c02, 0x5c16, 0x5ddd, 0x6226, 0x6247, + 0x64b0, 0x6813, 0x6834, 0x6cc9, 0x6d45, 0x6d17, 0x67d3, 0x6f5c, + 0x714e, 0x717d, 0x65cb, 0x7a7f, 0x7bad, 0x7dda, + /* 0x41 */ + 0x7e4a, 0x7fa8, 0x817a, 0x821b, 0x8239, 0x85a6, 0x8a6e, 0x8cce, + 0x8df5, 0x9078, 0x9077, 0x92ad, 0x9291, 0x9583, 0x9bae, 0x524d, + 0x5584, 0x6f38, 0x7136, 0x5168, 0x7985, 0x7e55, 0x81b3, 0x7cce, + 0x564c, 0x5851, 0x5ca8, 0x63aa, 0x66fe, 0x66fd, 0x695a, 0x72d9, + 0x758f, 0x758e, 0x790e, 0x7956, 0x79df, 0x7c97, 0x7d20, 0x7d44, + 0x8607, 0x8a34, 0x963b, 0x9061, 0x9f20, 0x50e7, 0x5275, 0x53cc, + 0x53e2, 0x5009, 0x55aa, 0x58ee, 0x594f, 0x723d, 0x5b8b, 0x5c64, + 0x531d, 0x60e3, 0x60f3, 0x635c, 0x6383, 0x633f, 0x63bb, 0x64cd, + 0x65e9, 0x66f9, 0x5de3, 0x69cd, 0x69fd, 0x6f15, 0x71e5, 0x4e89, + 0x75e9, 0x76f8, 0x7a93, 0x7cdf, 0x7dcf, 0x7d9c, 0x8061, 0x8349, + 0x8358, 0x846c, 0x84bc, 0x85fb, 0x88c5, 0x8d70, 0x9001, 0x906d, + 0x9397, 0x971c, 0x9a12, 0x50cf, 0x5897, 0x618e, + /* 0x42 */ + 0x81d3, 0x8535, 0x8d08, 0x9020, 0x4fc3, 0x5074, 0x5247, 0x5373, + 0x606f, 0x6349, 0x675f, 0x6e2c, 0x8db3, 0x901f, 0x4fd7, 0x5c5e, + 0x8cca, 0x65cf, 0x7d9a, 0x5352, 0x8896, 0x5176, 0x63c3, 0x5b58, + 0x5b6b, 0x5c0a, 0x640d, 0x6751, 0x905c, 0x4ed6, 0x591a, 0x592a, + 0x6c70, 0x8a51, 0x553e, 0x5815, 0x59a5, 0x60f0, 0x6253, 0x67c1, + 0x8235, 0x6955, 0x9640, 0x99c4, 0x9a28, 0x4f53, 0x5806, 0x5bfe, + 0x8010, 0x5cb1, 0x5e2f, 0x5f85, 0x6020, 0x614b, 0x6234, 0x66ff, + 0x6cf0, 0x6ede, 0x80ce, 0x817f, 0x82d4, 0x888b, 0x8cb8, 0x9000, + 0x902e, 0x968a, 0x9edb, 0x9bdb, 0x4ee3, 0x53f0, 0x5927, 0x7b2c, + 0x918d, 0x984c, 0x9df9, 0x6edd, 0x7027, 0x5353, 0x5544, 0x5b85, + 0x6258, 0x629e, 0x62d3, 0x6ca2, 0x6fef, 0x7422, 0x8a17, 0x9438, + 0x6fc1, 0x8afe, 0x8338, 0x51e7, 0x86f8, 0x53ea, + /* 0x43 */ + 0x53e9, 0x4f46, 0x9054, 0x8fb0, 0x596a, 0x8131, 0x5dfd, 0x7aea, + 0x8fbf, 0x68da, 0x8c37, 0x72f8, 0x9c48, 0x6a3d, 0x8ab0, 0x4e39, + 0x5358, 0x5606, 0x5766, 0x62c5, 0x63a2, 0x65e6, 0x6b4e, 0x6de1, + 0x6e5b, 0x70ad, 0x77ed, 0x7aef, 0x7baa, 0x7dbb, 0x803d, 0x80c6, + 0x86cb, 0x8a95, 0x935b, 0x56e3, 0x58c7, 0x5f3e, 0x65ad, 0x6696, + 0x6a80, 0x6bb5, 0x7537, 0x8ac7, 0x5024, 0x77e5, 0x5730, 0x5f1b, + 0x6065, 0x667a, 0x6c60, 0x75f4, 0x7a1a, 0x7f6e, 0x81f4, 0x8718, + 0x9045, 0x99b3, 0x7bc9, 0x755c, 0x7af9, 0x7b51, 0x84c4, 0x9010, + 0x79e9, 0x7a92, 0x8336, 0x5ae1, 0x7740, 0x4e2d, 0x4ef2, 0x5b99, + 0x5fe0, 0x62bd, 0x663c, 0x67f1, 0x6ce8, 0x866b, 0x8877, 0x8a3b, + 0x914e, 0x92f3, 0x99d0, 0x6a17, 0x7026, 0x732a, 0x82e7, 0x8457, + 0x8caf, 0x4e01, 0x5146, 0x51cb, 0x558b, 0x5bf5, + /* 0x44 */ + 0x5e16, 0x5e33, 0x5e81, 0x5f14, 0x5f35, 0x5f6b, 0x5fb4, 0x61f2, + 0x6311, 0x66a2, 0x671d, 0x6f6e, 0x7252, 0x753a, 0x773a, 0x8074, + 0x8139, 0x8178, 0x8776, 0x8abf, 0x8adc, 0x8d85, 0x8df3, 0x929a, + 0x9577, 0x9802, 0x9ce5, 0x52c5, 0x6357, 0x76f4, 0x6715, 0x6c88, + 0x73cd, 0x8cc3, 0x93ae, 0x9673, 0x6d25, 0x589c, 0x690e, 0x69cc, + 0x8ffd, 0x939a, 0x75db, 0x901a, 0x585a, 0x6802, 0x63b4, 0x69fb, + 0x4f43, 0x6f2c, 0x67d8, 0x8fbb, 0x8526, 0x7db4, 0x9354, 0x693f, + 0x6f70, 0x576a, 0x58f7, 0x5b2c, 0x7d2c, 0x722a, 0x540a, 0x91e3, + 0x9db4, 0x4ead, 0x4f4e, 0x505c, 0x5075, 0x5243, 0x8c9e, 0x5448, + 0x5824, 0x5b9a, 0x5e1d, 0x5e95, 0x5ead, 0x5ef7, 0x5f1f, 0x608c, + 0x62b5, 0x633a, 0x63d0, 0x68af, 0x6c40, 0x7887, 0x798e, 0x7a0b, + 0x7de0, 0x8247, 0x8a02, 0x8ae6, 0x8e44, 0x9013, + /* 0x45 */ + 0x90b8, 0x912d, 0x91d8, 0x9f0e, 0x6ce5, 0x6458, 0x64e2, 0x6575, + 0x6ef4, 0x7684, 0x7b1b, 0x9069, 0x93d1, 0x6eba, 0x54f2, 0x5fb9, + 0x64a4, 0x8f4d, 0x8fed, 0x9244, 0x5178, 0x586b, 0x5929, 0x5c55, + 0x5e97, 0x6dfb, 0x7e8f, 0x751c, 0x8cbc, 0x8ee2, 0x985b, 0x70b9, + 0x4f1d, 0x6bbf, 0x6fb1, 0x7530, 0x96fb, 0x514e, 0x5410, 0x5835, + 0x5857, 0x59ac, 0x5c60, 0x5f92, 0x6597, 0x675c, 0x6e21, 0x767b, + 0x83df, 0x8ced, 0x9014, 0x90fd, 0x934d, 0x7825, 0x783a, 0x52aa, + 0x5ea6, 0x571f, 0x5974, 0x6012, 0x5012, 0x515a, 0x51ac, 0x51cd, + 0x5200, 0x5510, 0x5854, 0x5858, 0x5957, 0x5b95, 0x5cf6, 0x5d8b, + 0x60bc, 0x6295, 0x642d, 0x6771, 0x6843, 0x68bc, 0x68df, 0x76d7, + 0x6dd8, 0x6e6f, 0x6d9b, 0x706f, 0x71c8, 0x5f53, 0x75d8, 0x7977, + 0x7b49, 0x7b54, 0x7b52, 0x7cd6, 0x7d71, 0x5230, + /* 0x46 */ + 0x8463, 0x8569, 0x85e4, 0x8a0e, 0x8b04, 0x8c46, 0x8e0f, 0x9003, + 0x900f, 0x9419, 0x9676, 0x982d, 0x9a30, 0x95d8, 0x50cd, 0x52d5, + 0x540c, 0x5802, 0x5c0e, 0x61a7, 0x649e, 0x6d1e, 0x77b3, 0x7ae5, + 0x80f4, 0x8404, 0x9053, 0x9285, 0x5ce0, 0x9d07, 0x533f, 0x5f97, + 0x5fb3, 0x6d9c, 0x7279, 0x7763, 0x79bf, 0x7be4, 0x6bd2, 0x72ec, + 0x8aad, 0x6803, 0x6a61, 0x51f8, 0x7a81, 0x6934, 0x5c4a, 0x9cf6, + 0x82eb, 0x5bc5, 0x9149, 0x701e, 0x5678, 0x5c6f, 0x60c7, 0x6566, + 0x6c8c, 0x8c5a, 0x9041, 0x9813, 0x5451, 0x66c7, 0x920d, 0x5948, + 0x90a3, 0x5185, 0x4e4d, 0x51ea, 0x8599, 0x8b0e, 0x7058, 0x637a, + 0x934b, 0x6962, 0x99b4, 0x7e04, 0x7577, 0x5357, 0x6960, 0x8edf, + 0x96e3, 0x6c5d, 0x4e8c, 0x5c3c, 0x5f10, 0x8fe9, 0x5302, 0x8cd1, + 0x8089, 0x8679, 0x5eff, 0x65e5, 0x4e73, 0x5165, + /* 0x47 */ + 0x5982, 0x5c3f, 0x97ee, 0x4efb, 0x598a, 0x5fcd, 0x8a8d, 0x6fe1, + 0x79b0, 0x7962, 0x5be7, 0x8471, 0x732b, 0x71b1, 0x5e74, 0x5ff5, + 0x637b, 0x649a, 0x71c3, 0x7c98, 0x4e43, 0x5efc, 0x4e4b, 0x57dc, + 0x56a2, 0x60a9, 0x6fc3, 0x7d0d, 0x80fd, 0x8133, 0x81bf, 0x8fb2, + 0x8997, 0x86a4, 0x5df4, 0x628a, 0x64ad, 0x8987, 0x6777, 0x6ce2, + 0x6d3e, 0x7436, 0x7834, 0x5a46, 0x7f75, 0x82ad, 0x99ac, 0x4ff3, + 0x5ec3, 0x62dd, 0x6392, 0x6557, 0x676f, 0x76c3, 0x724c, 0x80cc, + 0x80ba, 0x8f29, 0x914d, 0x500d, 0x57f9, 0x5a92, 0x6885, 0x6973, + 0x7164, 0x72fd, 0x8cb7, 0x58f2, 0x8ce0, 0x966a, 0x9019, 0x877f, + 0x79e4, 0x77e7, 0x8429, 0x4f2f, 0x5265, 0x535a, 0x62cd, 0x67cf, + 0x6cca, 0x767d, 0x7b94, 0x7c95, 0x8236, 0x8584, 0x8feb, 0x66dd, + 0x6f20, 0x7206, 0x7e1b, 0x83ab, 0x99c1, 0x9ea6, + /* 0x48 */ + 0x51fd, 0x7bb1, 0x7872, 0x7bb8, 0x8087, 0x7b48, 0x6ae8, 0x5e61, + 0x808c, 0x7551, 0x7560, 0x516b, 0x9262, 0x6e8c, 0x767a, 0x9197, + 0x9aea, 0x4f10, 0x7f70, 0x629c, 0x7b4f, 0x95a5, 0x9ce9, 0x567a, + 0x5859, 0x86e4, 0x96bc, 0x4f34, 0x5224, 0x534a, 0x53cd, 0x53db, + 0x5e06, 0x642c, 0x6591, 0x677f, 0x6c3e, 0x6c4e, 0x7248, 0x72af, + 0x73ed, 0x7554, 0x7e41, 0x822c, 0x85e9, 0x8ca9, 0x7bc4, 0x91c6, + 0x7169, 0x9812, 0x98ef, 0x633d, 0x6669, 0x756a, 0x76e4, 0x78d0, + 0x8543, 0x86ee, 0x532a, 0x5351, 0x5426, 0x5983, 0x5e87, 0x5f7c, + 0x60b2, 0x6249, 0x6279, 0x62ab, 0x6590, 0x6bd4, 0x6ccc, 0x75b2, + 0x76ae, 0x7891, 0x79d8, 0x7dcb, 0x7f77, 0x80a5, 0x88ab, 0x8ab9, + 0x8cbb, 0x907f, 0x975e, 0x98db, 0x6a0b, 0x7c38, 0x5099, 0x5c3e, + 0x5fae, 0x6787, 0x6bd8, 0x7435, 0x7709, 0x7f8e, + /* 0x49 */ + 0x9f3b, 0x67ca, 0x7a17, 0x5339, 0x758b, 0x9aed, 0x5f66, 0x819d, + 0x83f1, 0x8098, 0x5f3c, 0x5fc5, 0x7562, 0x7b46, 0x903c, 0x6867, + 0x59eb, 0x5a9b, 0x7d10, 0x767e, 0x8b2c, 0x4ff5, 0x5f6a, 0x6a19, + 0x6c37, 0x6f02, 0x74e2, 0x7968, 0x8868, 0x8a55, 0x8c79, 0x5edf, + 0x63cf, 0x75c5, 0x79d2, 0x82d7, 0x9328, 0x92f2, 0x849c, 0x86ed, + 0x9c2d, 0x54c1, 0x5f6c, 0x658c, 0x6d5c, 0x7015, 0x8ca7, 0x8cd3, + 0x983b, 0x654f, 0x74f6, 0x4e0d, 0x4ed8, 0x57e0, 0x592b, 0x5a66, + 0x5bcc, 0x51a8, 0x5e03, 0x5e9c, 0x6016, 0x6276, 0x6577, 0x65a7, + 0x666e, 0x6d6e, 0x7236, 0x7b26, 0x8150, 0x819a, 0x8299, 0x8b5c, + 0x8ca0, 0x8ce6, 0x8d74, 0x961c, 0x9644, 0x4fae, 0x64ab, 0x6b66, + 0x821e, 0x8461, 0x856a, 0x90e8, 0x5c01, 0x6953, 0x98a8, 0x847a, + 0x8557, 0x4f0f, 0x526f, 0x5fa9, 0x5e45, 0x670d, + /* 0x4a */ + 0x798f, 0x8179, 0x8907, 0x8986, 0x6df5, 0x5f17, 0x6255, 0x6cb8, + 0x4ecf, 0x7269, 0x9b92, 0x5206, 0x543b, 0x5674, 0x58b3, 0x61a4, + 0x626e, 0x711a, 0x596e, 0x7c89, 0x7cde, 0x7d1b, 0x96f0, 0x6587, + 0x805e, 0x4e19, 0x4f75, 0x5175, 0x5840, 0x5e63, 0x5e73, 0x5f0a, + 0x67c4, 0x4e26, 0x853d, 0x9589, 0x965b, 0x7c73, 0x9801, 0x50fb, + 0x58c1, 0x7656, 0x78a7, 0x5225, 0x77a5, 0x8511, 0x7b86, 0x504f, + 0x5909, 0x7247, 0x7bc7, 0x7de8, 0x8fba, 0x8fd4, 0x904d, 0x4fbf, + 0x52c9, 0x5a29, 0x5f01, 0x97ad, 0x4fdd, 0x8217, 0x92ea, 0x5703, + 0x6355, 0x6b69, 0x752b, 0x88dc, 0x8f14, 0x7a42, 0x52df, 0x5893, + 0x6155, 0x620a, 0x66ae, 0x6bcd, 0x7c3f, 0x83e9, 0x5023, 0x4ff8, + 0x5305, 0x5446, 0x5831, 0x5949, 0x5b9d, 0x5cf0, 0x5cef, 0x5d29, + 0x5e96, 0x62b1, 0x6367, 0x653e, 0x65b9, 0x670b, + /* 0x4b */ + 0x6cd5, 0x6ce1, 0x70f9, 0x7832, 0x7e2b, 0x80de, 0x82b3, 0x840c, + 0x84ec, 0x8702, 0x8912, 0x8a2a, 0x8c4a, 0x90a6, 0x92d2, 0x98fd, + 0x9cf3, 0x9d6c, 0x4e4f, 0x4ea1, 0x508d, 0x5256, 0x574a, 0x59a8, + 0x5e3d, 0x5fd8, 0x5fd9, 0x623f, 0x66b4, 0x671b, 0x67d0, 0x68d2, + 0x5192, 0x7d21, 0x80aa, 0x81a8, 0x8b00, 0x8c8c, 0x8cbf, 0x927e, + 0x9632, 0x5420, 0x982c, 0x5317, 0x50d5, 0x535c, 0x58a8, 0x64b2, + 0x6734, 0x7267, 0x7766, 0x7a46, 0x91e6, 0x52c3, 0x6ca1, 0x6b86, + 0x5800, 0x5e4c, 0x5954, 0x672c, 0x7ffb, 0x51e1, 0x76c6, 0x6469, + 0x78e8, 0x9b54, 0x9ebb, 0x57cb, 0x59b9, 0x6627, 0x679a, 0x6bce, + 0x54e9, 0x69d9, 0x5e55, 0x819c, 0x6795, 0x9baa, 0x67fe, 0x9c52, + 0x685d, 0x4ea6, 0x4fe3, 0x53c8, 0x62b9, 0x672b, 0x6cab, 0x8fc4, + 0x4fad, 0x7e6d, 0x9ebf, 0x4e07, 0x6162, 0x6e80, + /* 0x4c */ + 0x6f2b, 0x8513, 0x5473, 0x672a, 0x9b45, 0x5df3, 0x7b95, 0x5cac, + 0x5bc6, 0x871c, 0x6e4a, 0x84d1, 0x7a14, 0x8108, 0x5999, 0x7c8d, + 0x6c11, 0x7720, 0x52d9, 0x5922, 0x7121, 0x725f, 0x77db, 0x9727, + 0x9d61, 0x690b, 0x5a7f, 0x5a18, 0x51a5, 0x540d, 0x547d, 0x660e, + 0x76df, 0x8ff7, 0x9298, 0x9cf4, 0x59ea, 0x725d, 0x6ec5, 0x514d, + 0x68c9, 0x7dbf, 0x7dec, 0x9762, 0x9eba, 0x6478, 0x6a21, 0x8302, + 0x5984, 0x5b5f, 0x6bdb, 0x731b, 0x76f2, 0x7db2, 0x8017, 0x8499, + 0x5132, 0x6728, 0x9ed9, 0x76ee, 0x6762, 0x52ff, 0x9905, 0x5c24, + 0x623b, 0x7c7e, 0x8cb0, 0x554f, 0x60b6, 0x7d0b, 0x9580, 0x5301, + 0x4e5f, 0x51b6, 0x591c, 0x723a, 0x8036, 0x91ce, 0x5f25, 0x77e2, + 0x5384, 0x5f79, 0x7d04, 0x85ac, 0x8a33, 0x8e8d, 0x9756, 0x67f3, + 0x85ae, 0x9453, 0x6109, 0x6108, 0x6cb9, 0x7652, + /* 0x4d */ + 0x8aed, 0x8f38, 0x552f, 0x4f51, 0x512a, 0x52c7, 0x53cb, 0x5ba5, + 0x5e7d, 0x60a0, 0x6182, 0x63d6, 0x6709, 0x67da, 0x6e67, 0x6d8c, + 0x7336, 0x7337, 0x7531, 0x7950, 0x88d5, 0x8a98, 0x904a, 0x9091, + 0x90f5, 0x96c4, 0x878d, 0x5915, 0x4e88, 0x4f59, 0x4e0e, 0x8a89, + 0x8f3f, 0x9810, 0x50ad, 0x5e7c, 0x5996, 0x5bb9, 0x5eb8, 0x63da, + 0x63fa, 0x64c1, 0x66dc, 0x694a, 0x69d8, 0x6d0b, 0x6eb6, 0x7194, + 0x7528, 0x7aaf, 0x7f8a, 0x8000, 0x8449, 0x84c9, 0x8981, 0x8b21, + 0x8e0a, 0x9065, 0x967d, 0x990a, 0x617e, 0x6291, 0x6b32, 0x6c83, + 0x6d74, 0x7fcc, 0x7ffc, 0x6dc0, 0x7f85, 0x87ba, 0x88f8, 0x6765, + 0x83b1, 0x983c, 0x96f7, 0x6d1b, 0x7d61, 0x843d, 0x916a, 0x4e71, + 0x5375, 0x5d50, 0x6b04, 0x6feb, 0x85cd, 0x862d, 0x89a7, 0x5229, + 0x540f, 0x5c65, 0x674e, 0x68a8, 0x7406, 0x7483, + /* 0x4e */ + 0x75e2, 0x88cf, 0x88e1, 0x91cc, 0x96e2, 0x9678, 0x5f8b, 0x7387, + 0x7acb, 0x844e, 0x63a0, 0x7565, 0x5289, 0x6d41, 0x6e9c, 0x7409, + 0x7559, 0x786b, 0x7c92, 0x9686, 0x7adc, 0x9f8d, 0x4fb6, 0x616e, + 0x65c5, 0x865c, 0x4e86, 0x4eae, 0x50da, 0x4e21, 0x51cc, 0x5bee, + 0x6599, 0x6881, 0x6dbc, 0x731f, 0x7642, 0x77ad, 0x7a1c, 0x7ce7, + 0x826f, 0x8ad2, 0x907c, 0x91cf, 0x9675, 0x9818, 0x529b, 0x7dd1, + 0x502b, 0x5398, 0x6797, 0x6dcb, 0x71d0, 0x7433, 0x81e8, 0x8f2a, + 0x96a3, 0x9c57, 0x9e9f, 0x7460, 0x5841, 0x6d99, 0x7d2f, 0x985e, + 0x4ee4, 0x4f36, 0x4f8b, 0x51b7, 0x52b1, 0x5dba, 0x601c, 0x73b2, + 0x793c, 0x82d3, 0x9234, 0x96b7, 0x96f6, 0x970a, 0x9e97, 0x9f62, + 0x66a6, 0x6b74, 0x5217, 0x52a3, 0x70c8, 0x88c2, 0x5ec9, 0x604b, + 0x6190, 0x6f23, 0x7149, 0x7c3e, 0x7df4, 0x806f, + /* 0x4f */ + 0x84ee, 0x9023, 0x932c, 0x5442, 0x9b6f, 0x6ad3, 0x7089, 0x8cc2, + 0x8def, 0x9732, 0x52b4, 0x5a41, 0x5eca, 0x5f04, 0x6717, 0x697c, + 0x6994, 0x6d6a, 0x6f0f, 0x7262, 0x72fc, 0x7bed, 0x8001, 0x807e, + 0x874b, 0x90ce, 0x516d, 0x9e93, 0x7984, 0x808b, 0x9332, 0x8ad6, + 0x502d, 0x548c, 0x8a71, 0x6b6a, 0x8cc4, 0x8107, 0x60d1, 0x67a0, + 0x9df2, 0x4e99, 0x4e98, 0x9c10, 0x8a6b, 0x85c1, 0x8568, 0x6900, + 0x6e7e, 0x7897, 0x8155, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, + 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, + 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, + 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, + 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, + 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, + /* 0x50 */ + 0x5f0c, 0x4e10, 0x4e15, 0x4e2a, 0x4e31, 0x4e36, 0x4e3c, 0x4e3f, + 0x4e42, 0x4e56, 0x4e58, 0x4e82, 0x4e85, 0x8c6b, 0x4e8a, 0x8212, + 0x5f0d, 0x4e8e, 0x4e9e, 0x4e9f, 0x4ea0, 0x4ea2, 0x4eb0, 0x4eb3, + 0x4eb6, 0x4ece, 0x4ecd, 0x4ec4, 0x4ec6, 0x4ec2, 0x4ed7, 0x4ede, + 0x4eed, 0x4edf, 0x4ef7, 0x4f09, 0x4f5a, 0x4f30, 0x4f5b, 0x4f5d, + 0x4f57, 0x4f47, 0x4f76, 0x4f88, 0x4f8f, 0x4f98, 0x4f7b, 0x4f69, + 0x4f70, 0x4f91, 0x4f6f, 0x4f86, 0x4f96, 0x5118, 0x4fd4, 0x4fdf, + 0x4fce, 0x4fd8, 0x4fdb, 0x4fd1, 0x4fda, 0x4fd0, 0x4fe4, 0x4fe5, + 0x501a, 0x5028, 0x5014, 0x502a, 0x5025, 0x5005, 0x4f1c, 0x4ff6, + 0x5021, 0x5029, 0x502c, 0x4ffe, 0x4fef, 0x5011, 0x5006, 0x5043, + 0x5047, 0x6703, 0x5055, 0x5050, 0x5048, 0x505a, 0x5056, 0x506c, + 0x5078, 0x5080, 0x509a, 0x5085, 0x50b4, 0x50b2, + /* 0x51 */ + 0x50c9, 0x50ca, 0x50b3, 0x50c2, 0x50d6, 0x50de, 0x50e5, 0x50ed, + 0x50e3, 0x50ee, 0x50f9, 0x50f5, 0x5109, 0x5101, 0x5102, 0x5116, + 0x5115, 0x5114, 0x511a, 0x5121, 0x513a, 0x5137, 0x513c, 0x513b, + 0x513f, 0x5140, 0x5152, 0x514c, 0x5154, 0x5162, 0x7af8, 0x5169, + 0x516a, 0x516e, 0x5180, 0x5182, 0x56d8, 0x518c, 0x5189, 0x518f, + 0x5191, 0x5193, 0x5195, 0x5196, 0x51a4, 0x51a6, 0x51a2, 0x51a9, + 0x51aa, 0x51ab, 0x51b3, 0x51b1, 0x51b2, 0x51b0, 0x51b5, 0x51bd, + 0x51c5, 0x51c9, 0x51db, 0x51e0, 0x8655, 0x51e9, 0x51ed, 0x51f0, + 0x51f5, 0x51fe, 0x5204, 0x520b, 0x5214, 0x520e, 0x5227, 0x522a, + 0x522e, 0x5233, 0x5239, 0x524f, 0x5244, 0x524b, 0x524c, 0x525e, + 0x5254, 0x526a, 0x5274, 0x5269, 0x5273, 0x527f, 0x527d, 0x528d, + 0x5294, 0x5292, 0x5271, 0x5288, 0x5291, 0x8fa8, + /* 0x52 */ + 0x8fa7, 0x52ac, 0x52ad, 0x52bc, 0x52b5, 0x52c1, 0x52cd, 0x52d7, + 0x52de, 0x52e3, 0x52e6, 0x98ed, 0x52e0, 0x52f3, 0x52f5, 0x52f8, + 0x52f9, 0x5306, 0x5308, 0x7538, 0x530d, 0x5310, 0x530f, 0x5315, + 0x531a, 0x5323, 0x532f, 0x5331, 0x5333, 0x5338, 0x5340, 0x5346, + 0x5345, 0x4e17, 0x5349, 0x534d, 0x51d6, 0x535e, 0x5369, 0x536e, + 0x5918, 0x537b, 0x5377, 0x5382, 0x5396, 0x53a0, 0x53a6, 0x53a5, + 0x53ae, 0x53b0, 0x53b6, 0x53c3, 0x7c12, 0x96d9, 0x53df, 0x66fc, + 0x71ee, 0x53ee, 0x53e8, 0x53ed, 0x53fa, 0x5401, 0x543d, 0x5440, + 0x542c, 0x542d, 0x543c, 0x542e, 0x5436, 0x5429, 0x541d, 0x544e, + 0x548f, 0x5475, 0x548e, 0x545f, 0x5471, 0x5477, 0x5470, 0x5492, + 0x547b, 0x5480, 0x5476, 0x5484, 0x5490, 0x5486, 0x54c7, 0x54a2, + 0x54b8, 0x54a5, 0x54ac, 0x54c4, 0x54c8, 0x54a8, + /* 0x53 */ + 0x54ab, 0x54c2, 0x54a4, 0x54be, 0x54bc, 0x54d8, 0x54e5, 0x54e6, + 0x550f, 0x5514, 0x54fd, 0x54ee, 0x54ed, 0x54fa, 0x54e2, 0x5539, + 0x5540, 0x5563, 0x554c, 0x552e, 0x555c, 0x5545, 0x5556, 0x5557, + 0x5538, 0x5533, 0x555d, 0x5599, 0x5580, 0x54af, 0x558a, 0x559f, + 0x557b, 0x557e, 0x5598, 0x559e, 0x55ae, 0x557c, 0x5583, 0x55a9, + 0x5587, 0x55a8, 0x55da, 0x55c5, 0x55df, 0x55c4, 0x55dc, 0x55e4, + 0x55d4, 0x5614, 0x55f7, 0x5616, 0x55fe, 0x55fd, 0x561b, 0x55f9, + 0x564e, 0x5650, 0x71df, 0x5634, 0x5636, 0x5632, 0x5638, 0x566b, + 0x5664, 0x562f, 0x566c, 0x566a, 0x5686, 0x5680, 0x568a, 0x56a0, + 0x5694, 0x568f, 0x56a5, 0x56ae, 0x56b6, 0x56b4, 0x56c2, 0x56bc, + 0x56c1, 0x56c3, 0x56c0, 0x56c8, 0x56ce, 0x56d1, 0x56d3, 0x56d7, + 0x56ee, 0x56f9, 0x5700, 0x56ff, 0x5704, 0x5709, + /* 0x54 */ + 0x5708, 0x570b, 0x570d, 0x5713, 0x5718, 0x5716, 0x55c7, 0x571c, + 0x5726, 0x5737, 0x5738, 0x574e, 0x573b, 0x5740, 0x574f, 0x5769, + 0x57c0, 0x5788, 0x5761, 0x577f, 0x5789, 0x5793, 0x57a0, 0x57b3, + 0x57a4, 0x57aa, 0x57b0, 0x57c3, 0x57c6, 0x57d4, 0x57d2, 0x57d3, + 0x580a, 0x57d6, 0x57e3, 0x580b, 0x5819, 0x581d, 0x5872, 0x5821, + 0x5862, 0x584b, 0x5870, 0x6bc0, 0x5852, 0x583d, 0x5879, 0x5885, + 0x58b9, 0x589f, 0x58ab, 0x58ba, 0x58de, 0x58bb, 0x58b8, 0x58ae, + 0x58c5, 0x58d3, 0x58d1, 0x58d7, 0x58d9, 0x58d8, 0x58e5, 0x58dc, + 0x58e4, 0x58df, 0x58ef, 0x58fa, 0x58f9, 0x58fb, 0x58fc, 0x58fd, + 0x5902, 0x590a, 0x5910, 0x591b, 0x68a6, 0x5925, 0x592c, 0x592d, + 0x5932, 0x5938, 0x593e, 0x7ad2, 0x5955, 0x5950, 0x594e, 0x595a, + 0x5958, 0x5962, 0x5960, 0x5967, 0x596c, 0x5969, + /* 0x55 */ + 0x5978, 0x5981, 0x599d, 0x4f5e, 0x4fab, 0x59a3, 0x59b2, 0x59c6, + 0x59e8, 0x59dc, 0x598d, 0x59d9, 0x59da, 0x5a25, 0x5a1f, 0x5a11, + 0x5a1c, 0x5a09, 0x5a1a, 0x5a40, 0x5a6c, 0x5a49, 0x5a35, 0x5a36, + 0x5a62, 0x5a6a, 0x5a9a, 0x5abc, 0x5abe, 0x5acb, 0x5ac2, 0x5abd, + 0x5ae3, 0x5ad7, 0x5ae6, 0x5ae9, 0x5ad6, 0x5afa, 0x5afb, 0x5b0c, + 0x5b0b, 0x5b16, 0x5b32, 0x5ad0, 0x5b2a, 0x5b36, 0x5b3e, 0x5b43, + 0x5b45, 0x5b40, 0x5b51, 0x5b55, 0x5b5a, 0x5b5b, 0x5b65, 0x5b69, + 0x5b70, 0x5b73, 0x5b75, 0x5b78, 0x6588, 0x5b7a, 0x5b80, 0x5b83, + 0x5ba6, 0x5bb8, 0x5bc3, 0x5bc7, 0x5bc9, 0x5bd4, 0x5bd0, 0x5be4, + 0x5be6, 0x5be2, 0x5bde, 0x5be5, 0x5beb, 0x5bf0, 0x5bf6, 0x5bf3, + 0x5c05, 0x5c07, 0x5c08, 0x5c0d, 0x5c13, 0x5c20, 0x5c22, 0x5c28, + 0x5c38, 0x5c39, 0x5c41, 0x5c46, 0x5c4e, 0x5c53, + /* 0x56 */ + 0x5c50, 0x5c4f, 0x5b71, 0x5c6c, 0x5c6e, 0x4e62, 0x5c76, 0x5c79, + 0x5c8c, 0x5c91, 0x5c94, 0x599b, 0x5cab, 0x5cbb, 0x5cb6, 0x5cbc, + 0x5cb7, 0x5cc5, 0x5cbe, 0x5cc7, 0x5cd9, 0x5ce9, 0x5cfd, 0x5cfa, + 0x5ced, 0x5d8c, 0x5cea, 0x5d0b, 0x5d15, 0x5d17, 0x5d5c, 0x5d1f, + 0x5d1b, 0x5d11, 0x5d14, 0x5d22, 0x5d1a, 0x5d19, 0x5d18, 0x5d4c, + 0x5d52, 0x5d4e, 0x5d4b, 0x5d6c, 0x5d73, 0x5d76, 0x5d87, 0x5d84, + 0x5d82, 0x5da2, 0x5d9d, 0x5dac, 0x5dae, 0x5dbd, 0x5d90, 0x5db7, + 0x5dbc, 0x5dc9, 0x5dcd, 0x5dd3, 0x5dd2, 0x5dd6, 0x5ddb, 0x5deb, + 0x5df2, 0x5df5, 0x5e0b, 0x5e1a, 0x5e19, 0x5e11, 0x5e1b, 0x5e36, + 0x5e37, 0x5e44, 0x5e43, 0x5e40, 0x5e4e, 0x5e57, 0x5e54, 0x5e5f, + 0x5e62, 0x5e64, 0x5e47, 0x5e75, 0x5e76, 0x5e7a, 0x9ebc, 0x5e7f, + 0x5ea0, 0x5ec1, 0x5ec2, 0x5ec8, 0x5ed0, 0x5ecf, + /* 0x57 */ + 0x5ed6, 0x5ee3, 0x5edd, 0x5eda, 0x5edb, 0x5ee2, 0x5ee1, 0x5ee8, + 0x5ee9, 0x5eec, 0x5ef1, 0x5ef3, 0x5ef0, 0x5ef4, 0x5ef8, 0x5efe, + 0x5f03, 0x5f09, 0x5f5d, 0x5f5c, 0x5f0b, 0x5f11, 0x5f16, 0x5f29, + 0x5f2d, 0x5f38, 0x5f41, 0x5f48, 0x5f4c, 0x5f4e, 0x5f2f, 0x5f51, + 0x5f56, 0x5f57, 0x5f59, 0x5f61, 0x5f6d, 0x5f73, 0x5f77, 0x5f83, + 0x5f82, 0x5f7f, 0x5f8a, 0x5f88, 0x5f91, 0x5f87, 0x5f9e, 0x5f99, + 0x5f98, 0x5fa0, 0x5fa8, 0x5fad, 0x5fbc, 0x5fd6, 0x5ffb, 0x5fe4, + 0x5ff8, 0x5ff1, 0x5fdd, 0x60b3, 0x5fff, 0x6021, 0x6060, 0x6019, + 0x6010, 0x6029, 0x600e, 0x6031, 0x601b, 0x6015, 0x602b, 0x6026, + 0x600f, 0x603a, 0x605a, 0x6041, 0x606a, 0x6077, 0x605f, 0x604a, + 0x6046, 0x604d, 0x6063, 0x6043, 0x6064, 0x6042, 0x606c, 0x606b, + 0x6059, 0x6081, 0x608d, 0x60e7, 0x6083, 0x609a, + /* 0x58 */ + 0x6084, 0x609b, 0x6096, 0x6097, 0x6092, 0x60a7, 0x608b, 0x60e1, + 0x60b8, 0x60e0, 0x60d3, 0x60b4, 0x5ff0, 0x60bd, 0x60c6, 0x60b5, + 0x60d8, 0x614d, 0x6115, 0x6106, 0x60f6, 0x60f7, 0x6100, 0x60f4, + 0x60fa, 0x6103, 0x6121, 0x60fb, 0x60f1, 0x610d, 0x610e, 0x6147, + 0x613e, 0x6128, 0x6127, 0x614a, 0x613f, 0x613c, 0x612c, 0x6134, + 0x613d, 0x6142, 0x6144, 0x6173, 0x6177, 0x6158, 0x6159, 0x615a, + 0x616b, 0x6174, 0x616f, 0x6165, 0x6171, 0x615f, 0x615d, 0x6153, + 0x6175, 0x6199, 0x6196, 0x6187, 0x61ac, 0x6194, 0x619a, 0x618a, + 0x6191, 0x61ab, 0x61ae, 0x61cc, 0x61ca, 0x61c9, 0x61f7, 0x61c8, + 0x61c3, 0x61c6, 0x61ba, 0x61cb, 0x7f79, 0x61cd, 0x61e6, 0x61e3, + 0x61f6, 0x61fa, 0x61f4, 0x61ff, 0x61fd, 0x61fc, 0x61fe, 0x6200, + 0x6208, 0x6209, 0x620d, 0x620c, 0x6214, 0x621b, + /* 0x59 */ + 0x621e, 0x6221, 0x622a, 0x622e, 0x6230, 0x6232, 0x6233, 0x6241, + 0x624e, 0x625e, 0x6263, 0x625b, 0x6260, 0x6268, 0x627c, 0x6282, + 0x6289, 0x627e, 0x6292, 0x6293, 0x6296, 0x62d4, 0x6283, 0x6294, + 0x62d7, 0x62d1, 0x62bb, 0x62cf, 0x62ff, 0x62c6, 0x64d4, 0x62c8, + 0x62dc, 0x62cc, 0x62ca, 0x62c2, 0x62c7, 0x629b, 0x62c9, 0x630c, + 0x62ee, 0x62f1, 0x6327, 0x6302, 0x6308, 0x62ef, 0x62f5, 0x6350, + 0x633e, 0x634d, 0x641c, 0x634f, 0x6396, 0x638e, 0x6380, 0x63ab, + 0x6376, 0x63a3, 0x638f, 0x6389, 0x639f, 0x63b5, 0x636b, 0x6369, + 0x63be, 0x63e9, 0x63c0, 0x63c6, 0x63e3, 0x63c9, 0x63d2, 0x63f6, + 0x63c4, 0x6416, 0x6434, 0x6406, 0x6413, 0x6426, 0x6436, 0x651d, + 0x6417, 0x6428, 0x640f, 0x6467, 0x646f, 0x6476, 0x644e, 0x652a, + 0x6495, 0x6493, 0x64a5, 0x64a9, 0x6488, 0x64bc, + /* 0x5a */ + 0x64da, 0x64d2, 0x64c5, 0x64c7, 0x64bb, 0x64d8, 0x64c2, 0x64f1, + 0x64e7, 0x8209, 0x64e0, 0x64e1, 0x62ac, 0x64e3, 0x64ef, 0x652c, + 0x64f6, 0x64f4, 0x64f2, 0x64fa, 0x6500, 0x64fd, 0x6518, 0x651c, + 0x6505, 0x6524, 0x6523, 0x652b, 0x6534, 0x6535, 0x6537, 0x6536, + 0x6538, 0x754b, 0x6548, 0x6556, 0x6555, 0x654d, 0x6558, 0x655e, + 0x655d, 0x6572, 0x6578, 0x6582, 0x6583, 0x8b8a, 0x659b, 0x659f, + 0x65ab, 0x65b7, 0x65c3, 0x65c6, 0x65c1, 0x65c4, 0x65cc, 0x65d2, + 0x65db, 0x65d9, 0x65e0, 0x65e1, 0x65f1, 0x6772, 0x660a, 0x6603, + 0x65fb, 0x6773, 0x6635, 0x6636, 0x6634, 0x661c, 0x664f, 0x6644, + 0x6649, 0x6641, 0x665e, 0x665d, 0x6664, 0x6667, 0x6668, 0x665f, + 0x6662, 0x6670, 0x6683, 0x6688, 0x668e, 0x6689, 0x6684, 0x6698, + 0x669d, 0x66c1, 0x66b9, 0x66c9, 0x66be, 0x66bc, + /* 0x5b */ + 0x66c4, 0x66b8, 0x66d6, 0x66da, 0x66e0, 0x663f, 0x66e6, 0x66e9, + 0x66f0, 0x66f5, 0x66f7, 0x670f, 0x6716, 0x671e, 0x6726, 0x6727, + 0x9738, 0x672e, 0x673f, 0x6736, 0x6741, 0x6738, 0x6737, 0x6746, + 0x675e, 0x6760, 0x6759, 0x6763, 0x6764, 0x6789, 0x6770, 0x67a9, + 0x677c, 0x676a, 0x678c, 0x678b, 0x67a6, 0x67a1, 0x6785, 0x67b7, + 0x67ef, 0x67b4, 0x67ec, 0x67b3, 0x67e9, 0x67b8, 0x67e4, 0x67de, + 0x67dd, 0x67e2, 0x67ee, 0x67b9, 0x67ce, 0x67c6, 0x67e7, 0x6a9c, + 0x681e, 0x6846, 0x6829, 0x6840, 0x684d, 0x6832, 0x684e, 0x68b3, + 0x682b, 0x6859, 0x6863, 0x6877, 0x687f, 0x689f, 0x688f, 0x68ad, + 0x6894, 0x689d, 0x689b, 0x6883, 0x6aae, 0x68b9, 0x6874, 0x68b5, + 0x68a0, 0x68ba, 0x690f, 0x688d, 0x687e, 0x6901, 0x68ca, 0x6908, + 0x68d8, 0x6922, 0x6926, 0x68e1, 0x690c, 0x68cd, + /* 0x5c */ + 0x68d4, 0x68e7, 0x68d5, 0x6936, 0x6912, 0x6904, 0x68d7, 0x68e3, + 0x6925, 0x68f9, 0x68e0, 0x68ef, 0x6928, 0x692a, 0x691a, 0x6923, + 0x6921, 0x68c6, 0x6979, 0x6977, 0x695c, 0x6978, 0x696b, 0x6954, + 0x697e, 0x696e, 0x6939, 0x6974, 0x693d, 0x6959, 0x6930, 0x6961, + 0x695e, 0x695d, 0x6981, 0x696a, 0x69b2, 0x69ae, 0x69d0, 0x69bf, + 0x69c1, 0x69d3, 0x69be, 0x69ce, 0x5be8, 0x69ca, 0x69dd, 0x69bb, + 0x69c3, 0x69a7, 0x6a2e, 0x6991, 0x69a0, 0x699c, 0x6995, 0x69b4, + 0x69de, 0x69e8, 0x6a02, 0x6a1b, 0x69ff, 0x6b0a, 0x69f9, 0x69f2, + 0x69e7, 0x6a05, 0x69b1, 0x6a1e, 0x69ed, 0x6a14, 0x69eb, 0x6a0a, + 0x6a12, 0x6ac1, 0x6a23, 0x6a13, 0x6a44, 0x6a0c, 0x6a72, 0x6a36, + 0x6a78, 0x6a47, 0x6a62, 0x6a59, 0x6a66, 0x6a48, 0x6a38, 0x6a22, + 0x6a90, 0x6a8d, 0x6aa0, 0x6a84, 0x6aa2, 0x6aa3, + /* 0x5d */ + 0x6a97, 0x8617, 0x6abb, 0x6ac3, 0x6ac2, 0x6ab8, 0x6ab3, 0x6aac, + 0x6ade, 0x6ad1, 0x6adf, 0x6aaa, 0x6ada, 0x6aea, 0x6afb, 0x6b05, + 0x8616, 0x6afa, 0x6b12, 0x6b16, 0x9b31, 0x6b1f, 0x6b38, 0x6b37, + 0x76dc, 0x6b39, 0x98ee, 0x6b47, 0x6b43, 0x6b49, 0x6b50, 0x6b59, + 0x6b54, 0x6b5b, 0x6b5f, 0x6b61, 0x6b78, 0x6b79, 0x6b7f, 0x6b80, + 0x6b84, 0x6b83, 0x6b8d, 0x6b98, 0x6b95, 0x6b9e, 0x6ba4, 0x6baa, + 0x6bab, 0x6baf, 0x6bb2, 0x6bb1, 0x6bb3, 0x6bb7, 0x6bbc, 0x6bc6, + 0x6bcb, 0x6bd3, 0x6bdf, 0x6bec, 0x6beb, 0x6bf3, 0x6bef, 0x9ebe, + 0x6c08, 0x6c13, 0x6c14, 0x6c1b, 0x6c24, 0x6c23, 0x6c5e, 0x6c55, + 0x6c62, 0x6c6a, 0x6c82, 0x6c8d, 0x6c9a, 0x6c81, 0x6c9b, 0x6c7e, + 0x6c68, 0x6c73, 0x6c92, 0x6c90, 0x6cc4, 0x6cf1, 0x6cd3, 0x6cbd, + 0x6cd7, 0x6cc5, 0x6cdd, 0x6cae, 0x6cb1, 0x6cbe, + /* 0x5e */ + 0x6cba, 0x6cdb, 0x6cef, 0x6cd9, 0x6cea, 0x6d1f, 0x884d, 0x6d36, + 0x6d2b, 0x6d3d, 0x6d38, 0x6d19, 0x6d35, 0x6d33, 0x6d12, 0x6d0c, + 0x6d63, 0x6d93, 0x6d64, 0x6d5a, 0x6d79, 0x6d59, 0x6d8e, 0x6d95, + 0x6fe4, 0x6d85, 0x6df9, 0x6e15, 0x6e0a, 0x6db5, 0x6dc7, 0x6de6, + 0x6db8, 0x6dc6, 0x6dec, 0x6dde, 0x6dcc, 0x6de8, 0x6dd2, 0x6dc5, + 0x6dfa, 0x6dd9, 0x6de4, 0x6dd5, 0x6dea, 0x6dee, 0x6e2d, 0x6e6e, + 0x6e2e, 0x6e19, 0x6e72, 0x6e5f, 0x6e3e, 0x6e23, 0x6e6b, 0x6e2b, + 0x6e76, 0x6e4d, 0x6e1f, 0x6e43, 0x6e3a, 0x6e4e, 0x6e24, 0x6eff, + 0x6e1d, 0x6e38, 0x6e82, 0x6eaa, 0x6e98, 0x6ec9, 0x6eb7, 0x6ed3, + 0x6ebd, 0x6eaf, 0x6ec4, 0x6eb2, 0x6ed4, 0x6ed5, 0x6e8f, 0x6ea5, + 0x6ec2, 0x6e9f, 0x6f41, 0x6f11, 0x704c, 0x6eec, 0x6ef8, 0x6efe, + 0x6f3f, 0x6ef2, 0x6f31, 0x6eef, 0x6f32, 0x6ecc, + /* 0x5f */ + 0x6f3e, 0x6f13, 0x6ef7, 0x6f86, 0x6f7a, 0x6f78, 0x6f81, 0x6f80, + 0x6f6f, 0x6f5b, 0x6ff3, 0x6f6d, 0x6f82, 0x6f7c, 0x6f58, 0x6f8e, + 0x6f91, 0x6fc2, 0x6f66, 0x6fb3, 0x6fa3, 0x6fa1, 0x6fa4, 0x6fb9, + 0x6fc6, 0x6faa, 0x6fdf, 0x6fd5, 0x6fec, 0x6fd4, 0x6fd8, 0x6ff1, + 0x6fee, 0x6fdb, 0x7009, 0x700b, 0x6ffa, 0x7011, 0x7001, 0x700f, + 0x6ffe, 0x701b, 0x701a, 0x6f74, 0x701d, 0x7018, 0x701f, 0x7030, + 0x703e, 0x7032, 0x7051, 0x7063, 0x7099, 0x7092, 0x70af, 0x70f1, + 0x70ac, 0x70b8, 0x70b3, 0x70ae, 0x70df, 0x70cb, 0x70dd, 0x70d9, + 0x7109, 0x70fd, 0x711c, 0x7119, 0x7165, 0x7155, 0x7188, 0x7166, + 0x7162, 0x714c, 0x7156, 0x716c, 0x718f, 0x71fb, 0x7184, 0x7195, + 0x71a8, 0x71ac, 0x71d7, 0x71b9, 0x71be, 0x71d2, 0x71c9, 0x71d4, + 0x71ce, 0x71e0, 0x71ec, 0x71e7, 0x71f5, 0x71fc, + /* 0x60 */ + 0x71f9, 0x71ff, 0x720d, 0x7210, 0x721b, 0x7228, 0x722d, 0x722c, + 0x7230, 0x7232, 0x723b, 0x723c, 0x723f, 0x7240, 0x7246, 0x724b, + 0x7258, 0x7274, 0x727e, 0x7282, 0x7281, 0x7287, 0x7292, 0x7296, + 0x72a2, 0x72a7, 0x72b9, 0x72b2, 0x72c3, 0x72c6, 0x72c4, 0x72ce, + 0x72d2, 0x72e2, 0x72e0, 0x72e1, 0x72f9, 0x72f7, 0x500f, 0x7317, + 0x730a, 0x731c, 0x7316, 0x731d, 0x7334, 0x732f, 0x7329, 0x7325, + 0x733e, 0x734e, 0x734f, 0x9ed8, 0x7357, 0x736a, 0x7368, 0x7370, + 0x7378, 0x7375, 0x737b, 0x737a, 0x73c8, 0x73b3, 0x73ce, 0x73bb, + 0x73c0, 0x73e5, 0x73ee, 0x73de, 0x74a2, 0x7405, 0x746f, 0x7425, + 0x73f8, 0x7432, 0x743a, 0x7455, 0x743f, 0x745f, 0x7459, 0x7441, + 0x745c, 0x7469, 0x7470, 0x7463, 0x746a, 0x7476, 0x747e, 0x748b, + 0x749e, 0x74a7, 0x74ca, 0x74cf, 0x74d4, 0x73f1, + /* 0x61 */ + 0x74e0, 0x74e3, 0x74e7, 0x74e9, 0x74ee, 0x74f2, 0x74f0, 0x74f1, + 0x74f8, 0x74f7, 0x7504, 0x7503, 0x7505, 0x750c, 0x750e, 0x750d, + 0x7515, 0x7513, 0x751e, 0x7526, 0x752c, 0x753c, 0x7544, 0x754d, + 0x754a, 0x7549, 0x755b, 0x7546, 0x755a, 0x7569, 0x7564, 0x7567, + 0x756b, 0x756d, 0x7578, 0x7576, 0x7586, 0x7587, 0x7574, 0x758a, + 0x7589, 0x7582, 0x7594, 0x759a, 0x759d, 0x75a5, 0x75a3, 0x75c2, + 0x75b3, 0x75c3, 0x75b5, 0x75bd, 0x75b8, 0x75bc, 0x75b1, 0x75cd, + 0x75ca, 0x75d2, 0x75d9, 0x75e3, 0x75de, 0x75fe, 0x75ff, 0x75fc, + 0x7601, 0x75f0, 0x75fa, 0x75f2, 0x75f3, 0x760b, 0x760d, 0x7609, + 0x761f, 0x7627, 0x7620, 0x7621, 0x7622, 0x7624, 0x7634, 0x7630, + 0x763b, 0x7647, 0x7648, 0x7646, 0x765c, 0x7658, 0x7661, 0x7662, + 0x7668, 0x7669, 0x766a, 0x7667, 0x766c, 0x7670, + /* 0x62 */ + 0x7672, 0x7676, 0x7678, 0x767c, 0x7680, 0x7683, 0x7688, 0x768b, + 0x768e, 0x7696, 0x7693, 0x7699, 0x769a, 0x76b0, 0x76b4, 0x76b8, + 0x76b9, 0x76ba, 0x76c2, 0x76cd, 0x76d6, 0x76d2, 0x76de, 0x76e1, + 0x76e5, 0x76e7, 0x76ea, 0x862f, 0x76fb, 0x7708, 0x7707, 0x7704, + 0x7729, 0x7724, 0x771e, 0x7725, 0x7726, 0x771b, 0x7737, 0x7738, + 0x7747, 0x775a, 0x7768, 0x776b, 0x775b, 0x7765, 0x777f, 0x777e, + 0x7779, 0x778e, 0x778b, 0x7791, 0x77a0, 0x779e, 0x77b0, 0x77b6, + 0x77b9, 0x77bf, 0x77bc, 0x77bd, 0x77bb, 0x77c7, 0x77cd, 0x77d7, + 0x77da, 0x77dc, 0x77e3, 0x77ee, 0x77fc, 0x780c, 0x7812, 0x7926, + 0x7820, 0x792a, 0x7845, 0x788e, 0x7874, 0x7886, 0x787c, 0x789a, + 0x788c, 0x78a3, 0x78b5, 0x78aa, 0x78af, 0x78d1, 0x78c6, 0x78cb, + 0x78d4, 0x78be, 0x78bc, 0x78c5, 0x78ca, 0x78ec, + /* 0x63 */ + 0x78e7, 0x78da, 0x78fd, 0x78f4, 0x7907, 0x7912, 0x7911, 0x7919, + 0x792c, 0x792b, 0x7940, 0x7960, 0x7957, 0x795f, 0x795a, 0x7955, + 0x7953, 0x797a, 0x797f, 0x798a, 0x799d, 0x79a7, 0x9f4b, 0x79aa, + 0x79ae, 0x79b3, 0x79b9, 0x79ba, 0x79c9, 0x79d5, 0x79e7, 0x79ec, + 0x79e1, 0x79e3, 0x7a08, 0x7a0d, 0x7a18, 0x7a19, 0x7a20, 0x7a1f, + 0x7980, 0x7a31, 0x7a3b, 0x7a3e, 0x7a37, 0x7a43, 0x7a57, 0x7a49, + 0x7a61, 0x7a62, 0x7a69, 0x9f9d, 0x7a70, 0x7a79, 0x7a7d, 0x7a88, + 0x7a97, 0x7a95, 0x7a98, 0x7a96, 0x7aa9, 0x7ac8, 0x7ab0, 0x7ab6, + 0x7ac5, 0x7ac4, 0x7abf, 0x9083, 0x7ac7, 0x7aca, 0x7acd, 0x7acf, + 0x7ad5, 0x7ad3, 0x7ad9, 0x7ada, 0x7add, 0x7ae1, 0x7ae2, 0x7ae6, + 0x7aed, 0x7af0, 0x7b02, 0x7b0f, 0x7b0a, 0x7b06, 0x7b33, 0x7b18, + 0x7b19, 0x7b1e, 0x7b35, 0x7b28, 0x7b36, 0x7b50, + /* 0x64 */ + 0x7b7a, 0x7b04, 0x7b4d, 0x7b0b, 0x7b4c, 0x7b45, 0x7b75, 0x7b65, + 0x7b74, 0x7b67, 0x7b70, 0x7b71, 0x7b6c, 0x7b6e, 0x7b9d, 0x7b98, + 0x7b9f, 0x7b8d, 0x7b9c, 0x7b9a, 0x7b8b, 0x7b92, 0x7b8f, 0x7b5d, + 0x7b99, 0x7bcb, 0x7bc1, 0x7bcc, 0x7bcf, 0x7bb4, 0x7bc6, 0x7bdd, + 0x7be9, 0x7c11, 0x7c14, 0x7be6, 0x7be5, 0x7c60, 0x7c00, 0x7c07, + 0x7c13, 0x7bf3, 0x7bf7, 0x7c17, 0x7c0d, 0x7bf6, 0x7c23, 0x7c27, + 0x7c2a, 0x7c1f, 0x7c37, 0x7c2b, 0x7c3d, 0x7c4c, 0x7c43, 0x7c54, + 0x7c4f, 0x7c40, 0x7c50, 0x7c58, 0x7c5f, 0x7c64, 0x7c56, 0x7c65, + 0x7c6c, 0x7c75, 0x7c83, 0x7c90, 0x7ca4, 0x7cad, 0x7ca2, 0x7cab, + 0x7ca1, 0x7ca8, 0x7cb3, 0x7cb2, 0x7cb1, 0x7cae, 0x7cb9, 0x7cbd, + 0x7cc0, 0x7cc5, 0x7cc2, 0x7cd8, 0x7cd2, 0x7cdc, 0x7ce2, 0x9b3b, + 0x7cef, 0x7cf2, 0x7cf4, 0x7cf6, 0x7cfa, 0x7d06, + /* 0x65 */ + 0x7d02, 0x7d1c, 0x7d15, 0x7d0a, 0x7d45, 0x7d4b, 0x7d2e, 0x7d32, + 0x7d3f, 0x7d35, 0x7d46, 0x7d73, 0x7d56, 0x7d4e, 0x7d72, 0x7d68, + 0x7d6e, 0x7d4f, 0x7d63, 0x7d93, 0x7d89, 0x7d5b, 0x7d8f, 0x7d7d, + 0x7d9b, 0x7dba, 0x7dae, 0x7da3, 0x7db5, 0x7dc7, 0x7dbd, 0x7dab, + 0x7e3d, 0x7da2, 0x7daf, 0x7ddc, 0x7db8, 0x7d9f, 0x7db0, 0x7dd8, + 0x7ddd, 0x7de4, 0x7dde, 0x7dfb, 0x7df2, 0x7de1, 0x7e05, 0x7e0a, + 0x7e23, 0x7e21, 0x7e12, 0x7e31, 0x7e1f, 0x7e09, 0x7e0b, 0x7e22, + 0x7e46, 0x7e66, 0x7e3b, 0x7e35, 0x7e39, 0x7e43, 0x7e37, 0x7e32, + 0x7e3a, 0x7e67, 0x7e5d, 0x7e56, 0x7e5e, 0x7e59, 0x7e5a, 0x7e79, + 0x7e6a, 0x7e69, 0x7e7c, 0x7e7b, 0x7e83, 0x7dd5, 0x7e7d, 0x8fae, + 0x7e7f, 0x7e88, 0x7e89, 0x7e8c, 0x7e92, 0x7e90, 0x7e93, 0x7e94, + 0x7e96, 0x7e8e, 0x7e9b, 0x7e9c, 0x7f38, 0x7f3a, + /* 0x66 */ + 0x7f45, 0x7f4c, 0x7f4d, 0x7f4e, 0x7f50, 0x7f51, 0x7f55, 0x7f54, + 0x7f58, 0x7f5f, 0x7f60, 0x7f68, 0x7f69, 0x7f67, 0x7f78, 0x7f82, + 0x7f86, 0x7f83, 0x7f88, 0x7f87, 0x7f8c, 0x7f94, 0x7f9e, 0x7f9d, + 0x7f9a, 0x7fa3, 0x7faf, 0x7fb2, 0x7fb9, 0x7fae, 0x7fb6, 0x7fb8, + 0x8b71, 0x7fc5, 0x7fc6, 0x7fca, 0x7fd5, 0x7fd4, 0x7fe1, 0x7fe6, + 0x7fe9, 0x7ff3, 0x7ff9, 0x98dc, 0x8006, 0x8004, 0x800b, 0x8012, + 0x8018, 0x8019, 0x801c, 0x8021, 0x8028, 0x803f, 0x803b, 0x804a, + 0x8046, 0x8052, 0x8058, 0x805a, 0x805f, 0x8062, 0x8068, 0x8073, + 0x8072, 0x8070, 0x8076, 0x8079, 0x807d, 0x807f, 0x8084, 0x8086, + 0x8085, 0x809b, 0x8093, 0x809a, 0x80ad, 0x5190, 0x80ac, 0x80db, + 0x80e5, 0x80d9, 0x80dd, 0x80c4, 0x80da, 0x80d6, 0x8109, 0x80ef, + 0x80f1, 0x811b, 0x8129, 0x8123, 0x812f, 0x814b, + /* 0x67 */ + 0x968b, 0x8146, 0x813e, 0x8153, 0x8151, 0x80fc, 0x8171, 0x816e, + 0x8165, 0x8166, 0x8174, 0x8183, 0x8188, 0x818a, 0x8180, 0x8182, + 0x81a0, 0x8195, 0x81a4, 0x81a3, 0x815f, 0x8193, 0x81a9, 0x81b0, + 0x81b5, 0x81be, 0x81b8, 0x81bd, 0x81c0, 0x81c2, 0x81ba, 0x81c9, + 0x81cd, 0x81d1, 0x81d9, 0x81d8, 0x81c8, 0x81da, 0x81df, 0x81e0, + 0x81e7, 0x81fa, 0x81fb, 0x81fe, 0x8201, 0x8202, 0x8205, 0x8207, + 0x820a, 0x820d, 0x8210, 0x8216, 0x8229, 0x822b, 0x8238, 0x8233, + 0x8240, 0x8259, 0x8258, 0x825d, 0x825a, 0x825f, 0x8264, 0x8262, + 0x8268, 0x826a, 0x826b, 0x822e, 0x8271, 0x8277, 0x8278, 0x827e, + 0x828d, 0x8292, 0x82ab, 0x829f, 0x82bb, 0x82ac, 0x82e1, 0x82e3, + 0x82df, 0x82d2, 0x82f4, 0x82f3, 0x82fa, 0x8393, 0x8303, 0x82fb, + 0x82f9, 0x82de, 0x8306, 0x82dc, 0x8309, 0x82d9, + /* 0x68 */ + 0x8335, 0x8334, 0x8316, 0x8332, 0x8331, 0x8340, 0x8339, 0x8350, + 0x8345, 0x832f, 0x832b, 0x8317, 0x8318, 0x8385, 0x839a, 0x83aa, + 0x839f, 0x83a2, 0x8396, 0x8323, 0x838e, 0x8387, 0x838a, 0x837c, + 0x83b5, 0x8373, 0x8375, 0x83a0, 0x8389, 0x83a8, 0x83f4, 0x8413, + 0x83eb, 0x83ce, 0x83fd, 0x8403, 0x83d8, 0x840b, 0x83c1, 0x83f7, + 0x8407, 0x83e0, 0x83f2, 0x840d, 0x8422, 0x8420, 0x83bd, 0x8438, + 0x8506, 0x83fb, 0x846d, 0x842a, 0x843c, 0x855a, 0x8484, 0x8477, + 0x846b, 0x84ad, 0x846e, 0x8482, 0x8469, 0x8446, 0x842c, 0x846f, + 0x8479, 0x8435, 0x84ca, 0x8462, 0x84b9, 0x84bf, 0x849f, 0x84d9, + 0x84cd, 0x84bb, 0x84da, 0x84d0, 0x84c1, 0x84c6, 0x84d6, 0x84a1, + 0x8521, 0x84ff, 0x84f4, 0x8517, 0x8518, 0x852c, 0x851f, 0x8515, + 0x8514, 0x84fc, 0x8540, 0x8563, 0x8558, 0x8548, + /* 0x69 */ + 0x8541, 0x8602, 0x854b, 0x8555, 0x8580, 0x85a4, 0x8588, 0x8591, + 0x858a, 0x85a8, 0x856d, 0x8594, 0x859b, 0x85ea, 0x8587, 0x859c, + 0x8577, 0x857e, 0x8590, 0x85c9, 0x85ba, 0x85cf, 0x85b9, 0x85d0, + 0x85d5, 0x85dd, 0x85e5, 0x85dc, 0x85f9, 0x860a, 0x8613, 0x860b, + 0x85fe, 0x85fa, 0x8606, 0x8622, 0x861a, 0x8630, 0x863f, 0x864d, + 0x4e55, 0x8654, 0x865f, 0x8667, 0x8671, 0x8693, 0x86a3, 0x86a9, + 0x86aa, 0x868b, 0x868c, 0x86b6, 0x86af, 0x86c4, 0x86c6, 0x86b0, + 0x86c9, 0x8823, 0x86ab, 0x86d4, 0x86de, 0x86e9, 0x86ec, 0x86df, + 0x86db, 0x86ef, 0x8712, 0x8706, 0x8708, 0x8700, 0x8703, 0x86fb, + 0x8711, 0x8709, 0x870d, 0x86f9, 0x870a, 0x8734, 0x873f, 0x8737, + 0x873b, 0x8725, 0x8729, 0x871a, 0x8760, 0x875f, 0x8778, 0x874c, + 0x874e, 0x8774, 0x8757, 0x8768, 0x876e, 0x8759, + /* 0x6a */ + 0x8753, 0x8763, 0x876a, 0x8805, 0x87a2, 0x879f, 0x8782, 0x87af, + 0x87cb, 0x87bd, 0x87c0, 0x87d0, 0x96d6, 0x87ab, 0x87c4, 0x87b3, + 0x87c7, 0x87c6, 0x87bb, 0x87ef, 0x87f2, 0x87e0, 0x880f, 0x880d, + 0x87fe, 0x87f6, 0x87f7, 0x880e, 0x87d2, 0x8811, 0x8816, 0x8815, + 0x8822, 0x8821, 0x8831, 0x8836, 0x8839, 0x8827, 0x883b, 0x8844, + 0x8842, 0x8852, 0x8859, 0x885e, 0x8862, 0x886b, 0x8881, 0x887e, + 0x889e, 0x8875, 0x887d, 0x88b5, 0x8872, 0x8882, 0x8897, 0x8892, + 0x88ae, 0x8899, 0x88a2, 0x888d, 0x88a4, 0x88b0, 0x88bf, 0x88b1, + 0x88c3, 0x88c4, 0x88d4, 0x88d8, 0x88d9, 0x88dd, 0x88f9, 0x8902, + 0x88fc, 0x88f4, 0x88e8, 0x88f2, 0x8904, 0x890c, 0x890a, 0x8913, + 0x8943, 0x891e, 0x8925, 0x892a, 0x892b, 0x8941, 0x8944, 0x893b, + 0x8936, 0x8938, 0x894c, 0x891d, 0x8960, 0x895e, + /* 0x6b */ + 0x8966, 0x8964, 0x896d, 0x896a, 0x896f, 0x8974, 0x8977, 0x897e, + 0x8983, 0x8988, 0x898a, 0x8993, 0x8998, 0x89a1, 0x89a9, 0x89a6, + 0x89ac, 0x89af, 0x89b2, 0x89ba, 0x89bd, 0x89bf, 0x89c0, 0x89da, + 0x89dc, 0x89dd, 0x89e7, 0x89f4, 0x89f8, 0x8a03, 0x8a16, 0x8a10, + 0x8a0c, 0x8a1b, 0x8a1d, 0x8a25, 0x8a36, 0x8a41, 0x8a5b, 0x8a52, + 0x8a46, 0x8a48, 0x8a7c, 0x8a6d, 0x8a6c, 0x8a62, 0x8a85, 0x8a82, + 0x8a84, 0x8aa8, 0x8aa1, 0x8a91, 0x8aa5, 0x8aa6, 0x8a9a, 0x8aa3, + 0x8ac4, 0x8acd, 0x8ac2, 0x8ada, 0x8aeb, 0x8af3, 0x8ae7, 0x8ae4, + 0x8af1, 0x8b14, 0x8ae0, 0x8ae2, 0x8af7, 0x8ade, 0x8adb, 0x8b0c, + 0x8b07, 0x8b1a, 0x8ae1, 0x8b16, 0x8b10, 0x8b17, 0x8b20, 0x8b33, + 0x97ab, 0x8b26, 0x8b2b, 0x8b3e, 0x8b28, 0x8b41, 0x8b4c, 0x8b4f, + 0x8b4e, 0x8b49, 0x8b56, 0x8b5b, 0x8b5a, 0x8b6b, + /* 0x6c */ + 0x8b5f, 0x8b6c, 0x8b6f, 0x8b74, 0x8b7d, 0x8b80, 0x8b8c, 0x8b8e, + 0x8b92, 0x8b93, 0x8b96, 0x8b99, 0x8b9a, 0x8c3a, 0x8c41, 0x8c3f, + 0x8c48, 0x8c4c, 0x8c4e, 0x8c50, 0x8c55, 0x8c62, 0x8c6c, 0x8c78, + 0x8c7a, 0x8c82, 0x8c89, 0x8c85, 0x8c8a, 0x8c8d, 0x8c8e, 0x8c94, + 0x8c7c, 0x8c98, 0x621d, 0x8cad, 0x8caa, 0x8cbd, 0x8cb2, 0x8cb3, + 0x8cae, 0x8cb6, 0x8cc8, 0x8cc1, 0x8ce4, 0x8ce3, 0x8cda, 0x8cfd, + 0x8cfa, 0x8cfb, 0x8d04, 0x8d05, 0x8d0a, 0x8d07, 0x8d0f, 0x8d0d, + 0x8d10, 0x9f4e, 0x8d13, 0x8ccd, 0x8d14, 0x8d16, 0x8d67, 0x8d6d, + 0x8d71, 0x8d73, 0x8d81, 0x8d99, 0x8dc2, 0x8dbe, 0x8dba, 0x8dcf, + 0x8dda, 0x8dd6, 0x8dcc, 0x8ddb, 0x8dcb, 0x8dea, 0x8deb, 0x8ddf, + 0x8de3, 0x8dfc, 0x8e08, 0x8e09, 0x8dff, 0x8e1d, 0x8e1e, 0x8e10, + 0x8e1f, 0x8e42, 0x8e35, 0x8e30, 0x8e34, 0x8e4a, + /* 0x6d */ + 0x8e47, 0x8e49, 0x8e4c, 0x8e50, 0x8e48, 0x8e59, 0x8e64, 0x8e60, + 0x8e2a, 0x8e63, 0x8e55, 0x8e76, 0x8e72, 0x8e7c, 0x8e81, 0x8e87, + 0x8e85, 0x8e84, 0x8e8b, 0x8e8a, 0x8e93, 0x8e91, 0x8e94, 0x8e99, + 0x8eaa, 0x8ea1, 0x8eac, 0x8eb0, 0x8ec6, 0x8eb1, 0x8ebe, 0x8ec5, + 0x8ec8, 0x8ecb, 0x8edb, 0x8ee3, 0x8efc, 0x8efb, 0x8eeb, 0x8efe, + 0x8f0a, 0x8f05, 0x8f15, 0x8f12, 0x8f19, 0x8f13, 0x8f1c, 0x8f1f, + 0x8f1b, 0x8f0c, 0x8f26, 0x8f33, 0x8f3b, 0x8f39, 0x8f45, 0x8f42, + 0x8f3e, 0x8f4c, 0x8f49, 0x8f46, 0x8f4e, 0x8f57, 0x8f5c, 0x8f62, + 0x8f63, 0x8f64, 0x8f9c, 0x8f9f, 0x8fa3, 0x8fad, 0x8faf, 0x8fb7, + 0x8fda, 0x8fe5, 0x8fe2, 0x8fea, 0x8fef, 0x9087, 0x8ff4, 0x9005, + 0x8ff9, 0x8ffa, 0x9011, 0x9015, 0x9021, 0x900d, 0x901e, 0x9016, + 0x900b, 0x9027, 0x9036, 0x9035, 0x9039, 0x8ff8, + /* 0x6e */ + 0x904f, 0x9050, 0x9051, 0x9052, 0x900e, 0x9049, 0x903e, 0x9056, + 0x9058, 0x905e, 0x9068, 0x906f, 0x9076, 0x96a8, 0x9072, 0x9082, + 0x907d, 0x9081, 0x9080, 0x908a, 0x9089, 0x908f, 0x90a8, 0x90af, + 0x90b1, 0x90b5, 0x90e2, 0x90e4, 0x6248, 0x90db, 0x9102, 0x9112, + 0x9119, 0x9132, 0x9130, 0x914a, 0x9156, 0x9158, 0x9163, 0x9165, + 0x9169, 0x9173, 0x9172, 0x918b, 0x9189, 0x9182, 0x91a2, 0x91ab, + 0x91af, 0x91aa, 0x91b5, 0x91b4, 0x91ba, 0x91c0, 0x91c1, 0x91c9, + 0x91cb, 0x91d0, 0x91d6, 0x91df, 0x91e1, 0x91db, 0x91fc, 0x91f5, + 0x91f6, 0x921e, 0x91ff, 0x9214, 0x922c, 0x9215, 0x9211, 0x925e, + 0x9257, 0x9245, 0x9249, 0x9264, 0x9248, 0x9295, 0x923f, 0x924b, + 0x9250, 0x929c, 0x9296, 0x9293, 0x929b, 0x925a, 0x92cf, 0x92b9, + 0x92b7, 0x92e9, 0x930f, 0x92fa, 0x9344, 0x932e, + /* 0x6f */ + 0x9319, 0x9322, 0x931a, 0x9323, 0x933a, 0x9335, 0x933b, 0x935c, + 0x9360, 0x937c, 0x936e, 0x9356, 0x93b0, 0x93ac, 0x93ad, 0x9394, + 0x93b9, 0x93d6, 0x93d7, 0x93e8, 0x93e5, 0x93d8, 0x93c3, 0x93dd, + 0x93d0, 0x93c8, 0x93e4, 0x941a, 0x9414, 0x9413, 0x9403, 0x9407, + 0x9410, 0x9436, 0x942b, 0x9435, 0x9421, 0x943a, 0x9441, 0x9452, + 0x9444, 0x945b, 0x9460, 0x9462, 0x945e, 0x946a, 0x9229, 0x9470, + 0x9475, 0x9477, 0x947d, 0x945a, 0x947c, 0x947e, 0x9481, 0x947f, + 0x9582, 0x9587, 0x958a, 0x9594, 0x9596, 0x9598, 0x9599, 0x95a0, + 0x95a8, 0x95a7, 0x95ad, 0x95bc, 0x95bb, 0x95b9, 0x95be, 0x95ca, + 0x6ff6, 0x95c3, 0x95cd, 0x95cc, 0x95d5, 0x95d4, 0x95d6, 0x95dc, + 0x95e1, 0x95e5, 0x95e2, 0x9621, 0x9628, 0x962e, 0x962f, 0x9642, + 0x964c, 0x964f, 0x964b, 0x9677, 0x965c, 0x965e, + /* 0x70 */ + 0x965d, 0x965f, 0x9666, 0x9672, 0x966c, 0x968d, 0x9698, 0x9695, + 0x9697, 0x96aa, 0x96a7, 0x96b1, 0x96b2, 0x96b0, 0x96b4, 0x96b6, + 0x96b8, 0x96b9, 0x96ce, 0x96cb, 0x96c9, 0x96cd, 0x894d, 0x96dc, + 0x970d, 0x96d5, 0x96f9, 0x9704, 0x9706, 0x9708, 0x9713, 0x970e, + 0x9711, 0x970f, 0x9716, 0x9719, 0x9724, 0x972a, 0x9730, 0x9739, + 0x973d, 0x973e, 0x9744, 0x9746, 0x9748, 0x9742, 0x9749, 0x975c, + 0x9760, 0x9764, 0x9766, 0x9768, 0x52d2, 0x976b, 0x9771, 0x9779, + 0x9785, 0x977c, 0x9781, 0x977a, 0x9786, 0x978b, 0x978f, 0x9790, + 0x979c, 0x97a8, 0x97a6, 0x97a3, 0x97b3, 0x97b4, 0x97c3, 0x97c6, + 0x97c8, 0x97cb, 0x97dc, 0x97ed, 0x9f4f, 0x97f2, 0x7adf, 0x97f6, + 0x97f5, 0x980f, 0x980c, 0x9838, 0x9824, 0x9821, 0x9837, 0x983d, + 0x9846, 0x984f, 0x984b, 0x986b, 0x986f, 0x9870, + /* 0x71 */ + 0x9871, 0x9874, 0x9873, 0x98aa, 0x98af, 0x98b1, 0x98b6, 0x98c4, + 0x98c3, 0x98c6, 0x98e9, 0x98eb, 0x9903, 0x9909, 0x9912, 0x9914, + 0x9918, 0x9921, 0x991d, 0x991e, 0x9924, 0x9920, 0x992c, 0x992e, + 0x993d, 0x993e, 0x9942, 0x9949, 0x9945, 0x9950, 0x994b, 0x9951, + 0x9952, 0x994c, 0x9955, 0x9997, 0x9998, 0x99a5, 0x99ad, 0x99ae, + 0x99bc, 0x99df, 0x99db, 0x99dd, 0x99d8, 0x99d1, 0x99ed, 0x99ee, + 0x99f1, 0x99f2, 0x99fb, 0x99f8, 0x9a01, 0x9a0f, 0x9a05, 0x99e2, + 0x9a19, 0x9a2b, 0x9a37, 0x9a45, 0x9a42, 0x9a40, 0x9a43, 0x9a3e, + 0x9a55, 0x9a4d, 0x9a5b, 0x9a57, 0x9a5f, 0x9a62, 0x9a65, 0x9a64, + 0x9a69, 0x9a6b, 0x9a6a, 0x9aad, 0x9ab0, 0x9abc, 0x9ac0, 0x9acf, + 0x9ad1, 0x9ad3, 0x9ad4, 0x9ade, 0x9adf, 0x9ae2, 0x9ae3, 0x9ae6, + 0x9aef, 0x9aeb, 0x9aee, 0x9af4, 0x9af1, 0x9af7, + /* 0x72 */ + 0x9afb, 0x9b06, 0x9b18, 0x9b1a, 0x9b1f, 0x9b22, 0x9b23, 0x9b25, + 0x9b27, 0x9b28, 0x9b29, 0x9b2a, 0x9b2e, 0x9b2f, 0x9b32, 0x9b44, + 0x9b43, 0x9b4f, 0x9b4d, 0x9b4e, 0x9b51, 0x9b58, 0x9b74, 0x9b93, + 0x9b83, 0x9b91, 0x9b96, 0x9b97, 0x9b9f, 0x9ba0, 0x9ba8, 0x9bb4, + 0x9bc0, 0x9bca, 0x9bb9, 0x9bc6, 0x9bcf, 0x9bd1, 0x9bd2, 0x9be3, + 0x9be2, 0x9be4, 0x9bd4, 0x9be1, 0x9c3a, 0x9bf2, 0x9bf1, 0x9bf0, + 0x9c15, 0x9c14, 0x9c09, 0x9c13, 0x9c0c, 0x9c06, 0x9c08, 0x9c12, + 0x9c0a, 0x9c04, 0x9c2e, 0x9c1b, 0x9c25, 0x9c24, 0x9c21, 0x9c30, + 0x9c47, 0x9c32, 0x9c46, 0x9c3e, 0x9c5a, 0x9c60, 0x9c67, 0x9c76, + 0x9c78, 0x9ce7, 0x9cec, 0x9cf0, 0x9d09, 0x9d08, 0x9ceb, 0x9d03, + 0x9d06, 0x9d2a, 0x9d26, 0x9daf, 0x9d23, 0x9d1f, 0x9d44, 0x9d15, + 0x9d12, 0x9d41, 0x9d3f, 0x9d3e, 0x9d46, 0x9d48, + /* 0x73 */ + 0x9d5d, 0x9d5e, 0x9d64, 0x9d51, 0x9d50, 0x9d59, 0x9d72, 0x9d89, + 0x9d87, 0x9dab, 0x9d6f, 0x9d7a, 0x9d9a, 0x9da4, 0x9da9, 0x9db2, + 0x9dc4, 0x9dc1, 0x9dbb, 0x9db8, 0x9dba, 0x9dc6, 0x9dcf, 0x9dc2, + 0x9dd9, 0x9dd3, 0x9df8, 0x9de6, 0x9ded, 0x9def, 0x9dfd, 0x9e1a, + 0x9e1b, 0x9e1e, 0x9e75, 0x9e79, 0x9e7d, 0x9e81, 0x9e88, 0x9e8b, + 0x9e8c, 0x9e92, 0x9e95, 0x9e91, 0x9e9d, 0x9ea5, 0x9ea9, 0x9eb8, + 0x9eaa, 0x9ead, 0x9761, 0x9ecc, 0x9ece, 0x9ecf, 0x9ed0, 0x9ed4, + 0x9edc, 0x9ede, 0x9edd, 0x9ee0, 0x9ee5, 0x9ee8, 0x9eef, 0x9ef4, + 0x9ef6, 0x9ef7, 0x9ef9, 0x9efb, 0x9efc, 0x9efd, 0x9f07, 0x9f08, + 0x76b7, 0x9f15, 0x9f21, 0x9f2c, 0x9f3e, 0x9f4a, 0x9f52, 0x9f54, + 0x9f63, 0x9f5f, 0x9f60, 0x9f61, 0x9f66, 0x9f67, 0x9f6c, 0x9f6a, + 0x9f77, 0x9f72, 0x9f76, 0x9f95, 0x9f9c, 0x9fa0, + /* 0x74 */ + 0x582f, 0x69c7, 0x9059, 0x7464, 0x51dc, 0x7199, +}; + +static inline int jisx0208_mbtowc (unsigned int *pwc, const unsigned char *s, int n) +{ + unsigned char c1 = s[0]; + if ((c1 >= 0x21 && c1 <= 0x28) || (c1 >= 0x30 && c1 <= 0x74)) { + if (n >= 2) { + unsigned char c2 = s[1]; + if (c2 >= 0x21 && c2 < 0x7f) { + unsigned int i = 94 * (c1 - 0x21) + (c2 - 0x21); + unsigned short wc = 0xfffd; + if (i < 1410) { + if (i < 690) + wc = jisx0208_2uni_page21[i]; + } else { + if (i < 7808) + wc = jisx0208_2uni_page30[i-1410]; + } + if (wc != 0xfffd) { + *pwc = (unsigned int) wc; + return 2; + } + } + return -1; + } + return -2; + } + return -1; +} +
new file mode 100644 --- /dev/null +++ b/lfg.c @@ -0,0 +1,289 @@ +/*! \file + * This code implements the MD5 message-digest algorithm. + * The algorithm is due to Ron Rivest. This code was + * written by Colin Plumb in 1993, no copyright is claimed. + * This code is in the public domain; do with it what you wish. + * + * Equivalent code is available from RSA Data Security, Inc. + * This code has been tested against that, and is equivalent, + * except that you don't need to include two pages of legalese + * with every copy. + * + * To compute the message digest of a chunk of bytes, declare an + * MD5Context structure, pass it to MD5Init, call MD5Update as + * needed on buffers full of bytes, and then call MD5Final, which + * will fill a supplied 16-byte array with the digest. + */ +#include <stdint.h> +#include <string.h> + +typedef struct { + uint32_t buf[4]; + uint32_t bytes[2]; + uint32_t in[16]; +} MD5_CTX; +#define ROTATE(a,n) ({ register unsigned int ret; \ + __asm__ volatile("roll %%cl,%0" \ + : "=r"(ret) \ + : "c"(n), "0"((unsigned int)(a)) \ + : "cc"); ret; }) + +/*! + * Start MD5 accumulation. Set bit count to 0 and buffer to mysterious + * initialization constants. + */ +void +MD5Init(MD5_CTX *ctx) { + ctx->buf[0] = 0x67452301; + ctx->buf[1] = 0xefcdab89; + ctx->buf[2] = 0x98badcfe; + ctx->buf[3] = 0x10325476; + + ctx->bytes[0] = 0; + ctx->bytes[1] = 0; +} + +/*@{*/ +/*! The four core functions - F1 is optimized somewhat */ + +/* #define F1(x, y, z) (x & y | ~x & z) */ +#define F1(x, y, z) (z ^ (x & (y ^ z))) +#define F2(x, y, z) F1(z, x, y) +#define F3(x, y, z) (x ^ y ^ z) +#define F4(x, y, z) (y ^ (x | ~z)) +/*@}*/ + +/*! This is the central step in the MD5 algorithm. */ +#define MD5STEP(f,w,x,y,z,in,s) \ + (w += f(x,y,z) + in, w = (w<<s | w>>(32-s)) + x) + +/*! + * The core of the MD5 algorithm, this alters an existing MD5 hash to + * reflect the addition of 16 longwords of new data. MD5Update blocks + * the data and converts bytes into longwords for this routine. + */ +static void +transform(uint32_t buf[4], uint32_t const in[16]) { + register uint32_t a, b, c, d; + + a = buf[0]; + b = buf[1]; + c = buf[2]; + d = buf[3]; + + MD5STEP(F1, a, b, c, d, in[0] + 0xd76aa478, 7); + MD5STEP(F1, d, a, b, c, in[1] + 0xe8c7b756, 12); + MD5STEP(F1, c, d, a, b, in[2] + 0x242070db, 17); + MD5STEP(F1, b, c, d, a, in[3] + 0xc1bdceee, 22); + MD5STEP(F1, a, b, c, d, in[4] + 0xf57c0faf, 7); + MD5STEP(F1, d, a, b, c, in[5] + 0x4787c62a, 12); + MD5STEP(F1, c, d, a, b, in[6] + 0xa8304613, 17); + MD5STEP(F1, b, c, d, a, in[7] + 0xfd469501, 22); + MD5STEP(F1, a, b, c, d, in[8] + 0x698098d8, 7); + MD5STEP(F1, d, a, b, c, in[9] + 0x8b44f7af, 12); + MD5STEP(F1, c, d, a, b, in[10] + 0xffff5bb1, 17); + MD5STEP(F1, b, c, d, a, in[11] + 0x895cd7be, 22); + MD5STEP(F1, a, b, c, d, in[12] + 0x6b901122, 7); + MD5STEP(F1, d, a, b, c, in[13] + 0xfd987193, 12); + MD5STEP(F1, c, d, a, b, in[14] + 0xa679438e, 17); + MD5STEP(F1, b, c, d, a, in[15] + 0x49b40821, 22); + + MD5STEP(F2, a, b, c, d, in[1] + 0xf61e2562, 5); + MD5STEP(F2, d, a, b, c, in[6] + 0xc040b340, 9); + MD5STEP(F2, c, d, a, b, in[11] + 0x265e5a51, 14); + MD5STEP(F2, b, c, d, a, in[0] + 0xe9b6c7aa, 20); + MD5STEP(F2, a, b, c, d, in[5] + 0xd62f105d, 5); + MD5STEP(F2, d, a, b, c, in[10] + 0x02441453, 9); + MD5STEP(F2, c, d, a, b, in[15] + 0xd8a1e681, 14); + MD5STEP(F2, b, c, d, a, in[4] + 0xe7d3fbc8, 20); + MD5STEP(F2, a, b, c, d, in[9] + 0x21e1cde6, 5); + MD5STEP(F2, d, a, b, c, in[14] + 0xc33707d6, 9); + MD5STEP(F2, c, d, a, b, in[3] + 0xf4d50d87, 14); + MD5STEP(F2, b, c, d, a, in[8] + 0x455a14ed, 20); + MD5STEP(F2, a, b, c, d, in[13] + 0xa9e3e905, 5); + MD5STEP(F2, d, a, b, c, in[2] + 0xfcefa3f8, 9); + MD5STEP(F2, c, d, a, b, in[7] + 0x676f02d9, 14); + MD5STEP(F2, b, c, d, a, in[12] + 0x8d2a4c8a, 20); + + MD5STEP(F3, a, b, c, d, in[5] + 0xfffa3942, 4); + MD5STEP(F3, d, a, b, c, in[8] + 0x8771f681, 11); + MD5STEP(F3, c, d, a, b, in[11] + 0x6d9d6122, 16); + MD5STEP(F3, b, c, d, a, in[14] + 0xfde5380c, 23); + MD5STEP(F3, a, b, c, d, in[1] + 0xa4beea44, 4); + MD5STEP(F3, d, a, b, c, in[4] + 0x4bdecfa9, 11); + MD5STEP(F3, c, d, a, b, in[7] + 0xf6bb4b60, 16); + MD5STEP(F3, b, c, d, a, in[10] + 0xbebfbc70, 23); + MD5STEP(F3, a, b, c, d, in[13] + 0x289b7ec6, 4); + MD5STEP(F3, d, a, b, c, in[0] + 0xeaa127fa, 11); + MD5STEP(F3, c, d, a, b, in[3] + 0xd4ef3085, 16); + MD5STEP(F3, b, c, d, a, in[6] + 0x04881d05, 23); + MD5STEP(F3, a, b, c, d, in[9] + 0xd9d4d039, 4); + MD5STEP(F3, d, a, b, c, in[12] + 0xe6db99e5, 11); + MD5STEP(F3, c, d, a, b, in[15] + 0x1fa27cf8, 16); + MD5STEP(F3, b, c, d, a, in[2] + 0xc4ac5665, 23); + + MD5STEP(F4, a, b, c, d, in[0] + 0xf4292244, 6); + MD5STEP(F4, d, a, b, c, in[7] + 0x432aff97, 10); + MD5STEP(F4, c, d, a, b, in[14] + 0xab9423a7, 15); + MD5STEP(F4, b, c, d, a, in[5] + 0xfc93a039, 21); + MD5STEP(F4, a, b, c, d, in[12] + 0x655b59c3, 6); + MD5STEP(F4, d, a, b, c, in[3] + 0x8f0ccc92, 10); + MD5STEP(F4, c, d, a, b, in[10] + 0xffeff47d, 15); + MD5STEP(F4, b, c, d, a, in[1] + 0x85845dd1, 21); + MD5STEP(F4, a, b, c, d, in[8] + 0x6fa87e4f, 6); + MD5STEP(F4, d, a, b, c, in[15] + 0xfe2ce6e0, 10); + MD5STEP(F4, c, d, a, b, in[6] + 0xa3014314, 15); + MD5STEP(F4, b, c, d, a, in[13] + 0x4e0811a1, 21); + MD5STEP(F4, a, b, c, d, in[4] + 0xf7537e82, 6); + MD5STEP(F4, d, a, b, c, in[11] + 0xbd3af235, 10); + MD5STEP(F4, c, d, a, b, in[2] + 0x2ad7d2bb, 15); + MD5STEP(F4, b, c, d, a, in[9] + 0xeb86d391, 21); + + buf[0] += a; + buf[1] += b; + buf[2] += c; + buf[3] += d; +} + +/*! + * Update context to reflect the concatenation of another buffer full + * of bytes. + */ +void +MD5Update(MD5_CTX *ctx, const unsigned char *buf, unsigned int len) { + uint32_t t; + + /* Update byte count */ + + t = ctx->bytes[0]; + if ((ctx->bytes[0] = t + len) < t) + ctx->bytes[1]++; /* Carry from low to high */ + + t = 64 - (t & 0x3f); /* Space available in ctx->in (at least 1) */ + if (t > len) { + memcpy((unsigned char *)ctx->in + 64 - t, buf, len); + return; + } + /* First chunk is an odd size */ + memcpy((unsigned char *)ctx->in + 64 - t, buf, t); + transform(ctx->buf, ctx->in); + buf += t; + len -= t; + + /* Process data in 64-byte chunks */ + while (len >= 64) { + memcpy(ctx->in, buf, 64); + transform(ctx->buf, ctx->in); + buf += 64; + len -= 64; + } + + /* Handle any remaining bytes of data. */ + memcpy(ctx->in, buf, len); +} + +static inline void small_memset(void *addr, int c, size_t size) { + __asm__ volatile("xor %%al, %%al \t\n" + "rep; stosb \t\n" + :"+D"(addr) :"c"(size) :"%al"); +} + +/*! + * Final wrapup - pad to 64-byte boundary with the bit pattern + * 1 0* (64-bit count of bits processed, MSB-first) + */ +void +MD5Final(MD5_CTX *ctx, unsigned char *digest) { + int count = ctx->bytes[0] & 0x3f; /* Number of bytes in ctx->in */ + unsigned char *p = (unsigned char *)ctx->in + count; + + /* Set the first char of padding to 0x80. There is always room. */ + *p++ = 0x80; + + /* Bytes of padding needed to make 56 bytes (-8..55) */ + count = 56 - 1 - count; + + if (count < 0) { /* Padding forces an extra block */ + small_memset(p, 0, count + 8); + transform(ctx->buf, ctx->in); + p = (unsigned char *)ctx->in; + count = 56; + } + small_memset(p, 0, count); + + /* Append length in bits and transform */ + ctx->in[14] = ctx->bytes[0] << 3; + ctx->in[15] = ctx->bytes[1] << 3 | ctx->bytes[0] >> 29; + transform(ctx->buf, ctx->in); + memcpy(digest, ctx->buf, 16); +} + +typedef struct { + unsigned int state[64]; + unsigned int index; +} AVLFG; +static AVLFG c; + +void lfg_srand(unsigned int seed){ + uint32_t i, tmp[4]={0}; + MD5_CTX ctx; + + for(i=0; i<64; i+=4){ + tmp[0]=seed; tmp[3]=i; + MD5Init(&ctx); + MD5Update(&ctx, (uint8_t*)tmp, 16); + MD5Final(&ctx, (uint8_t*)tmp); + c.state[i ]= tmp[0]; + c.state[i+1]= tmp[1]; + c.state[i+2]= tmp[2]; + c.state[i+3]= tmp[3]; + } + c.index=0; +} + +/** + * Get the next random unsigned 32-bit number using an ALFG. + */ +unsigned int lfg_rand(void){ + c.state[c.index & 63] = c.state[(c.index-24) & 63] + c.state[(c.index-55) & 63]; + return c.state[c.index++ & 63]; +} + +#ifdef TEST +#include <stdio.h> +void av_md5_sum(uint8_t *dst, const uint8_t *src, const int len) +{ + MD5_CTX ctx; + + MD5Init(&ctx); + MD5Update(&ctx, src, len); + MD5Final(&ctx, dst); +} + +static void print_md5(uint8_t *md5) +{ + int i; + for (i = 0; i < 16; i++) + printf("%02x", md5[i]); + printf("\n"); +} + +int main(void){ + uint8_t md5val[16]; + int i; + uint8_t in[1000]; + + for (i = 0; i < 1000; i++) + in[i] = i * i; + av_md5_sum(md5val, in, 1000); print_md5(md5val); + av_md5_sum(md5val, in, 63); print_md5(md5val); + av_md5_sum(md5val, in, 64); print_md5(md5val); + av_md5_sum(md5val, in, 65); print_md5(md5val); + for (i = 0; i < 1000; i++) + in[i] = i % 127; + av_md5_sum(md5val, in, 999); print_md5(md5val); + + return 0; +} +#endif +
new file mode 100644 --- /dev/null +++ b/memcpy.S @@ -0,0 +1,62 @@ + .text +.global memcpy +.type memcpy,%function +memcpy: + /* Cutoff for the big loop is a size of 64 bytes since otherwise + the loop will never be entered. */ + cmpq $64, %rdx + movq %rdx, %rcx + + /* We need this in any case. */ + cld + jbe 1f + + /* Align destination. */ + movq %rdi, %rax + negq %rax + andq $15, %rax + subq %rax, %rcx + xchgq %rax, %rcx + + rep; movsb + + movq %rax, %rcx + subq $64, %rcx + js 2f + + /* Next 3 insns are 11 bytes total, make sure we decode them in one go */ + .p2align 4,,11 +3: + /* Now correct the loop counter. Please note that in the following + code the flags are not changed anymore. */ + subq $64, %rcx + + movups (%rsi), %xmm0 + movups 16(%rsi), %xmm1 + movups 32(%rsi), %xmm2 + movups 48(%rsi), %xmm3 + movaps %xmm0, (%rdi) + movaps %xmm1, 16(%rdi) + movaps %xmm2, 32(%rdi) + movaps %xmm3, 48(%rdi) + + leaq 64(%rsi), %rsi + leaq 64(%rdi), %rdi + + jns 3b + + /* Correct extra loop counter modification. */ +2: addq $64, %rcx +1: + movq %rcx, %r10 + shr $2, %rcx + rep; movsd + + movq %r10, %rcx + andq $3, %rcx + rep; movsb + + movq %rdi, %rax /* Set return value. */ + ret +.size memcpy,.-memcpy +
new file mode 100644 --- /dev/null +++ b/oss_audio.c @@ -0,0 +1,46 @@ +#if !defined(WIN32) && !defined(WIN64) +#include <stdint.h> +#include <fcntl.h> +#include <unistd.h> +#include <sys/stat.h> +#include <sys/soundcard.h> +#include <sys/ioctl.h> + +int oss_audio_open(uint32_t oss_audio_rate, uint8_t nchannels) +{ + int afd = -1, tmp = 0; + + /* open the sound device */ + if ((afd = open("/dev/dsp", O_WRONLY, 0)) == -1) + { /* Opening device failed */ + return(-2); + } + + tmp = AFMT_S16_NE; + /* set the sound driver audio format for playback */ + if (ioctl(afd, SNDCTL_DSP_SETFMT, &tmp) == -1) + { /* Fatal error */ + goto err; + } + + /* set the sound driver number of channels for playback */ + tmp = (nchannels-1); + if (ioctl(afd, SNDCTL_DSP_STEREO, &tmp) == -1) + { /* Fatal error */ + goto err; + } + + /* set the sound driver number playback rate */ + tmp = oss_audio_rate; + if (ioctl(afd, SNDCTL_DSP_SPEED, &tmp) == -1) + { /* Fatal error */ + goto err; + } + + return afd; +err: + close(afd); + return(-1); +} +#endif +
new file mode 100644 --- /dev/null +++ b/pmd_play.c @@ -0,0 +1,252 @@ +#include <stdint.h> +#include <string.h> +#include <fcntl.h> +#include <unistd.h> +#include <sys/stat.h> +#include <math.h> +#include <getopt.h> +#if defined(WIN32) || defined(WIN64) +#include <windows.h> +#include <mmsystem.h> +int wave_out_open(HWAVEOUT *hWaveOut, uint32_t rate, uint8_t channels); +void wave_out_close(HWAVEOUT hWaveOut); +void writeAudio(HWAVEOUT hWaveOut, void *data, uint32_t size); +#else +int oss_audio_open(uint32_t oss_audio_rate, uint8_t nchannels); +int alsa_audio_open(uint32_t *rate, uint8_t channels, uint32_t *_ver, int mode); +int alsa_audio_close(int snd_fd); +long snd_pcm_writei(int snd_fd, const void *buffer, unsigned long size); +int snd_pcm_prepare(int snd_fd); +#ifdef USE_ALSA +#include <errno.h> +#endif +#endif +#include "pmdwin.h" + +#ifndef O_BINARY +#define O_BINARY 0 +#endif + +static uint32_t atoui(const uint8_t *str) { + uint32_t c, num = 0; + while(1) { + c = *str++ - 0x30; + if(c > 9) break; + num = (num << 1) + (num << 3) + c; + } + return num; +} + +static const unsigned char static_hdr_portion[20] = { + 0x52, 0x49, 0x46, 0x46, 0xFF, 0xFF, 0xFF, 0x7F, + 0x57, 0x41, 0x56, 0x45, 0x66, 0x6D, 0x74, 0x20, + 0x10, 0x00, 0x00, 0x00 +}; + +typedef struct _WAVHeader { + uint16_t wav_id; + uint16_t channels; + uint32_t samplerate; + uint32_t bitrate; + uint32_t block_align; + uint32_t pad0; + uint32_t pad1; +} __attribute__((packed)) WAVHeader; + +static void write_wav_header(int fd, uint32_t rate) +{ + WAVHeader w; + write(fd, &static_hdr_portion, 20); + + w.wav_id = 1; + w.channels = 1; + w.samplerate = rate; + w.bitrate = rate*2; + w.block_align = 0x00100010; + w.pad0 = 0x61746164; + w.pad1 = 0x7fffffff; + write(fd, &w, sizeof(WAVHeader)); +} + +//============================================================================= +// Load PMD data from file into memory. Uses mmap() on both Windows and *nix. +// Originally in pmdwin.cpp, moved here to minimize platform-specific code +// in pmdwin.cpp +//============================================================================= +#if defined(WIN32) || defined(WIN64) +static int music_load(char *filename) +{ + HANDLE mapped_file, h; + int result; + size_t size; + uchar *musbuf; + struct stat st; + + mapped_file = CreateFile(filename, GENERIC_READ|GENERIC_WRITE, FILE_SHARE_READ|FILE_SHARE_WRITE, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); + h = CreateFileMapping(mapped_file, NULL, PAGE_READWRITE, 0, 0, NULL); + if(!h) { + return ERR_OPEN_MUSIC_FILE; + } + stat(filename, &st); + musbuf = (uchar*)MapViewOfFile(h, FILE_MAP_READ, 0, 0, 0); + CloseHandle(h); + CloseHandle(mapped_file); + size = st.st_size; + result = music_load3(musbuf, size); + return result; +} +#else +static int music_load(char *filename) +{ + int fd = -1; + int result; + size_t size; + uchar musbuf[mdata_def*1024]; + + if((fd = open(filename, O_RDONLY)) < 0) { + return ERR_OPEN_MUSIC_FILE; + } + + size = read(fd, musbuf, sizeof(musbuf)); + close(fd); + result = music_load3(musbuf, size); + return result; +} +#endif + +#if defined(WIN32) || defined(WIN64) +#define WriteToConsole(str, len) WriteFile(errh, (str), (len), &done, NULL) +#else +#define WriteToConsole(str, len) write(2, (str), (len)) +#endif + +static void usage(void) { +#if defined(WIN32) || defined(WIN64) + DWORD done; + HANDLE errh = GetStdHandle(STD_ERROR_HANDLE); +#endif + const char *usage_str = +"pmdwin -f <output file> -l <loop count> -m <device mask> -c <channel mask> -t <time> [PMD File]\n\ + -f - Write output to wavfile\n\ + -l - Loop n times (default is once - use 0 for infinite loop)\n\ + -m - Device mask: 1 - OPNA, 2 - PSG, 4 - Rhythm (or them together)\n\ + -c - Channel mask: 1,2,4,8,16,32 are OPNA channels 1-6, 64,128,256 are PSG channels 1-3. Once again, or them together\n\ + -t - Play song for n seconds\n\n"; + WriteToConsole(usage_str, strlen(usage_str)); +} + +int main(int argc, char **argv) { + uint32_t i, frameno, samplerate_out = SOUND_44K, infloop = 0; + uint32_t pmd_length = 0, pmd_loopcount = 2; + int opt, j, out_fd = -1; + uint8_t tofile = 0; + int16_t pcmbuf[8192]; + char pmd_title[1024]; + char pmd_compo[1024]; +#if defined(WIN32) || defined(WIN64) + DWORD done; + HANDLE errh = GetStdHandle(STD_ERROR_HANDLE); + HWAVEOUT hWaveOut; +#endif + char buf[1024]; + pmdwininit(); + + while((opt = getopt(argc, argv, "f:l:m:c:t:r:")) != -1) { + switch(opt) { + case 'f': + tofile = 1; + out_fd = open(optarg, O_WRONLY|O_CREAT|O_APPEND|O_BINARY, 0644); + break; + case 'l': + pmd_loopcount = atoui((uint8_t*)optarg); + if(!pmd_loopcount) infloop = 1; + break; + case 'c': + setchanmask(atoui((uint8_t*)optarg)); + break; + case 'm': + setdevmask(atoui((uint8_t*)optarg)); + break; + case 't': + pmd_length = atoui((uint8_t*)optarg)*1000; + break; + case 'r': + samplerate_out = atoui((uint8_t*)optarg); + break; + default: + usage(); + break; + } + } + + if(!tofile) { +#if defined(WIN32) || defined(WIN64) + if(!wave_out_open(&hWaveOut, samplerate_out, 1)) { +#else +#ifdef USE_ALSA + if((out_fd = alsa_audio_open(&samplerate_out, 1, NULL, 0)) < 0) { +#else + if((out_fd = oss_audio_open(samplerate_out, 1)) < 0) { +#endif +#endif + WriteToConsole("Cannot open sound device, exiting.\n", 35); + return -1; + } + } else { + write_wav_header(out_fd, samplerate_out); + } + music_load(argv[optind]); + memcpy(pmd_title, "Title = ", 8); + getmemo3(pmd_title+8, NULL, 0, 1); + i = strlen(pmd_title); pmd_title[i++] = '\n'; +#if defined(WIN32) || defined(WIN64) + SetConsoleOutputCP(65001); // UTF-8 +#endif + WriteToConsole(pmd_title, i); + memcpy(pmd_compo, "Composer = ", 11); + getmemo3(pmd_compo+11, NULL, 0, 2); + i = strlen(pmd_compo); pmd_compo[i++] = '\n'; + WriteToConsole(pmd_compo, i); + setpcmrate(samplerate_out); + music_start(); + i = 0; + if(pmd_length != 0) { + frameno = lrintf(((float)pmd_length*(float)samplerate_out)/(4096.0f*1000.0f)); + } else { + frameno = 0; + } + buf[0] = '\r'; + while(getloopcount() < pmd_loopcount || infloop || i < frameno) { + int ret = getstatus(buf+1, 1022); + WriteToConsole(buf, ret+1); + getpcmdata(pcmbuf, 4096); +#if defined(WIN32) || defined(WIN64) + if(!tofile) { + writeAudio(hWaveOut, pcmbuf, 8192); + } else +#endif +#ifdef USE_ALSA + if(!tofile) { + j = snd_pcm_writei(out_fd, pcmbuf, 2048); + if(j == -EPIPE) { + snd_pcm_prepare(out_fd); + } + } else +#endif + write(out_fd, pcmbuf, 8192); + i++; + } + WriteToConsole("\n", 1); +#if defined(WIN32) || defined(WIN64) + if(!tofile) { + wave_out_close(hWaveOut); + } else +#endif +#ifdef USE_ALSA + alsa_audio_close(out_fd); +#else + close(out_fd); +#endif + return 0; +} +
new file mode 100644 --- /dev/null +++ b/pmdwin.cpp @@ -0,0 +1,5616 @@ +//============================================================================= +// Professional Music Driver [P.M.D.] version 4.8 +// Programmed By M.Kajihara +// Windows Converted by C60 +//============================================================================= + +#include <stdint.h> +#include <stdlib.h> +#include <string.h> +#include <math.h> +#include <limits.h> +#include <fcntl.h> +#include <unistd.h> +#include <sys/time.h> +#if defined(WIN32) || defined(WIN64) +#include <stdarg.h> +#include <windef.h> +#include <winbase.h> +#include <winnt.h> +#else +#include <sys/mman.h> +#endif +#include "jisx0208.h" +#include "pmdwin.h" + +/****************************************************************************** +; Part Table +******************************************************************************/ +static const uint8_t part_table[][3] = { // for PMDB2 + // Part<94>ヤ<8d><86>,Partb,<89>ケ<8c>ケ<94>ヤ<8d><86> + { 0, 1, 0 }, //A + { 1, 2, 0 }, //B + { 2, 3, 0 }, //C + { 3, 1, 1 }, //D + { 4, 2, 1 }, //E + { 5, 3, 1 }, //F + { 6, 1, 2 }, //G + { 7, 2, 2 }, //H + { 8, 3, 2 }, //I + { 9, 1, 3 }, //J + { 10, 3, 4 }, //K + { 11, 3, 0 }, //c2 + { 12, 3, 0 }, //c3 + { 13, 3, 0 }, //c4 + { 255, 0, 255 }, //Rhythm + { 22, 3, 1 }, //Effect +}; + +static char *notes[12] = { + "C ", "Db", "D ", "Eb", "E ", "F ", "F#", "G ", "G#", "A ", "Bb", "B " +}; + +static char *drums[6] = { + "Bass ", "Snare ", "RideCym", "Hi-Hat ", "Tom-Tom", "Rim " +}; + +static inline unsigned int av_log2(unsigned int x) { + unsigned int ret; + __asm__ volatile("or $1, %1 \n\t" + "bsr %1, %0 \n\t" + :"=a"(ret) : "D"(x)); + return ret; +} + +/****************************************************************************** +; <89>ケ<8a>KDATA(FM) +******************************************************************************/ +static const uint16_t fnum_data[] = { + 0x026a, // C + 0x028f, // D- + 0x02b6, // D + 0x02df, // E- + 0x030b, // E + 0x0339, // F + 0x036a, // G- + 0x039e, // G + 0x03d5, // A- + 0x0410, // A + 0x044e, // B- + 0x048f // B +}; + +/****************************************************************************** +; <89>ケ<8a>KDATA(PSG) +******************************************************************************/ +static const uint16_t psg_tune_data[] = { + 0x0ee8, // C + 0x0e12, // D- + 0x0d48, // D + 0x0c89, // E- + 0x0bd5, // E + 0x0b2b, // F + 0x0a8a, // G- + 0x09f3, // G + 0x0964, // A- + 0x08dd, // A + 0x085e, // B- + 0x07e6, // B +}; + + +/****************************************************************************** +; <82>e<82>l<89>ケ<90>F<82>フ<83>L<83><83><83><8a><83>A<82>フ<83>e<81>[<83>u<83><8b> +******************************************************************************/ +static const uint8_t carrier_table[] = { + 0x80, 0x80, 0x80, 0x80, 0xa0, 0xe0, 0xe0, 0xf0, + 0xee, 0xee, 0xee, 0xee, 0xcc, 0x88, 0x88, 0x00 +}; + +/****************************************************************************** +; <83>h<83><89><83><80><83>X<97>p<83><8a><83>Y<83><80><83>f<81>[<83>^ +******************************************************************************/ +static const uint8_t rhydat[][3] = { + // PT,PAN/VOLUME,KEYON + { 0x18, 0xdf, 0x01 }, // <83>o<83>X + { 0x19, 0xdf, 0x02 }, // <83>X<83>l<83>A + { 0x1c, 0x5f, 0x10 }, // <83>^<83><80>[LOW] + { 0x1c, 0xdf, 0x10 }, // <83>^<83><80>[MID] + { 0x1c, 0x9f, 0x10 }, // <83>^<83><80>[HIGH] + { 0x1d, 0xd3, 0x20 }, // <83><8a><83><80> + { 0x19, 0xdf, 0x02 }, // <83>N<83><89><83>b<83>v + { 0x1b, 0x9c, 0x88 }, // C<83>n<83>C<83>n<83>b<83>g + { 0x1a, 0x9d, 0x04 }, // O<83>n<83>C<83>n<83>b<83>g + { 0x1a, 0xdf, 0x04 }, // <83>V<83><93><83>o<83><8b> + { 0x1a, 0x5e, 0x04 } // RIDE<83>V<83><93><83>o<83><8b> +}; + + +//============================================================================= +// TimerAの処理[メイン] +//============================================================================= +void PMDWIN::TimerA_main(void) +{ + open_work.TimerAflag = 1; + open_work.TimerAtime++; + + if(effwork.effon) { + effplay(); // SSG効果音処理 + } + + open_work.TimerAflag = 0; +} + + +//============================================================================= +// TimerBの処理[メイン] +//============================================================================= +void PMDWIN::TimerB_main(void) +{ + open_work.TimerBflag = 1; + if(pmdwork.music_flag) { + if(pmdwork.music_flag & 1) { + mstart(); + } + + if(pmdwork.music_flag & 2) { + mstop(); + } + } + + if(open_work.play_flag) { + mmain(); + settempo_b(); + syousetu_count(); + pmdwork.lastTimerAtime = open_work.TimerAtime; + } + open_work.TimerBflag = 0; +} + + +//============================================================================= +// MUSIC PLAYER MAIN [FROM TIMER-B] +//============================================================================= +void PMDWIN::mmain(void) +{ + int i; + + pmdwork.loop_work = 3; + for(i = 0; i < 3; i++) { + pmdwork.partb = i + 1; + psgmain(&SSGPart[i]); + } + + pmdwork.fmsel = 0x100; + for(i = 0; i < 3; i++) { + pmdwork.partb = i + 1; + fmmain(&FMPart[i+3]); + } + + pmdwork.fmsel = 0; + for(i = 0; i < 3; i++) { + pmdwork.partb = i + 1; + fmmain(&FMPart[i]); + } + rhythmmain(&RhythmPart); + + for(i = 0; i < 8; i++) { + pmdwork.partb = i; + } + if(pmdwork.loop_work == 0) return; + + for(i = 0; i < 6; i++) { + if(FMPart[i].loopcheck != 3) FMPart[i].loopcheck = 0; + } + + for(i = 0; i < 3; i++) { + if(SSGPart[i].loopcheck != 3) SSGPart[i].loopcheck = 0; + } + if(RhythmPart.loopcheck != 3) RhythmPart.loopcheck = 0; + + if(pmdwork.loop_work != 3) { + open_work.status2++; + if(open_work.status2 == 255) open_work.status2 = 1; + } else { + open_work.status2 = -1; + } +} + +//============================================================================= +// FM音源演奏メイン +//============================================================================= +void PMDWIN::fmmain(QQ *qq) +{ + uchar *si; + + if(qq->address == NULL) return; + + si = qq->address; + + qq->leng--; + + if(qq->partmask) { + qq->keyoff_flag = -1; + } else { + // KEYOFF CHECK & Keyoff + if((qq->keyoff_flag & 3) == 0) { // 既にkeyoffしたか? + if(qq->leng <= qq->qdat) { + keyoff(qq); + qq->keyoff_flag = -1; + } + } + } + + // LENGTH CHECK + if(qq->leng == 0) { + if(qq->partmask == 0) qq->lfoswi &= 0xf7; + + while(1) { + if(*si > 0x80 && *si != 0xda) { + si = commands(qq, si); + } else if(*si == 0x80) { + qq->address = si; + qq->loopcheck = 3; + qq->onkai = 255; + if(qq->partloop == NULL) { + if(qq->partmask) { + pmdwork.tieflag = 0; + pmdwork.volpush_flag = 0; + pmdwork.loop_work &= qq->loopcheck; + return; + } else { + break; + } + } + // "L"があった時 + si = qq->partloop; + qq->loopcheck = 1; + } else { + if(*si == 0xda) { // ポルタメント + si = porta(qq, ++si); + pmdwork.loop_work &= qq->loopcheck; + return; + } else if(qq->partmask == 0) { + // TONE SET + lfoinit(qq, *si); + fnumset(qq, oshift(qq, *si++)); + + qq->leng = *si++; + si = calc_q(qq, si); + + if(qq->volpush && qq->onkai != 255) { + if(--pmdwork.volpush_flag) { + pmdwork.volpush_flag = 0; + qq->volpush = 0; + } + } + + volset(qq); + otodasi(qq); + keyon(qq); + + qq->keyon_flag++; + qq->address = si; + + pmdwork.tieflag = 0; + pmdwork.volpush_flag = 0; + + if(*si == 0xfb) { // '&'が直後にあったらkeyoffしない + qq->keyoff_flag = 2; + } else { + qq->keyoff_flag = 0; + } + pmdwork.loop_work &= qq->loopcheck; + return; + } else { + si++; + qq->fnum = 0; //休符に設定 + qq->onkai = 255; + qq->onkai_def = 255; + qq->leng = *si++; + qq->keyon_flag++; + qq->address = si; + + if(--pmdwork.volpush_flag) { + qq->volpush = 0; + } + + pmdwork.tieflag = 0; + pmdwork.volpush_flag = 0; + break; + } + } + } + } + + if(qq->partmask == 0) { + + // LFO & Portament & Fadeout 処理 をして終了 + if(qq->hldelay_c) { + if(--qq->hldelay_c == 0) { + OPNASetReg(&opna, pmdwork.fmsel + + (pmdwork.partb - 1 + 0xb4), qq->fmpan); + } + } + + if(qq->sdelay_c) { + if(--qq->sdelay_c == 0) { + if((qq->keyoff_flag & 1) == 0) { // 既にkeyoffしたか? + keyon(qq); + } + } + } + + if(qq->lfoswi) { + pmdwork.lfo_switch = qq->lfoswi & 8; + if(qq->lfoswi & 3) { + if(lfo(qq)) { + pmdwork.lfo_switch |= (qq->lfoswi & 3); + } + } + + if(qq->lfoswi & 0x30) { + lfo_change(qq); + if(lfo(qq)) { + lfo_change(qq); + pmdwork.lfo_switch |= (qq->lfoswi & 0x30); + } else { + lfo_change(qq); + } + } + + if(pmdwork.lfo_switch & 0x19) { + if(pmdwork.lfo_switch & 8) { + porta_calc(qq); + + } + otodasi(qq); + } + + if(pmdwork.lfo_switch & 0x22) { + volset(qq); + pmdwork.loop_work &= qq->loopcheck; + return; + } + } + } + + pmdwork.loop_work &= qq->loopcheck; +} + + +//============================================================================= +// KEY OFF +//============================================================================= +void PMDWIN::keyoff(QQ *qq) +{ + if(qq->onkai == 255) return; + kof1(qq); +} + + +void PMDWIN::kof1(QQ *qq) +{ + if(pmdwork.fmsel == 0) { + pmdwork.omote_key[pmdwork.partb-1] + = (~qq->slotmask) & (pmdwork.omote_key[pmdwork.partb-1]); + OPNASetReg(&opna, 0x28, (pmdwork.partb-1) | pmdwork.omote_key[pmdwork.partb-1]); + } else { + pmdwork.ura_key[pmdwork.partb-1] + = (~qq->slotmask) & (pmdwork.ura_key[pmdwork.partb-1]); + OPNASetReg(&opna, 0x28, ((pmdwork.partb-1) | pmdwork.ura_key[pmdwork.partb-1]) | 4); + } +} + + +//============================================================================= +// FM KEYON +//============================================================================= +void PMDWIN::keyon(QQ *qq) +{ + int al; + + if(qq->onkai == 255) return; // キュウフ ノ トキ + uint32_t op = ((pmdwork.partb-1)&7)|(!!pmdwork.fmsel << 2); + switch(op) { + case 0: + pmdstatus[0] = (qq->onkai & 0x0f); + break; + case 1: + pmdstatus[1] = (qq->onkai & 0x0f); + break; + case 2: + pmdstatus[2] = (qq->onkai & 0x0f); + break; + case 4: + pmdstatus[3] = (qq->onkai & 0x0f); + break; + case 5: + pmdstatus[4] = (qq->onkai & 0x0f); + break; + case 6: + pmdstatus[5] = (qq->onkai & 0x0f); + break; + default: + break; + } + + if(pmdwork.fmsel == 0) { + al = pmdwork.omote_key[pmdwork.partb-1] | qq->slotmask; + if(qq->sdelay_c) { + al &= qq->sdelay_m; + } + + pmdwork.omote_key[pmdwork.partb-1] = al; + OPNASetReg(&opna, 0x28, (pmdwork.partb-1) | al); + } else { + al = pmdwork.ura_key[pmdwork.partb-1] | qq->slotmask; + if(qq->sdelay_c) { + al &= qq->sdelay_m; + } + + pmdwork.ura_key[pmdwork.partb-1] = al; + OPNASetReg(&opna, 0x28, ((pmdwork.partb-1) | al) | 4); + } +} + + +//============================================================================= +// Set [ FNUM/BLOCK + DETUNE + LFO ] +//============================================================================= +void PMDWIN::otodasi(QQ *qq) +{ + int ax, cx; + + if(qq->fnum == 0) return; + if(qq->slotmask == 0) return; + + cx = (qq->fnum & 0x3800); // cx=BLOCK + ax = (qq->fnum) & 0x7ff; // ax=FNUM + + // Portament/LFO/Detune SET + ax += qq->porta_num + qq->detune; + + if(pmdwork.partb == 3 && pmdwork.fmsel == 0 && open_work.ch3mode != 0x3f) { + ch3_special(qq, ax, cx); + } else { + if(qq->lfoswi & 1) { + ax += qq->lfodat; + } + + if(qq->lfoswi & 0x10) { + ax += qq->_lfodat; + } + + fm_block_calc(&cx, &ax); + + // SET BLOCK/FNUM TO OPN + + ax |= cx; + + OPNASetReg(&opna, pmdwork.fmsel + pmdwork.partb+0xa4-1, ax >> 8); + OPNASetReg(&opna, pmdwork.fmsel + pmdwork.partb+0xa4-5, ax & 0xff); + } +} + + +//============================================================================= +// FM音源のdetuneでオクターブが変わる時の修正 +// input CX:block / AX:fnum+detune +// output CX:block / AX:fnum +//============================================================================= +void PMDWIN::fm_block_calc(int *cx, int *ax) +{ + while(*ax >= 0x26a) { + if(*ax < (0x26a*2)) return; + + *cx += 0x800; // oct.up + if(*cx != 0x4000) { + *ax -= 0x26a; // 4d2h-26ah + } else { // モウ コレイジョウ アガンナイヨン + *cx = 0x3800; + if(*ax >= 0x800) + *ax = 0x7ff; // 4d2h + return; + } + } + + while(*ax < 0x26a) { + *cx -= 0x800; // oct.down + if(*cx >= 0) { + *ax += 0x26a; // 4d2h-26ah + } else { // モウ コレイジョウ サガンナイヨン + *cx = 0; + if(*ax < 8) { + *ax = 8; + } + return; + } + } +} + + +//============================================================================= +// パートを判別してch3ならmode設定 +//============================================================================= +int PMDWIN::ch3_setting(QQ *qq) +{ + if(pmdwork.partb == 3 && pmdwork.fmsel == 0) { + ch3mode_set(qq); + return 1; + } else { + return 0; + } +} + + +void PMDWIN::cm_clear(int *ah, int *al) +{ + *al ^= 0xff; + if((pmdwork.slot3_flag &= *al) == 0) { + if(pmdwork.slotdetune_flag != 1) { + *ah = 0x3f; + } else { + *ah = 0x7f; + } + } else { + *ah = 0x7f; + } +} + + +//============================================================================= +// FM3のmodeを設定する +//============================================================================= +void PMDWIN::ch3mode_set(QQ *qq) +{ + int ah, al; + + if(qq == &FMPart[3-1]) { + al = 1; + } else { + al = 8; + } + + if((qq->slotmask & 0xf0) == 0) { // s0 + cm_clear(&ah, &al); + } else if(qq->slotmask != 0xf0) { + pmdwork.slot3_flag |= al; + ah = 0x7f; + } else if((qq->volmask & 0x0f) == 0) { + cm_clear(&ah, &al); + } else if((qq->lfoswi & 1) != 0) { + pmdwork.slot3_flag |= al; + ah = 0x7f; + } else if((qq->_volmask & 0x0f) == 0) { + cm_clear(&ah, &al); + } else if(qq->lfoswi & 0x10) { + pmdwork.slot3_flag |= al; + ah = 0x7f; + } else { + cm_clear(&ah, &al); + } + + if(ah == open_work.ch3mode) return; // 以前と変更無しなら何もしない + open_work.ch3mode = ah; + OPNASetReg(&opna, 0x27, ah & 0xcf); // Resetはしない + + // 効果音モードに移った場合はそれ以前のFM3パートで音程書き換え + if(ah == 0x3f || qq == &FMPart[2]) return; + if(FMPart[2].partmask == 0) otodasi(&FMPart[2]); +} + + +//============================================================================= +// ch3=効果音モード を使用する場合の音程設定 +// input CX:block AX:fnum +//============================================================================= +void PMDWIN::ch3_special(QQ *qq, int ax, int cx) +{ + int ax_, bh, ch, si; + int shiftmask = 0x80; + + si = cx; + + if((qq->volmask & 0x0f) == 0) { + bh = 0xf0; // all + } else { + bh = qq->volmask; // bh=lfo1 mask 4321xxxx + } + + if((qq->_volmask & 0x0f) == 0) { + ch = 0xf0; // all + } else { + ch = qq->_volmask; // ch=lfo2 mask 4321xxxx + } + + // slot 4 + if(qq->slotmask & 0x80) { + ax_ = ax; + ax += open_work.slot_detune4; + if((bh & shiftmask) && (qq->lfoswi & 0x01)) ax += qq->lfodat; + if((ch & shiftmask) && (qq->lfoswi & 0x10)) ax += qq->_lfodat; + shiftmask >>= 1; + + cx = si; + fm_block_calc(&cx, &ax); + ax |= cx; + + OPNASetReg(&opna, 0xa6, ax >> 8); + OPNASetReg(&opna, 0xa2, ax & 0xff); + + ax = ax_; + } + + // slot 3 + if(qq->slotmask & 0x40) { + ax_ = ax; + ax += open_work.slot_detune3; + if((bh & shiftmask) && (qq->lfoswi & 0x01)) ax += qq->lfodat; + if((ch & shiftmask) && (qq->lfoswi & 0x10)) ax += qq->_lfodat; + shiftmask >>= 1; + + cx = si; + fm_block_calc(&cx, &ax); + ax |= cx; + + OPNASetReg(&opna, 0xac, ax >> 8); + OPNASetReg(&opna, 0xa8, ax & 0xff); + + ax = ax_; + } + + // slot 2 + if(qq->slotmask & 0x20) { + ax_ = ax; + ax += open_work.slot_detune2; + if((bh & shiftmask) && (qq->lfoswi & 0x01)) ax += qq->lfodat; + if((ch & shiftmask) && (qq->lfoswi & 0x10)) ax += qq->_lfodat; + shiftmask >>= 1; + + cx = si; + fm_block_calc(&cx, &ax); + ax |= cx; + + OPNASetReg(&opna, 0xae, ax >> 8); + OPNASetReg(&opna, 0xaa, ax & 0xff); + + ax = ax_; + } + + // slot 1 + if(qq->slotmask & 0x10) { + ax_ = ax; + ax += open_work.slot_detune1; + if((bh & shiftmask) && (qq->lfoswi & 0x01)) ax += qq->lfodat; + if((ch & shiftmask) && (qq->lfoswi & 0x10)) ax += qq->_lfodat; + cx = si; + fm_block_calc(&cx, &ax); + ax |= cx; + + OPNASetReg(&opna, 0xad, ax >> 8); + OPNASetReg(&opna, 0xa9, ax & 0xff); + + ax = ax_; + } +} + + +//============================================================================= +// 'p' COMMAND [FM PANNING SET] +//============================================================================= +uchar * PMDWIN::panset(QQ *qq, uchar *si) +{ + panset_main(qq, *si++); + return si; +} + + +void PMDWIN::panset_main(QQ *qq, int al) +{ + qq->fmpan = ((qq->fmpan & 0x3f) | ((al << 6) & 0xc0)); + + if(pmdwork.partb == 3 && pmdwork.fmsel == 0) { + // FM3の場合は 4つのパート総て設定 + FMPart[2].fmpan = qq->fmpan; + } + + if(qq->partmask == 0) { // パートマスクされているか? + // dl = al; + OPNASetReg(&opna, pmdwork.fmsel + pmdwork.partb+0xb4-1, + calc_panout(qq)); + } +} + + +//============================================================================= +// 0b4h〜に設定するデータを取得 out.dl +//============================================================================= +uchar PMDWIN::calc_panout(QQ *qq) +{ + int dl; + + dl = qq->fmpan; + if(qq->hldelay_c) dl &= 0xc0; // HLFO Delayが残ってる場合はパンのみ設定 + return dl; +} + + +//============================================================================= +// Pan setting Extend +//============================================================================= +uchar * PMDWIN::panset_ex(QQ *qq, uchar *si) +{ + int al; + + al = *(char *)si++; + si++; // 逆走flagは読み飛ばす + + if(al > 0) { + al = 2; + panset_main(qq, al); + } else if(al == 0) { + al = 3; + panset_main(qq, al); + } else { + al = 1; + panset_main(qq, al); + } + return si; +} + + +//============================================================================= +// FM音源用 Entry +//============================================================================= +void PMDWIN::lfoinit(QQ *qq, int al) +{ + int ah; + + ah = al & 0x0f; + if(ah == 0x0c) { + al = qq->onkai_def; + ah = al & 0x0f; + } + + qq->onkai_def = al; + + if(ah == 0x0f) { // キューフ ノ トキ ハ INIT シナイヨ + lfo_exit(qq); + return; + } + + qq->porta_num = 0; // ポルタメントは初期化 + + if((pmdwork.tieflag & 1) == 0) { + lfin1(qq); + } else { + lfo_exit(qq); + } +} + + +//============================================================================= +// FM BLOCK,F-NUMBER SET +// INPUTS -- AL [KEY#,0-7F] +//============================================================================= +void PMDWIN::fnumset(QQ *qq, int al) +{ + int ax,bx; + + if((al & 0x0f) != 0x0f) { // 音符の場合 + qq->onkai = al; + + // BLOCK/FNUM CALICULATE + bx = al & 0x0f; // bx=onkai + ax = fnum_data[bx]; + + // BLOCK SET + ax |= (((al >> 1) & 0x38) << 8); + qq->fnum = ax; + } else { // 休符の場合 + qq->onkai = 255; + if((qq->lfoswi & 0x11) == 0) { + qq->fnum = 0; // 音程LFO未使用 + } + } +} + + +//============================================================================= +// FM音量設定メイン +//============================================================================= +void PMDWIN::volset(QQ *qq) +{ + int bh, bl, cl, dh; + uchar vol_tbl[4] = {0, 0, 0, 0}; + + if(qq->slotmask == 0) return; + if(qq->volpush) { + cl = qq->volpush - 1; + } else { + cl = qq->volume; + } + + //-------------------------------------------------------------------- + // 音量down計算 + //-------------------------------------------------------------------- + if(open_work.fm_voldown) { + cl = ((256-open_work.fm_voldown) * cl) >> 8; + } + + //------------------------------------------------------------------------ + // 音量をcarrierに設定 & 音量LFO処理 + // input cl to Volume[0-127] + // bl to SlotMask + //------------------------------------------------------------------------ + + bh=0; // Vol Slot Mask + bl=qq->slotmask; // ch=SlotMask Push + + vol_tbl[0] = 0x80; + vol_tbl[1] = 0x80; + vol_tbl[2] = 0x80; + vol_tbl[3] = 0x80; + + cl = 255-cl; // cl=carrierに設定する音量+80H(add) + bl &= qq->carrier; // bl=音量を設定するSLOT xxxx0000b + bh |= bl; + + if(bl & 0x80) vol_tbl[0] = cl; + if(bl & 0x40) vol_tbl[1] = cl; + if(bl & 0x20) vol_tbl[2] = cl; + if(bl & 0x10) vol_tbl[3] = cl; + + if(cl != 255) { + if(qq->lfoswi & 2) { + bl = qq->volmask; + bl &= qq->slotmask; // bl=音量LFOを設定するSLOT xxxx0000b + bh |= bl; + fmlfo_sub(qq, qq->lfodat, bl, vol_tbl); + } + + if(qq->lfoswi & 0x20) { + bl = qq->_volmask; + bl &= qq->slotmask; + bh |= bl; + fmlfo_sub(qq, qq->_lfodat, bl, vol_tbl); + } + } + + dh = 0x4c - 1 + pmdwork.partb; // dh=FM Port Address + + if(bh & 0x80) volset_slot(dh, qq->slot4, vol_tbl[0]); + if(bh & 0x40) volset_slot(dh-8, qq->slot3, vol_tbl[1]); + if(bh & 0x20) volset_slot(dh-4, qq->slot2, vol_tbl[2]); + if(bh & 0x10) volset_slot(dh-12, qq->slot1, vol_tbl[3]); +} + + +//----------------------------------------------------------------------------- +// スロット毎の計算 & 出力 マクロ +// in. dl 元のTL値 +// dh Outするレジスタ +// al 音量変動値 中心=80h +//----------------------------------------------------------------------------- +void PMDWIN::volset_slot(int dh, int dl, int al) +{ + if((al += dl) > 255) al = 255; + if((al -= 0x80) < 0) al = 0; + OPNASetReg(&opna, pmdwork.fmsel + dh, al); +} + + +//----------------------------------------------------------------------------- +// 音量LFO用サブ +//----------------------------------------------------------------------------- +void PMDWIN::fmlfo_sub(QQ *qq, int al, int bl, uchar *vol_tbl) +{ + if(bl & 0x80) vol_tbl[0] = Limit(vol_tbl[0] - al, 255, 0); + if(bl & 0x40) vol_tbl[1] = Limit(vol_tbl[1] - al, 255, 0); + if(bl & 0x20) vol_tbl[2] = Limit(vol_tbl[2] - al, 255, 0); + if(bl & 0x10) vol_tbl[3] = Limit(vol_tbl[3] - al, 255, 0); +} + + +//============================================================================= +// SSG音源 演奏 メイン +//============================================================================= +void PMDWIN::psgmain(QQ *qq) +{ + uchar *si; + int temp; + + if(qq->address == NULL) return; + si = qq->address; + + qq->leng--; + + // KEYOFF CHECK & Keyoff + if(qq->partmask) { + qq->keyoff_flag = -1; + } else { + if((qq->keyoff_flag & 3) == 0) { // 既にkeyoffしたか? + if(qq->leng <= qq->qdat) { + keyoffp(qq); + qq->keyoff_flag = -1; + } + } + } + + // LENGTH CHECK + if(qq->leng == 0) { + qq->lfoswi &= 0xf7; + + // DATA READ + while(1) { + if(*si == 0xda && ssgdrum_check(qq, *si) < 0) { + si++; + } else if(*si > 0x80 && *si != 0xda) { + si = commandsp(qq, si); + } else if(*si == 0x80) { + qq->address = si; + qq->loopcheck = 3; + qq->onkai = 255; + if(qq->partloop == NULL) { + if(qq->partmask) { + pmdwork.tieflag = 0; + pmdwork.volpush_flag = 0; + pmdwork.loop_work &= qq->loopcheck; + return; + } else { + break; + } + } + // "L"があった時 + si = qq->partloop; + qq->loopcheck = 1; + } else { + if(*si == 0xda) { // ポルタメント + si = portap(qq, ++si); + pmdwork.loop_work &= qq->loopcheck; + return; + } else if(qq->partmask) { + if(ssgdrum_check(qq, *si) == 0) { + si++; + qq->fnum = 0; //休符に設定 + qq->onkai = 255; + qq->leng = *si++; + qq->keyon_flag++; + qq->address = si; + + if(--pmdwork.volpush_flag) { + qq->volpush = 0; + } + + pmdwork.tieflag = 0; + pmdwork.volpush_flag = 0; + break; + } + } + + // TONE SET + lfoinitp(qq, *si); + fnumsetp(qq, oshiftp(qq, *si++)); + + qq->leng = *si++; + si = calc_q(qq, si); + + if(qq->volpush && qq->onkai != 255) { + if(--pmdwork.volpush_flag) { + pmdwork.volpush_flag = 0; + qq->volpush = 0; + } + } + + volsetp(qq); + otodasip(qq); + keyonp(qq); + + qq->keyon_flag++; + qq->address = si; + + pmdwork.tieflag = 0; + pmdwork.volpush_flag = 0; + qq->keyoff_flag = 0; + + if(*si == 0xfb) { // '&'が直後にあったらkeyoffしない + qq->keyoff_flag = 2; + } + pmdwork.loop_work &= qq->loopcheck; + return; + } + } + } + + pmdwork.lfo_switch = (qq->lfoswi & 8); + + if(qq->lfoswi) { + if(qq->lfoswi & 3) { + if(lfo(qq)) { + pmdwork.lfo_switch |= (qq->lfoswi & 3); + } + } + + if(qq->lfoswi & 0x30) { + lfo_change(qq); + if(lfo(qq)) { + lfo_change(qq); + pmdwork.lfo_switch |= (qq->lfoswi & 0x30); + } else { + lfo_change(qq); + } + } + + if(pmdwork.lfo_switch & 0x19) { + if(pmdwork.lfo_switch & 0x08) { + porta_calc(qq); + } + + // SSG 3ch で休符かつ SSG Drum 発音中は操作しない + if(!(qq == &SSGPart[2] && qq->onkai == 255 && open_work.kshot_dat)) { + otodasip(qq); + } + } + } + + temp = soft_env(qq); + if(temp || pmdwork.lfo_switch & 0x22) { + // SSG 3ch で休符かつ SSG Drum 発音中は volume set しない + if(!(qq == &SSGPart[2] && qq->onkai == 255 && open_work.kshot_dat)) { + volsetp(qq); + } + } + + pmdwork.loop_work &= qq->loopcheck; +} + + +void PMDWIN::keyoffp(QQ *qq) +{ + if(qq->onkai == 255) return; // キュウフ ノ トキ + if(qq->envf != -1) { + qq->envf = 2; + } else { + qq->eenv_count = 4; + } +} + + +//============================================================================= +// リズムパート 演奏 メイン +//============================================================================= +void PMDWIN::rhythmmain(QQ *qq) +{ + uchar *si, *bx; + int al, result; + + if(qq->address == NULL) return; + + si = qq->address; + + if(--qq->leng == 0) { + bx = open_work.rhyadr; + + rhyms00: + do { + result = 1; + al = *bx++; + if(al != 0xff) { + if(al & 0x80) { + bx = rhythmon(qq, bx, al, &result); + if(result == 0) continue; + } else { + open_work.kshot_dat = 0; //rest + } + + al = *bx++; + open_work.rhyadr = bx; + qq->leng = al; + qq->keyon_flag++; + pmdwork.tieflag = 0; + pmdwork.volpush_flag = 0; + pmdwork.loop_work &= qq->loopcheck; + return; + } + }while(result == 0); + + while(1) { + while((al = *si++) != 0x80) { + if(al < 0x80) { + qq->address = si; + +// bx = (ushort *)&open_work.radtbl[al]; +// bx = open_work.rhyadr = &open_work.mmlbuf[*bx]; + bx = open_work.rhyadr = &open_work.mmlbuf[open_work.radtbl[al]]; + goto rhyms00; + } + + // al > 0x80 + si = commandsr(qq, si-1); + } + + qq->address = --si; + qq->loopcheck = 3; + bx = qq->partloop; + if(bx == NULL) { + open_work.rhyadr = (uchar *)&pmdwork.rhydmy; + pmdwork.tieflag = 0; + pmdwork.volpush_flag = 0; + pmdwork.loop_work &= qq->loopcheck; + return; + } else { // "L"があった時 + si = bx; + qq->loopcheck = 1; + } + } + } + + pmdwork.loop_work &= qq->loopcheck; +} + + +//============================================================================= +// PSGリズム ON +//============================================================================= +uchar * PMDWIN::rhythmon(QQ *qq, uchar *bx, int al, int *result) +{ + int cl, dl, bx_; + + if(al & 0x40) { + bx = commandsr(qq, bx-1); + *result = 0; + return bx; + } + + *result = 1; + + if(qq->partmask) { // maskされている場合 + open_work.kshot_dat = 0; + return ++bx; + } + + al = ((al << 8) + *bx++) & 0x3fff; + open_work.kshot_dat = al; + if(al == 0) return bx; + open_work.rhyadr = bx; + + for(cl = 0; cl < 11; cl++) { + if(al & (1 << cl)) { + OPNASetReg(&opna, rhydat[cl][0], rhydat[cl][1]); + if((dl = (rhydat[cl][2] & open_work.rhythmmask))) { + if(dl < 0x80) { + OPNASetReg(&opna, 0x10, dl); + } else { + OPNASetReg(&opna, 0x10, 0x84); + dl = open_work.rhythmmask & 8; + if(dl) { + OPNASetReg(&opna, 0x10, dl); + } + } + } + } + } + + bx_ = al; + al = 0; + do { + while((bx_ & 1) == 0) { + bx_ >>= 1; + al++; + } + eff_main(al); + bx_ >>= 1; + }while(pmdwork.ppsdrv_flag && bx_); // PPSDRVなら2音目以上も鳴らしてみる + + return open_work.rhyadr; +} + + +//============================================================================= +// PSG ドラムス&効果音 ルーチン +// From WT298 +// +// AL に 効果音No.を入れて CALLする +// ppsdrvがあるならそっちを鳴らす +//============================================================================= +void PMDWIN::eff_main(int al) +{ + int priority; + pmdstatus[8] = al; + effwork.psgefcnum = al; + if (al == 7 || al == 8) return; // PSG hihat sounds godawful, don't play it at all + priority = ((al > 10) ? 2 : 1); + if(effwork.effon <= priority) { + SSGPart[2].partmask |= 2; // Part Mask + efffor(efftbl[al]); // 1発目を発音 + effwork.effon = priority; + // 優先順位を設定(発音開始) + } +} + + +//============================================================================= +// こーかおん えんそう めいん +// From VRTC +//============================================================================= +void PMDWIN::effplay(void) +{ + if(--effwork.effcnt) { + effsweep(); // 新しくセットされない + } else { + efffor(effwork.effadr); + } +} + + +void PMDWIN::efffor(const int *si) +{ + int al, ch, cl; + + al = *si++; + if(al == -1) { + effend(); + } else { + effwork.effcnt = al; // カウント数 + cl = *si; + PSGSetReg(&(opna.psg), 4, *si++); // 周波数セット + ch = *si; + PSGSetReg(&(opna.psg), 5, *si++); // 周波数セット + effwork.eswthz = (ch << 8) + cl; + + open_work.psnoi_last = effwork.eswnhz = *si; + PSGSetReg(&(opna.psg), 6, *si++); // ノイズ + + PSGSetReg(&(opna.psg), 7, ((*si++ << 2) & 0x24) | (PSGGetReg(&(opna.psg), 0x07) & 0xdb)); + + PSGSetReg(&(opna.psg), 10, *si++); // ボリューム + PSGSetReg(&(opna.psg), 11, *si++); // エンベロープ周波数 + PSGSetReg(&(opna.psg), 12, *si++); // + PSGSetReg(&(opna.psg), 13, *si++); // エンベロープPATTERN + + effwork.eswtst = *si++; // スイープ増分 (TONE) + effwork.eswnst = *si++; // スイープ増分 (NOISE) + + effwork.eswnct = effwork.eswnst & 15; // スイープカウント (NOISE) + + effwork.effadr = (int *)si; + } +} + + +void PMDWIN::effend(void) +{ + PSGSetReg(&(opna.psg), 0x0a, 0x00); + PSGSetReg(&(opna.psg), 0x07, ((PSGGetReg(&(opna.psg), 0x07)) & 0xdb) | 0x24); + effwork.effon = 0; + effwork.psgefcnum = -1; +} + + +// 普段の処理 +void PMDWIN::effsweep(void) +{ + int dl; + + effwork.eswthz += effwork.eswtst; + PSGSetReg(&(opna.psg), 4, effwork.eswthz & 0xff); + PSGSetReg(&(opna.psg), 5, effwork.eswthz >> 8); + + if(effwork.eswnst == 0) return; // ノイズスイープ無し + if(--effwork.eswnct) return; + + dl = effwork.eswnst; + effwork.eswnct = dl & 15; + + effwork.eswnhz += dl / 16; + + PSGSetReg(&(opna.psg), 6, effwork.eswnhz); + open_work.psnoi_last = effwork.eswnhz; +} + + +//============================================================================= +// SSGドラムを消してSSGを復活させるかどうかcheck +// input AL <- Command +// output cy=1 : 復活させる +//============================================================================= +int PMDWIN::ssgdrum_check(QQ *qq, int al) +{ + // SSGマスク中はドラムを止めない + // SSGドラムは鳴ってない + if((qq->partmask & 1) || ((qq->partmask & 2) == 0)) return 0; + + // 普通の効果音は消さない + if(effwork.effon >= 2) return 0; + + al = (al & 0x0f); + + // 休符の時はドラムは止めない + if(al == 0x0f) return 0; + + // SSGドラムはまだ再生中か? + if(effwork.effon == 1) { + effend(); // SSGドラムを消す + } + + if((qq->partmask &= 0xfd) == 0) return -1; + return 0; +} + + +//============================================================================= +// 各種特殊コマンド処理 +//============================================================================= +uchar * PMDWIN::commands(QQ *qq, uchar *si) +{ + int al; + + al = *si++; + switch(al) { + case 0xff : si = comat(qq, si); break; + case 0xfe : qq->qdata = *si++; qq->qdat3 = 0; break; + case 0xfd : qq->volume = *si++; break; + case 0xfc : si = comt(si); break; + + case 0xfb : pmdwork.tieflag |= 1; break; + case 0xfa : qq->detune = *(short *)si; si+=2; break; + case 0xf9 : si = comstloop(qq, si); break; + case 0xf8 : si = comedloop(qq, si); break; + case 0xf7 : si = comexloop(qq, si); break; + case 0xf6 : qq->partloop = si; break; + case 0xf5 : qq->shift = *(char *)si++; break; + case 0xf4 : if((qq->volume+=4) > 127) qq->volume = 127; break; + case 0xf3 : if(qq->volume < 4) qq->volume=0; else qq->volume-=4; break; + case 0xf2 : si = lfoset(qq, si); break; + case 0xf1 : si = lfoswitch(qq, si); ch3_setting(qq); break; + case 0xf0 : si+=4; break; + + case 0xef : OPNASetReg(&opna, pmdwork.fmsel + *si, *(si+1)); si+=2; break; + case 0xee : si++; break; + case 0xed : si++; break; + case 0xec : si = panset(qq, si); break; // FOR SB2 + case 0xeb : si = rhykey(si); break; + case 0xea : si = rhyvs(si); break; + case 0xe9 : si = rpnset(si); break; + case 0xe8 : si = rmsvs(si); break; + // + case 0xe7 : qq->shift += *(char *)si++; break; + case 0xe6 : si = rmsvs_sft(si); break; + case 0xe5 : si = rhyvs_sft(si); break; + // + case 0xe4 : qq->hldelay = *si++; break; + //追加 for V2.3 + case 0xe3 : if((qq->volume += *si++) > 127) qq->volume = 127; break; + case 0xe2 : + if(qq->volume < *si) qq->volume = 0; else qq->volume -= *si; + si++; + break; + // + case 0xe1 : si = hlfo_set(qq, si); break; + case 0xe0 : open_work.port22h = *si; OPNASetReg(&opna, 0x22, *si++); break; + // + case 0xdf : open_work.syousetu_lng = *si++; break; + // + case 0xde : si = vol_one_up_fm(qq, si); break; + case 0xdd : si = vol_one_down(qq, si); break; + // + case 0xdc : open_work.status = *si++; break; + case 0xdb : open_work.status += *si++; break; + // + case 0xda : si = porta(qq, si); break; + // + case 0xd9 : si++; break; + case 0xd8 : si++; break; + case 0xd7 : si++; break; + // + case 0xd6 : qq->mdspd = qq->mdspd2 = *si++; qq->mdepth = *(char *)si++; break; + case 0xd5 : qq->detune += *(short *)si; si+=2; break; + // + case 0xd4 : si++; break; + case 0xd3 : si++; break; + case 0xd2 : + si++; + break; + // + case 0xd1 : si++; break; + case 0xd0 : si++; break; + // + case 0xcf : si = slotmask_set(qq, si); break; + case 0xce : si+=6; break; + case 0xcd : si+=5; break; + case 0xcc : si++; break; + case 0xcb : qq->lfo_wave = *si++; break; + case 0xca : + qq->extendmode = (qq->extendmode & 0xfd) | ((*si++ & 1) << 1); + break; + + case 0xc9 : si++; break; + case 0xc8 : si = slotdetune_set(qq, si); break; + case 0xc7 : si = slotdetune_set2(qq, si); break; + case 0xc6 : break; + case 0xc5 : si = volmask_set(qq, si); break; + case 0xc4 : qq->qdatb = *si++; break; + case 0xc3 : si = panset_ex(qq, si); break; + case 0xc2 : qq->delay = qq->delay2 = *si++; lfoinit_main(qq); break; + case 0xc1 : break; + case 0xc0 : si = fm_mml_part_mask(qq, si); break; + case 0xbf : lfo_change(qq); si = lfoset(qq, si); lfo_change(qq);break; + case 0xbe : si = _lfoswitch(qq, si); ch3_setting(qq); break; + case 0xbd : + lfo_change(qq); + qq->mdspd = qq->mdspd2 = *si++; + qq->mdepth = *(char *)si++; + lfo_change(qq); + break; + + case 0xbc : lfo_change(qq); qq->lfo_wave=*si++; lfo_change(qq); break; + case 0xbb : + lfo_change(qq); + qq->extendmode = (qq->extendmode & 0xfd) | ((*si++ & 1) << 1); + lfo_change(qq); + break; + + case 0xba : si = _volmask_set(qq, si); break; + case 0xb9 : + lfo_change(qq); + qq->delay = qq->delay2 = *si++; lfoinit_main(qq); + lfo_change(qq); + break; + + case 0xb8 : si = tl_set(qq, si); break; + case 0xb7 : si = mdepth_count(qq, si); break; + case 0xb6 : si = fb_set(qq, si); break; + case 0xb5 : + qq->sdelay_m = (~(*si++) << 4) & 0xf0; + qq->sdelay_c = qq->sdelay = *si++; + break; + + case 0xb4 : si+=16; break; + case 0xb3 : qq->qdat2 = *si++; break; + case 0xb2 : qq->shift_def = *(char *)si++; break; + case 0xb1 : qq->qdat3 = *si++; break; + + default : + si--; + *si = 0x80; + } + + return si; +} + + +uchar * PMDWIN::commandsp(QQ *qq, uchar *si) +{ + int al; + + al = *si++; + switch(al) { + case 0xff : si++; break; + case 0xfe : qq->qdata = *si++; qq->qdat3 = 0; break; + case 0xfd : qq->volume = *si++; break; + case 0xfc : si = comt(si); break; + + case 0xfb : pmdwork.tieflag |= 1; break; + case 0xfa : qq->detune = *(short *)si; si+=2; break; + case 0xf9 : si = comstloop(qq, si); break; + case 0xf8 : si = comedloop(qq, si); break; + case 0xf7 : si = comexloop(qq, si); break; + case 0xf6 : qq->partloop = si; break; + case 0xf5 : qq->shift = *(char *)si++; break; + case 0xf4 : if(qq->volume < 15) qq->volume++; break; + case 0xf3 : if(qq->volume > 0) qq->volume--; break; + case 0xf2 : si = lfoset(qq, si); break; + case 0xf1 : si = lfoswitch(qq, si); break; + case 0xf0 : si = psgenvset(qq, si); break; + + case 0xef : OPNASetReg(&opna, *si, *(si+1)); si+=2; break; + case 0xee : open_work.psnoi = *si++; break; + case 0xed : qq->psgpat = *si++; break; + // + case 0xec : si++; break; + case 0xeb : si = rhykey(si); break; + case 0xea : si = rhyvs(si); break; + case 0xe9 : si = rpnset(si); break; + case 0xe8 : si = rmsvs(si); break; + // + case 0xe7 : qq->shift += *(char *)si++; break; + case 0xe6 : si = rmsvs_sft(si); break; + case 0xe5 : si = rhyvs_sft(si); break; + // + case 0xe4 : si++; break; + //追加 for V2.3 + case 0xe3 : if((qq->volume + *si) < 16) qq->volume += *si; si++;break; + case 0xe2 : if((qq->volume - *si) >= 0) qq->volume -= *si; si++;break; + // + case 0xe1 : si++; break; + case 0xe0 : si++; break; + // + case 0xdf : open_work.syousetu_lng = *si++; break; + // + case 0xde : si = vol_one_up_psg(qq, si); break; + case 0xdd : si = vol_one_down(qq, si); break; + // + case 0xdc : open_work.status = *si++; break; + case 0xdb : open_work.status += *si++; break; + // + case 0xda : si = portap(qq, si); break; + // + case 0xd9 : si++; break; + case 0xd8 : si++; break; + case 0xd7 : si++; break; + // + case 0xd6 : qq->mdspd = qq->mdspd2 = *si++; qq->mdepth = *(char *)si++; break; + case 0xd5 : qq->detune += *(short *)si; si+=2; break; + // + case 0xd4 : si++; break; + case 0xd3 : si++; break; + case 0xd2 : + si++; + break; + // + case 0xd1 : si++; break; + case 0xd0 : si = psgnoise_move(si); break; + // + case 0xcf : si++; break; + case 0xce : si+=6; break; + case 0xcd : si = extend_psgenvset(qq, si); break; + case 0xcc : + qq->extendmode = (qq->extendmode & 0xfe) | (*si++ & 1); + break; + + case 0xcb : qq->lfo_wave = *si++; break; + case 0xca : + qq->extendmode = (qq->extendmode & 0xfd) | ((*si++ & 1) << 1); + break; + + case 0xc9 : + qq->extendmode = (qq->extendmode & 0xfb) | ((*si++ & 1) << 2); + break; + + case 0xc8 : si+=3; break; + case 0xc7 : si+=3; break; + case 0xc6 : si+=6; break; + case 0xc5 : si++; break; + case 0xc4 : qq->qdatb = *si++; break; + case 0xc3 : si+=2; break; + case 0xc2 : qq->delay = qq->delay2 = *si++; lfoinit_main(qq); break; + case 0xc1 : break; + case 0xc0 : si = ssg_mml_part_mask(qq, si); break; + case 0xbf : lfo_change(qq); si = lfoset(qq, si); lfo_change(qq);break; + case 0xbe : + qq->lfoswi = (qq->lfoswi & 0x8f) | ((*si++ & 7) << 4); + lfo_change(qq); lfoinit_main(qq); lfo_change(qq); + break; + + case 0xbd : + lfo_change(qq); + qq->mdspd = qq->mdspd2 = *si++; + qq->mdepth = *(char *)si++; + lfo_change(qq); + break; + + case 0xbc : lfo_change(qq); qq->lfo_wave=*si++; lfo_change(qq); break; + case 0xbb : + lfo_change(qq); + qq->extendmode = (qq->extendmode & 0xfd) | ((*si++ & 1) << 1); + lfo_change(qq); + break; + + case 0xba : si++; break; + case 0xb9 : + lfo_change(qq); + qq->delay = qq->delay2 = *si++; lfoinit_main(qq); break; + lfo_change(qq); + break; + + case 0xb8 : si+=2; break; + case 0xb7 : si = mdepth_count(qq, si); break; + case 0xb6 : si++; break; + case 0xb5 : si+= 2; break; + case 0xb4 : si+=16; break; + case 0xb3 : qq->qdat2 = *si++; break; + case 0xb2 : qq->shift_def = *(char *)si++; break; + case 0xb1 : qq->qdat3 = *si++; break; + + default : + si--; + *si = 0x80; + } + + return si; +} + + +uchar * PMDWIN::commandsr(QQ *qq, uchar *si) +{ + int al; + + al = *si++; + switch(al) { + case 0xff : si++; break; + case 0xfe : si++; break; + case 0xfd : qq->volume = *si++; break; + case 0xfc : si = comt(si); break; + + case 0xfb : pmdwork.tieflag |= 1; break; + case 0xfa : qq->detune = *(short *)si; si+=2; break; + case 0xf9 : si = comstloop(qq, si); break; + case 0xf8 : si = comedloop(qq, si); break; + case 0xf7 : si = comexloop(qq, si); break; + case 0xf6 : qq->partloop = si; break; + case 0xf5 : si++; break; + case 0xf4 : if(qq->volume < 15) qq->volume++; break; + case 0xf3 : if(qq->volume > 0) qq->volume--; break; + case 0xf2 : si+=4; break; + case 0xf1 : si++; break; + case 0xf0 : si+=4; break; + + case 0xef : OPNASetReg(&opna, *si, *(si+1)); si+=2; break; + case 0xee : si++; break; + case 0xed : si++; break; + // + case 0xec : si++; break; + case 0xeb : si = rhykey(si); break; + case 0xea : si = rhyvs(si); break; + case 0xe9 : si = rpnset(si); break; + case 0xe8 : si = rmsvs(si); break; + // + case 0xe7 : si++; break; + case 0xe6 : si = rmsvs_sft(si); break; + case 0xe5 : si = rhyvs_sft(si); break; + // + case 0xe4 : si++; break; + //追加 for V2.3 + case 0xe3 : if((qq->volume + *si) < 16) qq->volume += *si; si++;break; + case 0xe2 : if((qq->volume - *si) >= 0) qq->volume -= *si; si++;break; + // + case 0xe1 : si++; break; + case 0xe0 : si++; break; + // + case 0xdf : open_work.syousetu_lng = *si++; break; + // + case 0xde : si = vol_one_up_psg(qq, si); break; + case 0xdd : si = vol_one_down(qq, si); break; + // + case 0xdc : open_work.status = *si++; break; + case 0xdb : open_work.status += *si++; break; + // + case 0xda : si++; break; + // + case 0xd9 : si++; break; + case 0xd8 : si++; break; + case 0xd7 : si++; break; + // + case 0xd6 : si+=2; break; + case 0xd5 : qq->detune += *(short *)si; si+=2; break; + // + case 0xd4 : si++; break; + case 0xd3 : si++; break; + case 0xd2 : + si++; + break; + // + case 0xd1 : si++; break; + case 0xd0 : si++; break; + // + case 0xcf : si++; break; + case 0xce : si+=6; break; + case 0xcd : si+=5; break; + case 0xcc : si++; break; + case 0xcb : si++; break; + case 0xca : si++; break; + case 0xc9 : si++; break; + case 0xc8 : si+=3; break; + case 0xc7 : si+=3; break; + case 0xc6 : si+=6; break; + case 0xc5 : si++; break; + case 0xc4 : si++; break; + case 0xc3 : si+=2; break; + case 0xc2 : si++; break; + case 0xc1 : break; + case 0xc0 : si = rhythm_mml_part_mask(qq, si); break; + case 0xbf : si+=4; break; + case 0xbe : si++; break; + case 0xbd : si+=2; break; + case 0xbc : si++; break; + case 0xbb : si++; break; + case 0xba : si++; break; + case 0xb9 : si++; break; + case 0xb8 : si+=2; break; + case 0xb7 : si++; break; + case 0xb6 : si++; break; + case 0xb5 : si+= 2; break; + case 0xb4 : si+=16; break; + case 0xb3 : si++; break; + case 0xb2 : si++; break; + case 0xb1 : si++; break; + + default : + si--; + *si = 0x80; + } + + return si; +} + +//============================================================================= +// COMMAND '@' [PROGRAM CHANGE] +//============================================================================= +uchar * PMDWIN::comat(QQ *qq, uchar *si) +{ + uchar *bx; + int al, dl; + + qq->voicenum = al = *si++; + dl = qq->voicenum; + + if(qq->partmask == 0) { // パートマスクされているか? + neiroset(qq, dl); + return si; + } else { + bx = toneadr_calc(qq, dl); + qq->alg_fb = dl = bx[24]; + bx += 4; + + // tl設定 + qq->slot1 = bx[0]; + qq->slot3 = bx[1]; + qq->slot2 = bx[2]; + qq->slot4 = bx[3]; + + // FM3chで、マスクされていた場合、fm3_alg_fbを設定 + if(pmdwork.partb == 3 && qq->neiromask) { + if(pmdwork.fmsel == 0) { + // in. dl = alg/fb + if((qq->slotmask & 0x10) == 0) { + al = pmdwork.fm3_alg_fb & 0x38; // fbは前の値を使用 + dl = (dl & 7) | al; + } + + pmdwork.fm3_alg_fb = dl; + qq->alg_fb = al; + } + } + + } + return si; +} + +//============================================================================= +// 音色の設定 +// INPUTS -- [PARTB] +// -- dl [TONE_NUMBER] +// -- di [PART_DATA_ADDRESS] +//============================================================================= +void PMDWIN::neiroset(QQ *qq, int dl) +{ + uchar *bx; + int ah, al, dh; + + bx = toneadr_calc(qq, dl); + if(silence_fmpart(qq)) { + // neiromask=0の時 (TLのworkのみ設定) + bx += 4; + + // tl設定 + qq->slot1 = bx[0]; + qq->slot3 = bx[1]; + qq->slot2 = bx[2]; + qq->slot4 = bx[3]; + return; + } + + //========================================================================= + // 音色設定メイン + //========================================================================= + //------------------------------------------------------------------------- + // AL/FBを設定 + //------------------------------------------------------------------------- + + dh = 0xb0 - 1 + pmdwork.partb; + + if(pmdwork.af_check) { // ALG/FBは設定しないmodeか? + dl = qq->alg_fb; + } else { + dl = bx[24]; + } + + if(pmdwork.partb == 3 && pmdwork.fmsel == 0) { + if(pmdwork.af_check != 0) { // ALG/FBは設定しないmodeか? + dl = pmdwork.fm3_alg_fb; + } else { + if((qq->slotmask & 0x10) == 0) { // slot1を使用しているか? + dl = (pmdwork.fm3_alg_fb & 0x38) | (dl & 7); + } + pmdwork.fm3_alg_fb = dl; + } + } + + OPNASetReg(&opna, pmdwork.fmsel + dh, dl); + qq->alg_fb = dl; + dl &= 7; // dl = algo + + //------------------------------------------------------------------------- + // Carrierの位置を調べる (VolMaskにも設定) + //------------------------------------------------------------------------- + + if((qq->volmask & 0x0f) == 0) { + qq->volmask = carrier_table[dl]; + } + + if((qq->_volmask & 0x0f) == 0) { + qq->_volmask = carrier_table[dl]; + } + + qq->carrier = carrier_table[dl]; + ah = carrier_table[dl+8]; // slot2/3の逆転データ(not済み) + al = qq->neiromask; + ah &= al; // AH=TL用のmask / AL=その他用のmask + + //------------------------------------------------------------------------- + // 各音色パラメータを設定 (TLはモジュレータのみ) + //------------------------------------------------------------------------- + + dh = 0x30 - 1 + pmdwork.partb; + dl = *bx++; // DT/ML + if(al & 0x80) OPNASetReg(&opna, pmdwork.fmsel + dh, dl); + dh+=4; + + dl = *bx++; + if(al & 0x40) OPNASetReg(&opna, pmdwork.fmsel + dh, dl); + dh+=4; + + dl = *bx++; + if(al & 0x20) OPNASetReg(&opna, pmdwork.fmsel + dh, dl); + dh+=4; + + dl = *bx++; + if(al & 0x10) OPNASetReg(&opna, pmdwork.fmsel + dh, dl); + dh+=4; + + dl = *bx++; // TL + if(ah & 0x80) OPNASetReg(&opna, pmdwork.fmsel + dh, dl); + dh+=4; + + dl = *bx++; + if(ah & 0x40) OPNASetReg(&opna, pmdwork.fmsel + dh, dl); + dh+=4; + + dl = *bx++; + if(ah & 0x20) OPNASetReg(&opna, pmdwork.fmsel + dh, dl); + dh+=4; + + dl = *bx++; + if(ah & 0x10) OPNASetReg(&opna, pmdwork.fmsel + dh, dl); + dh+=4; + + dl = *bx++; // KS/AR + if(al & 0x08) OPNASetReg(&opna, pmdwork.fmsel + dh, dl); + dh+=4; + + dl = *bx++; + if(al & 0x04) OPNASetReg(&opna, pmdwork.fmsel + dh, dl); + dh+=4; + + dl = *bx++; + if(al & 0x02) OPNASetReg(&opna, pmdwork.fmsel + dh, dl); + dh+=4; + + dl = *bx++; + if(al & 0x01) OPNASetReg(&opna, pmdwork.fmsel + dh, dl); + dh+=4; + + dl = *bx++; // AM/DR + if(al & 0x80) OPNASetReg(&opna, pmdwork.fmsel + dh, dl); + dh+=4; + + dl = *bx++; + if(al & 0x40) OPNASetReg(&opna, pmdwork.fmsel + dh, dl); + dh+=4; + + dl = *bx++; + if(al & 0x20) OPNASetReg(&opna, pmdwork.fmsel + dh, dl); + dh+=4; + + dl = *bx++; + if(al & 0x10) OPNASetReg(&opna, pmdwork.fmsel + dh, dl); + dh+=4; + + dl = *bx++; // SR + if(al & 0x08) OPNASetReg(&opna, pmdwork.fmsel + dh, dl); + dh+=4; + + dl = *bx++; + if(al & 0x04) OPNASetReg(&opna, pmdwork.fmsel + dh, dl); + dh+=4; + + dl = *bx++; + if(al & 0x02) OPNASetReg(&opna, pmdwork.fmsel + dh, dl); + dh+=4; + + dl = *bx++; + if(al & 0x01) OPNASetReg(&opna, pmdwork.fmsel + dh, dl); + dh+=4; + + dl = *bx++; // SL/RR + if(al & 0x80) { + OPNASetReg(&opna, pmdwork.fmsel + dh, dl); + } + dh+=4; + + dl = *bx++; + if(al & 0x40) OPNASetReg(&opna, pmdwork.fmsel + dh, dl); + dh+=4; + + dl = *bx++; + if(al & 0x20) OPNASetReg(&opna, pmdwork.fmsel + dh, dl); + dh+=4; + + dl = *bx++; + if(al & 0x10) OPNASetReg(&opna, pmdwork.fmsel + dh, dl); + dh+=4; + +/* + dl = *bx++; // SL/RR + if(al & 0x80) OPNASetReg(&opna, pmdwork.fmsel + dh, dl); + dh+=4; + + dl = *bx++; + if(al & 0x40) OPNASetReg(&opna, pmdwork.fmsel + dh, dl); + dh+=4; + + dl = *bx++; + if(al & 0x20) OPNASetReg(&opna, pmdwork.fmsel + dh, dl); + dh+=4; + + dl = *bx++; + if(al & 0x10) OPNASetReg(&opna, pmdwork.fmsel + dh, dl); + dh+=4; +*/ + + //------------------------------------------------------------------------- + // SLOT毎のTLをワークに保存 + //------------------------------------------------------------------------- + bx -= 20; + qq->slot1 = bx[0]; + qq->slot3 = bx[1]; + qq->slot2 = bx[2]; + qq->slot4 = bx[3]; +} + + +//============================================================================= +// [PartB]のパートの音を完璧に消す (TL=127 and RR=15 and KEY-OFF) +// cy=1 ・・・ 全スロットneiromaskされている +//============================================================================= +int PMDWIN::silence_fmpart(QQ *qq) +{ + int dh; + + if(qq->neiromask == 0) { + return 1; + } + + dh = pmdwork.partb + 0x40 - 1; + + if(qq->neiromask & 0x80) { + OPNASetReg(&opna, pmdwork.fmsel + dh, 127); + OPNASetReg(&opna, (pmdwork.fmsel + 0x40) + dh, 127); + } + dh += 4; + + if(qq->neiromask & 0x40) { + OPNASetReg(&opna, pmdwork.fmsel + dh, 127); + OPNASetReg(&opna, pmdwork.fmsel + 0x40 + dh, 127); + } + dh += 4; + + if(qq->neiromask & 0x20) { + OPNASetReg(&opna, pmdwork.fmsel + dh, 127); + OPNASetReg(&opna, pmdwork.fmsel + 0x40 + dh, 127); + } + dh += 4; + + if(qq->neiromask & 0x10) { + OPNASetReg(&opna, pmdwork.fmsel + dh, 127); + OPNASetReg(&opna, pmdwork.fmsel + 0x40 + dh, 127); + } + + kof1(qq); + return 0; +} + + +//============================================================================= +// TONE DATA START ADDRESS を計算 +// input dl tone_number +// output bx address +//============================================================================= +uchar * PMDWIN::toneadr_calc(QQ *qq, int dl) +{ + uchar *bx; + + if(open_work.prg_flg == 0) { + return NULL; + //return open_work.tondat + (dl << 5); + } else { + bx = open_work.prgdat_adr; + + while(*bx != dl) { + bx += 26; + } + + return bx+1; + } +} + + +//============================================================================= +// FM音源ハードLFOの設定(V2.4拡張分) +//============================================================================= +uchar * PMDWIN::hlfo_set(QQ *qq, uchar *si) +{ + qq->fmpan = (qq->fmpan & 0xc0) | *si++; + + if(pmdwork.partb == 3 && pmdwork.fmsel == 0) { + // 2608の時のみなので part_eはありえない + // FM3の場合は 4つのパート総て設定 + FMPart[2].fmpan = qq->fmpan; + } + + if(qq->partmask == 0) { // パートマスクされているか? + OPNASetReg(&opna, pmdwork.fmsel + pmdwork.partb + 0xb4 - 1, + calc_panout(qq)); + } + return si; +} + + +//============================================================================= +// ボリュームを次の一個だけ変更(V2.7拡張分) +//============================================================================= +uchar * PMDWIN::vol_one_up_fm(QQ *qq, uchar *si) +{ + int al; + + al = (int)qq->volume + 1 + *si++; + if(al > 128) al = 128; + + qq->volpush = al; + pmdwork.volpush_flag = 1; + return si; +} + + +//============================================================================= +// ポルタメント(FM) +//============================================================================= +uchar * PMDWIN::porta(QQ *qq, uchar *si) +{ + int ax, cx, cl, bx, bh; + + if(qq->partmask) { + qq->fnum = 0; //休符に設定 + qq->onkai = 255; + qq->leng = *(si+2); + qq->keyon_flag++; + qq->address = si+3; + + if(--pmdwork.volpush_flag) { + qq->volpush = 0; + } + + pmdwork.tieflag = 0; + pmdwork.volpush_flag = 0; + pmdwork.loop_work &= qq->loopcheck; + + return si+3; // 読み飛ばす (Mask時) + } + + lfoinit(qq, *si); + fnumset(qq, oshift(qq, *si++)); + + cx = qq->fnum; + cl = qq->onkai; + fnumset(qq, oshift(qq, *si++)); + bx = qq->fnum; // bx=ポルタメント先のfnum値 + qq->onkai = cl; + qq->fnum = cx; // cx=ポルタメント元のfnum値 + + bh = (int)((bx / 256) & 0x38) - ((cx / 256) & 0x38); // 先のoctarb - 元のoctarb + if(bh) { + bh /= 8; + ax = bh * 0x26a; // ax = 26ah * octarb差 + } else { + ax = 0; + } + + bx = (bx & 0x7ff) - (cx & 0x7ff); + ax += bx; // ax=26ah*octarb差 + 音程差 + + qq->leng = *si++; + si = calc_q(qq, si); + + qq->porta_num2 = ax / qq->leng; // 商 + qq->porta_num3 = ax % qq->leng; // 余り + qq->lfoswi |= 8; // Porta ON + + if(qq->volpush && qq->onkai != 255) { + if(--pmdwork.volpush_flag) { + pmdwork.volpush_flag = 0; + qq->volpush = 0; + } + } + + volset(qq); + otodasi(qq); + keyon(qq); + + qq->keyon_flag++; + qq->address = si; + + pmdwork.tieflag = 0; + pmdwork.volpush_flag = 0; + + if(*si == 0xfb) { // '&'が直後にあったらkeyoffしない + qq->keyoff_flag = 2; + } else { + qq->keyoff_flag = 0; + } + pmdwork.loop_work &= qq->loopcheck; + return si; +} + + +//============================================================================= +// FM slotmask set +//============================================================================= +uchar * PMDWIN::slotmask_set(QQ *qq, uchar *si) +{ + uchar *bx; + int ah, al, bl; + + ah = al = *si++; + + if(al &= 0x0f) { + qq->carrier = al << 4; + } else { + if(pmdwork.partb == 3 && pmdwork.fmsel == 0) { + bl = pmdwork.fm3_alg_fb; + } else { + bx = toneadr_calc(qq, qq->voicenum); + bl = bx[24]; + } + qq->carrier = carrier_table[bl & 7]; + } + + ah &= 0xf0; + if(qq->slotmask != ah) { + qq->slotmask = ah; + if((ah & 0xf0) == 0) { + qq->partmask |= 0x20; // s0の時パートマスク + } else { + qq->partmask &= 0xdf; // s0以外の時パートマスク解除 + } + + if(ch3_setting(qq)) { // FM3chの場合のみ ch3modeの変更処理 + // ch3なら、それ以前のFM3パートでkeyon処理 + if(qq != &FMPart[2]) { + if(FMPart[2].partmask == 0 && + (FMPart[2].keyoff_flag & 1) == 0) { + keyon(&FMPart[2]); + } + } + } + + ah = 0; + if(qq->slotmask & 0x80) ah += 0x11; // slot4 + if(qq->slotmask & 0x40) ah += 0x44; // slot3 + if(qq->slotmask & 0x20) ah += 0x22; // slot2 + if(qq->slotmask & 0x10) ah += 0x88; // slot1 + qq->neiromask = ah; + } + return si; +} + + +//============================================================================= +// Slot Detune Set +//============================================================================= +uchar * PMDWIN::slotdetune_set(QQ *qq, uchar *si) +{ + int ax, bl; + + if(pmdwork.partb != 3 || pmdwork.fmsel) { + return si+3; + } + + bl = *si++; + ax = *(short *)si; + si+=2; + + if(bl & 1) { + open_work.slot_detune1 = ax; + } + + if(bl & 2) { + open_work.slot_detune2 = ax; + } + + if(bl & 4) { + open_work.slot_detune3 = ax; + } + + if(bl & 8) { + open_work.slot_detune4 = ax; + } + + if(open_work.slot_detune1 || open_work.slot_detune2 || + open_work.slot_detune3 || open_work.slot_detune4) { + pmdwork.slotdetune_flag = 1; + } else { + pmdwork.slotdetune_flag = 0; + open_work.slot_detune1 = 0; + } + ch3mode_set(qq); + return si; +} + + +//============================================================================= +// Slot Detune Set(相対) +//============================================================================= +uchar * PMDWIN::slotdetune_set2(QQ *qq, uchar *si) +{ + int ax, bl; + + if(pmdwork.partb != 3 || pmdwork.fmsel) { + return si+3; + } + + bl = *si++; + ax = *(short *)si; + si+=2; + + if(bl & 1) { + open_work.slot_detune1 += ax; + } + + if(bl & 2) { + open_work.slot_detune2 += ax; + } + + if(bl & 4) { + open_work.slot_detune3 += ax; + } + + if(bl & 8) { + open_work.slot_detune4 += ax; + } + + if(open_work.slot_detune1 || open_work.slot_detune2 || + open_work.slot_detune3 || open_work.slot_detune4) { + pmdwork.slotdetune_flag = 1; + } else { + pmdwork.slotdetune_flag = 0; + open_work.slot_detune1 = 0; + } + ch3mode_set(qq); + return si; +} + + +//============================================================================= +// 音量マスクslotの設定 +//============================================================================= +uchar * PMDWIN::volmask_set(QQ *qq, uchar *si) +{ + int al; + + al = *si++ & 0x0f; + if(al) { + al = (al << 4) | 0x0f; + qq->volmask = al; + } else { + qq->volmask = qq->carrier; + } + ch3_setting(qq); + return si; +} + + +//============================================================================= +// 0c0hの追加special命令 +//============================================================================= +uchar * PMDWIN::special_0c0h(QQ *qq, uchar *si, uchar al) +{ + switch(al) { + case 0xff : open_work.fm_voldown = *si++; break; + case 0xfe : si = _vd_fm(qq, si); break; + case 0xfd : open_work.ssg_voldown = *si++; break; + case 0xfc : si = _vd_ssg(qq, si); break; + case 0xfb : si++; break; + case 0xfa : si = NULL; break; + case 0xf9 : open_work.rhythm_voldown = *si++; break; + case 0xf8 : si = _vd_rhythm(qq, si); break; + case 0xf7 : si++; break; + case 0xf6 : si++; break; + case 0xf5 : break; + default : + si--; + *si = 0x80; + } + return si; +} + + +uchar * PMDWIN::_vd_fm(QQ *qq, uchar *si) +{ + int al; + + al = *(char *)si++; + if(al) { + open_work.fm_voldown = Limit(al + open_work.fm_voldown, 255, 0); + } else { + open_work.fm_voldown = open_work._fm_voldown; + } + return si; +} + + +uchar * PMDWIN::_vd_ssg(QQ *qq, uchar *si) +{ + int al; + + al = *(char *)si++; + if(al) { + open_work.ssg_voldown = Limit(al + open_work.ssg_voldown, 255, 0); + } else { + open_work.ssg_voldown = open_work._ssg_voldown; + } + return si; +} + + +uchar * PMDWIN::_vd_rhythm(QQ *qq, uchar *si) +{ + int al; + + al = *(char *)si++; + if(al) { + open_work.rhythm_voldown = Limit(al + open_work.rhythm_voldown, 255, 0); + } else { + open_work.rhythm_voldown = open_work._rhythm_voldown; + } + return si; +} + + +//============================================================================= +// 演奏中パートのマスクon/off +//============================================================================= +uchar * PMDWIN::fm_mml_part_mask(QQ *qq, uchar *si) +{ + int al; + + al = *si++; + if(al >= 2) { + si = special_0c0h(qq, si, al); + } else if(al) { + qq->partmask |= 0x40; + if(qq->partmask == 0x40) { + silence_fmpart(qq); // 音消去 + } + } else { + if((qq->partmask &= 0xbf) == 0) { + neiro_reset(qq); // 音色再設定 + } + } + return si; +} + + +uchar * PMDWIN::ssg_mml_part_mask(QQ *qq, uchar *si) +{ + int ah, al; + + al = *si++; + if(al >= 2) { + si = special_0c0h(qq, si, al); + } else if(al) { + qq->partmask |= 0x40; + if(qq->partmask == 0x40) { + ah = ((1 << (pmdwork.partb-1)) | (4 << pmdwork.partb)); + al = PSGGetReg(&(opna.psg), 0x07); + PSGSetReg(&(opna.psg), 0x07, ah | al); // PSG keyoff + } + } else { + qq->partmask &= 0xbf; + } + return si; +} + + +uchar * PMDWIN::rhythm_mml_part_mask(QQ *qq, uchar *si) +{ + int al; + + al = *si++; + if(al >= 2) { + si = special_0c0h(qq, si, al); + } else if(al) { + qq->partmask |= 0x40; + } else { + qq->partmask &= 0xbf; + } + return si; +} + + +//============================================================================= +// FM音源の音色を再設定 +//============================================================================= +void PMDWIN::neiro_reset(QQ *qq) +{ + int dh, al, s1, s2, s3, s4; + + if(qq->neiromask == 0) return; + + s1 = qq->slot1; + s2 = qq->slot2; + s3 = qq->slot3; + s4 = qq->slot4; + pmdwork.af_check = 1; + neiroset(qq, qq->voicenum); // 音色復帰 + pmdwork.af_check = 0; + qq->slot1 = s1; + qq->slot2 = s2; + qq->slot3 = s3; + qq->slot4 = s4; + + al = ((~qq->carrier) & qq->slotmask) & 0xf0; + // al<- TLを再設定していいslot 4321xxxx + if(al) { + dh = 0x4c - 1 + pmdwork.partb; // dh=TL FM Port Address + if(al & 0x80) OPNASetReg(&opna, pmdwork.fmsel + dh, s4); + + dh -= 8; + if(al & 0x40) OPNASetReg(&opna, pmdwork.fmsel + dh, s3); + + dh += 4; + if(al & 0x20) OPNASetReg(&opna, pmdwork.fmsel + dh, s2); + + dh -= 8; + if(al & 0x10) OPNASetReg(&opna, pmdwork.fmsel + dh, s1); + } + + dh = pmdwork.partb + 0xb4 - 1; + OPNASetReg(&opna, pmdwork.fmsel + dh, calc_panout(qq)); +} + + +uchar * PMDWIN::_lfoswitch(QQ *qq, uchar *si) +{ + qq->lfoswi = (qq->lfoswi & 0x8f) | ((*si++ & 7) << 4); + lfo_change(qq); + lfoinit_main(qq); + lfo_change(qq); + return si; +} + + +uchar * PMDWIN::_volmask_set(QQ *qq, uchar *si) +{ + int al; + + al = *si++ & 0x0f; + if(al) { + al = (al << 4) | 0x0f; + qq->_volmask = al; + } else { + qq->_volmask = qq->carrier; + } + ch3_setting(qq); + return si; +} + + +//============================================================================= +// TL変化 +//============================================================================= +uchar * PMDWIN::tl_set(QQ *qq, uchar *si) +{ + int ah, al, ch, dh, dl; + + dh = 0x40 - 1 + pmdwork.partb; // dh=TL FM Port Address + al = *(char *)si++; + ah = al & 0x0f; + ch = (qq->slotmask >> 4) | ((qq->slotmask << 4) & 0xf0); + ah &= ch; // ah=変化させるslot 00004321 + dl = *(char *)si++; + + if(al >= 0) { + dl &= 127; + if(ah & 1) { + qq->slot1 = dl; + if(qq->partmask == 0) { + OPNASetReg(&opna, pmdwork.fmsel + dh, dl); + } + } + + dh += 8; + if(ah & 2) { + qq->slot2 = dl; + if(qq->partmask == 0) { + OPNASetReg(&opna, pmdwork.fmsel + dh, dl); + } + } + + dh -= 4; + if(ah & 4) { + qq->slot3 = dl; + if(qq->partmask == 0) { + OPNASetReg(&opna, pmdwork.fmsel + dh, dl); + } + } + + dh += 8; + if(ah & 8) { + qq->slot4 = dl; + if(qq->partmask == 0) { + OPNASetReg(&opna, pmdwork.fmsel + dh, dl); + } + } + } else { + // 相対変化 + al = dl; + if(ah & 1) { + if((dl = (int)qq->slot1 + al) < 0) { + dl = 0; + if(al >= 0) dl = 127; + } + if(qq->partmask == 0) { + OPNASetReg(&opna, pmdwork.fmsel + dh, dl); + } + qq->slot1 = dl; + } + + dh += 8; + if(ah & 2) { + if((dl = (int)qq->slot2 + al) < 0) { + dl = 0; + if(al >= 0) dl = 127; + } + if(qq->partmask == 0) { + OPNASetReg(&opna, pmdwork.fmsel + dh, dl); + } + qq->slot2 = dl; + } + + dh -= 4; + if(ah & 4) { + if((dl = (int)qq->slot3 + al) < 0) { + dl = 0; + if(al >= 0) dl = 127; + } + if(qq->partmask == 0) { + OPNASetReg(&opna, pmdwork.fmsel + dh, dl); + } + qq->slot3 = dl; + } + + dh += 8; + if(ah & 8) { + if((dl = (int)qq->slot4 + al) < 0) { + dl = 0; + if(al >= 0) dl = 127; + } + if(qq->partmask == 0) { + OPNASetReg(&opna, pmdwork.fmsel + dh, dl); + } + qq->slot4 = dl; + } + } + return si; +} + + +//============================================================================= +// FB変化 +//============================================================================= +uchar * PMDWIN::fb_set(QQ *qq, uchar *si) +{ + int al, dh, dl; + + + dh = pmdwork.partb + 0xb0 - 1; // dh=ALG/FB port address + al = *(char *)si++; + if(al >= 0) { + // in al 00000xxx 設定するFB + al = ((al << 3) & 0xff) | (al >> 5); + + // in al 00xxx000 設定するFB + if(pmdwork.partb == 3 && pmdwork.fmsel == 0) { + if((qq->slotmask & 0x10) == 0) return si; + dl = (pmdwork.fm3_alg_fb & 7) | al; + pmdwork.fm3_alg_fb = dl; + } else { + dl = (qq->alg_fb & 7) | al; + } + OPNASetReg(&opna, pmdwork.fmsel + dh, dl); + qq->alg_fb = dl; + return si; + } else { + if((al & 0x40) == 0) al &= 7; + if(pmdwork.partb == 3 && pmdwork.fmsel == 0) { + dl = pmdwork.fm3_alg_fb; + } else { + dl = qq->alg_fb; + + } + + dl = (dl >> 3) & 7; + if((al += dl) >= 0) { + if(al >= 8) { + al = 0x38; + if(pmdwork.partb == 3 && pmdwork.fmsel == 0) { + if((qq->slotmask & 0x10) == 0) return si; + + dl = (pmdwork.fm3_alg_fb & 7) | al; + pmdwork.fm3_alg_fb = dl; + } else { + dl = (qq->alg_fb & 7) | al; + } + OPNASetReg(&opna, pmdwork.fmsel + dh, dl); + qq->alg_fb = dl; + return si; + } else { + // in al 00000xxx 設定するFB + al = ((al << 3) & 0xff) | (al >> 5); + + // in al 00xxx000 設定するFB + if(pmdwork.partb == 3 && pmdwork.fmsel == 0) { + if((qq->slotmask & 0x10) == 0) return si; + dl = (pmdwork.fm3_alg_fb & 7) | al; + pmdwork.fm3_alg_fb = dl; + } else { + dl = (qq->alg_fb & 7) | al; + } + OPNASetReg(&opna, pmdwork.fmsel + dh, dl); + qq->alg_fb = dl; + return si; + } + } else { + al = 0; + if(pmdwork.partb == 3 && pmdwork.fmsel == 0) { + if((qq->slotmask & 0x10) == 0) return si; + + dl = (pmdwork.fm3_alg_fb & 7) | al; + pmdwork.fm3_alg_fb = dl; + } else { + dl = (qq->alg_fb & 7) | al; + } + OPNASetReg(&opna, pmdwork.fmsel + dh, dl); + qq->alg_fb = dl; + return si; + } + } +} + + +//============================================================================= +// COMMAND 't' [TEMPO CHANGE1] +// COMMAND 'T' [TEMPO CHANGE2] +// COMMAND 't±' [TEMPO CHANGE 相対1] +// COMMAND 'T±' [TEMPO CHANGE 相対2] +//============================================================================= +uchar * PMDWIN::comt(uchar *si) +{ + int al; + + al = *si++; + if(al < 251) { + open_work.tempo_d = al; // T (FC) + open_work.tempo_d_push = al; + calc_tb_tempo(); + + } else if(al == 0xff) { + al = *si++; // t (FC FF) + if(al < 18) al = 18; + open_work.tempo_48 = al; + open_work.tempo_48_push = al; + calc_tempo_tb(); + + } else if(al == 0xfe) { + al = char(*si++); // T± (FC FE) + if(al >= 0) { + al += open_work.tempo_d_push; + } else { + al += open_work.tempo_d_push; + if(al < 0) { + al = 0; + } + } + + if(al > 250) al = 250; + + open_work.tempo_d = al; + open_work.tempo_d_push = al; + calc_tb_tempo(); + + } else { + al = char(*si++); // t± (FC FD) + if(al >= 0) { + al += open_work.tempo_48_push; + if(al > 255) { + al = 255; + } + } else { + al += open_work.tempo_48_push; + if(al < 0) al = 18; + } + open_work.tempo_48 = al; + open_work.tempo_48_push = al; + calc_tempo_tb(); + } + return si; +} + + +//============================================================================= +// COMMAND '[' [ループ スタート] +//============================================================================= +uchar * PMDWIN::comstloop(QQ *qq, uchar *si) +{ + uchar *ax = open_work.mmlbuf; + ax[*(ushort *)si+1] = 0; + si+=2; + return si; +} + + +//============================================================================= +// COMMAND ']' [ループ エンド] +//============================================================================= +uchar * PMDWIN::comedloop(QQ *qq, uchar *si) +{ + int ah, al, ax; + ah = *si++; + + if(ah) { + (*si)++; + al = *si++; + if(ah == al) { + si+=2; + return si; + } + } else { // 0 ナラ ムジョウケン ループ + si++; + qq->loopcheck = 1; + } + + ax = *(ushort *)si + 2; + si = open_work.mmlbuf + ax; + return si; +} + + +//============================================================================= +// COMMAND ':' [ループ ダッシュツ] +//============================================================================= +uchar * PMDWIN::comexloop(QQ *qq, uchar *si) +{ + uchar *bx; + int dl; + bx = open_work.mmlbuf; + bx += *(ushort *)si; + si+=2; + + dl = *bx++ - 1; + if(dl != *bx) return si; + si = bx + 3; + return si; +} + + +//============================================================================= +// LFO パラメータ セット +//============================================================================= +uchar * PMDWIN::lfoset(QQ *qq, uchar *si) +{ + qq->delay = *si; + qq->delay2 = *si++; + qq->speed = *si; + qq->speed2 = *si++; + qq->step = *(char *)si; + qq->step2 = *(char *)si++; + qq->time = *si; + qq->time2 = *si++; + lfoinit_main(qq); + return si; +} + + +//============================================================================= +// LFO SWITCH +//============================================================================= +uchar * PMDWIN::lfoswitch(QQ *qq, uchar *si) +{ + int al; + + al = *si++; + + if(al & 0xf8) { + al = 1; + } + al &= 7; + qq->lfoswi = (qq->lfoswi & 0xf8) | al; + lfoinit_main(qq); + return si; +} + + +//============================================================================= +// PSG ENVELOPE SET +//============================================================================= +uchar * PMDWIN::psgenvset(QQ *qq, uchar *si) +{ + qq->eenv_ar = *si; qq->eenv_arc = *si++; + qq->eenv_dr = *(char *)si++; + qq->eenv_sr = *si; qq->eenv_src = *si++; + qq->eenv_rr = *si; qq->eenv_rrc = *si++; + if(qq->envf == -1) { + qq->envf = 2; // RR + qq->eenv_volume = -15; // volume + } + return si; +} + + +//============================================================================= +// "¥?" COMMAND [ OPNA Rhythm Keyon/Dump ] +//============================================================================= +uchar * PMDWIN::rhykey(uchar *si) +{ + int dl; + + if((dl = (*si++ & open_work.rhythmmask)) == 0) { + return si; + } + + if(dl < 0x80) { + if(dl & 0x01) OPNASetReg(&opna, 0x18, open_work.rdat[0]); + if(dl & 0x02) OPNASetReg(&opna, 0x19, open_work.rdat[1]); + if(dl & 0x04) OPNASetReg(&opna, 0x1a, open_work.rdat[2]); + if(dl & 0x08) OPNASetReg(&opna, 0x1b, open_work.rdat[3]); + if(dl & 0x10) OPNASetReg(&opna, 0x1c, open_work.rdat[4]); + if(dl & 0x20) OPNASetReg(&opna, 0x1d, open_work.rdat[5]); + } + + OPNASetReg(&opna, 0x10, dl); + if(dl >= 0x80) { + open_work.rshot_dat &= (~dl); + } else { + open_work.rshot_dat |= dl; + } + + return si; +} + + +//============================================================================= +// "¥v?n" COMMAND +//============================================================================= +uchar * PMDWIN::rhyvs(uchar *si) +{ + int *bx; + int dh, dl; + + dl = *si & 0x1f; + dh = *si++ >> 5; + bx = &open_work.rdat[dh-1]; + dh = 0x18 - 1 + dh; + dl |= (*bx & 0xc0); + *bx = dl; + + OPNASetReg(&opna, dh, dl); + + return si; +} + + +uchar * PMDWIN::rhyvs_sft(uchar *si) +{ + int *bx; + int al, dh, dl; + + bx = &open_work.rdat[*si-1]; + dh = *si++ + 0x18 - 1; + dl = *bx & 0x1f; + + al = (*(char *)si++ + dl); + if(al >= 32) { + al = 31; + } else if(al < 0) { + al = 0; + } + + dl = (al &= 0x1f); + dl = *bx = ((*bx & 0xe0) | dl); + OPNASetReg(&opna, dh, dl); + + return si; +} + + +//============================================================================= +// "¥p?" COMMAND +//============================================================================= +uchar * PMDWIN::rpnset(uchar *si) +{ + int *bx; + int dh, dl; + + dl = (*si & 3) << 6; + + dh = (*si++ >> 5) & 0x07; + bx = &open_work.rdat[dh-1]; + + dh += 0x18 - 1; + dl |= (*bx & 0x1f); + *bx = dl; + OPNASetReg(&opna, dh, dl); + + return si; +} + + +//============================================================================= +// "¥Vn" COMMAND +//============================================================================= +uchar * PMDWIN::rmsvs(uchar *si) +{ + int dl; + dl = *si++; + if(open_work.rhythm_voldown) { + dl = ((256 - open_work.rhythm_voldown) * dl) >> 8; + } + open_work.rhyvol = dl; + OPNASetReg(&opna, 0x11, dl); + return si; +} + + +uchar *PMDWIN::rmsvs_sft(uchar *si) +{ + int dl; + dl = open_work.rhyvol + *(char *)si++; + if(dl >= 64) { + if(dl & 0x80) { + dl = 0; + } else { + dl = 63; + } + } + open_work.rhyvol = dl; + OPNASetReg(&opna, 0x11, dl); + return si; +} + + +//============================================================================= +// ボリュームを次の一個だけ変更(V2.7拡張分) +//============================================================================= +uchar * PMDWIN::vol_one_up_psg(QQ *qq, uchar *si) +{ + int al; + + al = qq->volume + *si++; + if(al > 15) al = 15; + qq->volpush = ++al; + pmdwork.volpush_flag = 1; + return si; +} + + +uchar * PMDWIN::vol_one_down(QQ *qq, uchar *si) +{ + int al; + + al = qq->volume - *si++; + if(al < 0) { + al = 0; + } else { + if(al >= 255) al = 254; + } + + qq->volpush = ++al; + pmdwork.volpush_flag = 1; + return si; +} + + +//============================================================================= +// ポルタメント(PSG) +//============================================================================= +uchar * PMDWIN::portap(QQ *qq, uchar *si) +{ + int ax, al_, bx_; + + if(qq->partmask) { + qq->fnum = 0; //休符に設定 + qq->onkai = 255; + qq->leng = *(si+2); + qq->keyon_flag++; + qq->address = si+3; + + if(--pmdwork.volpush_flag) { + qq->volpush = 0; + } + + pmdwork.tieflag = 0; + pmdwork.volpush_flag = 0; + pmdwork.loop_work &= qq->loopcheck; + return si+3; // 読み飛ばす (Mask時) + } + + lfoinitp(qq, *si); + fnumsetp(qq, oshiftp(qq, *si++)); + + bx_ = qq->fnum; + al_ = qq->onkai; + fnumsetp(qq, oshiftp(qq, *si++)); + ax = qq->fnum; // ax = ポルタメント先のpsg_tune値 + + qq->onkai = al_; + qq->fnum = bx_; // bx = ポルタメント元のpsg_tune値 + ax -= bx_; + + qq->leng = *si++; + si = calc_q(qq, si); + + qq->porta_num2 = ax / qq->leng; // 商 + qq->porta_num3 = ax % qq->leng; // 余り + qq->lfoswi |= 8; // Porta ON + + if(qq->volpush && qq->onkai != 255) { + if(--pmdwork.volpush_flag) { + pmdwork.volpush_flag = 0; + qq->volpush = 0; + } + } + + volsetp(qq); + otodasip(qq); + keyonp(qq); + + qq->keyon_flag++; + qq->address = si; + + pmdwork.tieflag = 0; + pmdwork.volpush_flag = 0; + qq->keyoff_flag = 0; + + if(*si == 0xfb) { // '&'が直後にあったらkeyoffしない + qq->keyoff_flag = 2; + } + + pmdwork.loop_work &= qq->loopcheck; + return si; +} + + +//============================================================================= +// 'w' COMMAND [PSG NOISE ヘイキン シュウハスウ] +//============================================================================= +uchar * PMDWIN::psgnoise_move(uchar *si) +{ + open_work.psnoi += *(char *)si++; + if(open_work.psnoi < 0) open_work.psnoi = 0; + if(open_work.psnoi > 31) open_work.psnoi = 31; + return si; +} + + +//============================================================================= +// PSG Envelope set (Extend) +//============================================================================= +uchar * PMDWIN::extend_psgenvset(QQ *qq, uchar *si) +{ + qq->eenv_ar = *si++ & 0x1f; + qq->eenv_dr = *si++ & 0x1f; + qq->eenv_sr = *si++ & 0x1f; + qq->eenv_rr = *si & 0x0f; + qq->eenv_sl = ((*si++ >> 4) & 0x0f) ^ 0x0f; + qq->eenv_al = *si++ & 0x0f; + + if(qq->envf != -1) { // ノーマル>拡張に移行したか? + qq->envf = -1; + qq->eenv_count = 4; // RR + qq->eenv_volume = 0; // Volume + } + return si; +} + + +uchar * PMDWIN::mdepth_count(QQ *qq, uchar *si) +{ + int al; + + al = *si++; + + if(al >= 0x80) { + if((al &= 0x7f) == 0) al = 255; + qq->_mdc = al; + qq->_mdc2 = al; + return si; + } + + if(al == 0) al = 255; + qq->mdc = al; + qq->mdc2 = al; + return si; +} + + +//============================================================================= +// LFOとPSG/PCMのソフトウエアエンベロープの初期化 +//============================================================================= +//============================================================================= +// PSG/PCM音源用 Entry +//============================================================================= +void PMDWIN::lfoinitp(QQ *qq, int al) +{ + int ah; + + ah = al & 0x0f; + + if(ah == 0x0c) { + al = qq->onkai_def; + ah = al & 0x0f; + } + + qq->onkai_def = al; + + if(ah == 0x0f) { // キューフ ノ トキ ハ INIT シナイヨ + lfo_exit(qq); + return; + } + + qq->porta_num = 0; // ポルタメントは初期化 + + if(pmdwork.tieflag & 1) { + lfo_exit(qq); + return; + } + + //------------------------------------------------------------------------ + // ソフトウエアエンベロープ初期化 + //------------------------------------------------------------------------ + if(qq->envf != -1) { + qq->envf = 0; + qq->eenv_volume = 0; + qq->eenv_ar = qq->eenv_arc; + + if(qq->eenv_ar == 0) { + qq->envf = 1; // ATTACK=0 ... スグ Decay ニ + qq->eenv_volume = qq->eenv_dr; + } + + qq->eenv_sr = qq->eenv_src; + qq->eenv_rr = qq->eenv_rrc; + lfin1(qq); + + } else { + // 拡張ssg_envelope用 + + qq->eenv_arc = qq->eenv_ar - 16; + if(qq->eenv_dr < 16) { + qq->eenv_drc = (qq->eenv_dr-16)*2; + } else { + qq->eenv_drc = qq->eenv_dr-16; + } + + if(qq->eenv_sr < 16) { + qq->eenv_src = (qq->eenv_sr-16)*2; + } else { + qq->eenv_src = qq->eenv_sr-16; + } + + qq->eenv_rrc = (qq->eenv_rr) * 2 - 16; + qq->eenv_volume = qq->eenv_al; + qq->eenv_count = 1; + if(qq->eenv_arc > 0) { + qq->eenv_volume += qq->eenv_arc; + if(qq->eenv_volume < 15) { + qq->eenv_arc = qq->eenv_ar-16; + } else { + qq->eenv_volume = 15; + qq->eenv_count++; + if(qq->eenv_sl == 15) qq->eenv_count++; // SL=0の場合はすぐSRに + } + } else { + if(qq->eenv_ar != 0) qq->eenv_arc++; + } + lfin1(qq); + } +} + + +void PMDWIN::lfo_exit(QQ *qq) +{ + if((qq->lfoswi & 3) != 0) { // 前が & の場合 -> 1回 LFO処理 + lfo(qq); + } + + if((qq->lfoswi & 0x30) != 0) { // 前が & の場合 -> 1回 LFO処理 + lfo_change(qq); + lfo(qq); + lfo_change(qq); + } +} + + +//============================================================================= +// LFO初期化 +//============================================================================= +void PMDWIN::lfin1(QQ *qq) +{ + qq->hldelay_c = qq->hldelay; + + if(qq->hldelay) { + OPNASetReg(&opna, pmdwork.fmsel + pmdwork.partb+0xb4-1, (qq->fmpan) & 0xc0); + } + + qq->sdelay_c = qq->sdelay; + + if(qq->lfoswi & 3) { // LFOは未使用 + if((qq->lfoswi & 4) == 0) { //keyon非同期か? + lfoinit_main(qq); + } + lfo(qq); + } + + if(qq->lfoswi & 0x30) { // LFOは未使用 + if((qq->lfoswi & 0x40) == 0) { //keyon非同期か? + lfo_change(qq); + lfoinit_main(qq); + lfo_change(qq); + } + + lfo_change(qq); + lfo(qq); + lfo_change(qq); + } +} + + +void PMDWIN::lfoinit_main(QQ *qq) +{ + qq->lfodat = 0; + qq->delay = qq->delay2; + qq->speed = qq->speed2; + qq->step = qq->step2; + qq->time = qq->time2; + qq->mdc = qq->mdc2; + + if(qq->lfo_wave == 2 || qq->lfo_wave == 3) { // 矩形波 or ランダム波? + qq->speed = 1; // delay直後にLFOが掛かるようにする + } else { + qq->speed++; // それ以外の場合はdelay直後のspeed値を +1 + } +} + + +//============================================================================= +// SHIFT[di] 分移調する +//============================================================================= +int PMDWIN::oshiftp(QQ *qq, int al) +{ + return oshift(qq, al); +} + + +int PMDWIN::oshift(QQ *qq, int al) +{ + int bl, bh, dl; + + if(al == 0x0f) return al; + + if(al == 0x0c) { + if((al = qq->onkai) >= 0x80) { + return 0x0f; + } else { + return al; //@暫定対応 + } + } + + dl = qq->shift + qq->shift_def; + if(dl == 0) return al; + + bl = (al & 0x0f); // bl = ONKAI + bh = (al & 0xf0) >> 4; // bh = OCT + + if(dl < 0) { + // - ホウコウ シフト + if((bl += dl) < 0) { + do { + bh--; + } while((bl+=12) < 0); + } + if(bh < 0) bh = 0; + return (bh << 4) | bl; + + } else { + // + ホウコウ シフト + bl += dl; + while(bl >= 0x0c) { + bh++; + bl -= 12; + } + + if(bh > 7) bh = 7; + return (bh << 4) | bl; + } +} + + +//============================================================================= +// PSG TUNE SET +//============================================================================= +void PMDWIN::fnumsetp(QQ *qq, int al) +{ + int ax, bx, cl; + + if((al & 0x0f) == 0x0f) { // キュウフ ナラ FNUM ニ 0 ヲ セット + qq->onkai = 255; + if(qq->lfoswi & 0x11) return; + qq->fnum = 0; // 音程LFO未使用 + return; + } + + qq->onkai = al; + + cl = (al >> 4) & 0x0f; // cl=oct + bx = al & 0x0f; // bx=onkai + + ax = psg_tune_data[bx]; + if(cl > 0) { + ax = (ax + 1) >> cl; + } + + qq->fnum = ax; +} + + +//============================================================================= +// Q値の計算 +// break dx +//============================================================================= +uchar * PMDWIN::calc_q(QQ *qq, uchar *si) +{ + int dh, dl; + + if(*si == 0xc1) { // && + si++; + qq->qdat = 0; + return si; + } + + dl = qq->qdata; + if(qq->qdatb) { + dl += (qq->leng * qq->qdatb) >> 8; + } + +#if 0 + if(qq->qdat3) { // Random-Q + ax = rand() % ((qq->qdat3 & 0x7f) + 1); + if((qq->qdat3 & 0x80) == 0) { + dl += ax; + } else { + dl -= ax; + if(dl < 0) dl = 0; + } + } +#endif + + if(qq->qdat2) { + if((dh = qq->leng - qq->qdat2) < 0) { + qq->qdat = 0; + return si; + } + + if(dl < dh) { + qq->qdat = dl; + } else { + qq->qdat = dh; + } + } else { + qq->qdat = dl; + } + + return si; +} + + +//============================================================================= +// PSG VOLUME SET +//============================================================================= +void PMDWIN::volsetp(QQ *qq) +{ + int ax, dl; + + if(qq->envf == 3 || (qq->envf == -1 && qq->eenv_count == 0)) return; + + if(qq->volpush) { + dl = qq->volpush-1; + } else { + dl = qq->volume; + } + + //------------------------------------------------------------------------ + // 音量down計算 + //------------------------------------------------------------------------ + dl = ((256-open_work.ssg_voldown) * dl) >> 8; + + //------------------------------------------------------------------------ + // ENVELOPE 計算 + //------------------------------------------------------------------------ + if(dl <= 0) { + OPNASetReg(&opna, pmdwork.partb+8-1, 0); + return; + } + + if(qq->envf == -1) { + if(qq->eenv_volume == 0) { + OPNASetReg(&opna, pmdwork.partb+8-1, 0); + return; + } + dl = ((((dl * (qq->eenv_volume + 1))) >> 3) + 1) >> 1; + } else { + dl += qq->eenv_volume; + if(dl <= 0) { + OPNASetReg(&opna, pmdwork.partb+8-1, 0); + return; + } + if(dl > 15) dl = 15; + } + + //-------------------------------------------------------------------- + // 音量LFO計算 + //-------------------------------------------------------------------- + if((qq->lfoswi & 0x22) == 0) { + OPNASetReg(&opna, pmdwork.partb+8-1, dl); + return; + } + + if(qq->lfoswi & 2) { + ax = qq->lfodat; + } else { + ax = 0; + } + + if(qq->lfoswi & 0x20) { + ax += qq->_lfodat; + } + + dl = dl + ax; + if(dl < 0) { + OPNASetReg(&opna, pmdwork.partb+8-1, 0); + return; + } + if(dl > 15) dl = 15; + + //------------------------------------------------------------------------ + // 出力 + //------------------------------------------------------------------------ + OPNASetReg(&opna, pmdwork.partb+8-1, dl); +} + + +//============================================================================= +// PSG 音程設定 +//============================================================================= +void PMDWIN::otodasip(QQ *qq) +{ + int ax, dx; + + if(qq->fnum == 0) return; + + // PSG Portament set + + ax = qq->fnum + qq->porta_num; + dx = 0; + + // PSG Detune/LFO set + if((qq->extendmode & 1) == 0) { + ax -= qq->detune; + if(qq->lfoswi & 1) { + ax -= qq->lfodat; + } + + if(qq->lfoswi & 0x10) { + ax -= qq->_lfodat; + } + } else { + // 拡張DETUNE(DETUNE)の計算 + if(qq->detune) { + dx = (ax * qq->detune) >> 12; // dx:ax=ax * qq->detune + if(dx >= 0) { + dx++; + } else { + dx--; + } + ax -= dx; + } + // 拡張DETUNE(LFO)の計算 + if(qq->lfoswi & 0x11) { + if(qq->lfoswi & 1) { + dx = qq->lfodat; + } else { + dx = 0; + } + + if(qq->lfoswi & 0x10) { + dx += qq->_lfodat; + } + + if(dx) { + dx = (ax * dx) >> 12; + if(dx >= 0) { + dx++; + } else { + dx--; + } + } + ax -= dx; + } + } + + // TONE SET + + if(ax >= 0x1000) { + if(ax >= 0) { + ax = 0xfff; + } else { + ax = 0; + } + } + + OPNASetReg(&opna, (pmdwork.partb-1) * 2, ax & 0xff); + OPNASetReg(&opna, (pmdwork.partb-1) * 2 + 1, ax >> 8); +} + + +//============================================================================= +// PSG KEYON +//============================================================================= +void PMDWIN::keyonp(QQ *qq) +{ + int ah, al; + + if(qq->onkai == 255) return; // キュウフ ノ トキ + int op = ((pmdwork.partb-1)&3); + switch(op) { + case 0: + pmdstatus[6] = (qq->onkai & 0x0f); + break; + case 1: + pmdstatus[7] = (qq->onkai & 0x0f); + break; + case 2: + pmdstatus[8] = (qq->onkai & 0x0f); + break; + default: + break; + } + + ah=(1 << (pmdwork.partb -1)) | (1 << (pmdwork.partb +2)); + al = PSGGetReg(&(opna.psg), 0x07) | ah; + ah = ~(ah & qq->psgpat); + al &= ah; + PSGSetReg(&(opna.psg), 7, al); + + // PSG ノイズ シュウハスウ ノ セット + if(open_work.psnoi != open_work.psnoi_last && effwork.effon == 0) { + PSGSetReg(&(opna.psg), 6, open_work.psnoi); + open_work.psnoi_last = open_work.psnoi; + } +} + + +//============================================================================= +// LFO処理 +// Don't Break cl +// output cy=1 変化があった +//============================================================================= +int PMDWIN::lfo(QQ *qq) +{ + int ax, ch; + + if(qq->delay) { + qq->delay--; + return 0; + } + + if(qq->extendmode & 2) { // TimerAと合わせるか? + // そうじゃないなら無条件にlfo処理 + ch = open_work.TimerAtime - pmdwork.lastTimerAtime; + if(ch == 0) return 0; + ax = qq->lfodat; + + for(; ch > 0; ch--) { + lfo_main(qq); + } + } else { + + ax = qq->lfodat; + lfo_main(qq); + } + + if(ax == qq->lfodat) { + return 0; + } + return 1; +} + + +void PMDWIN::lfo_main(QQ *qq) +{ + int al, ax; + + if(qq->speed != 1) { + if(qq->speed != 255) qq->speed--; + return; + } + + qq->speed = qq->speed2; + + if(qq->lfo_wave == 0 || qq->lfo_wave == 4 || qq->lfo_wave == 5) { + // 三角波 lfowave = 0,4,5 + if(qq->lfo_wave == 5) { + ax = abs(qq->step) * qq->step; + } else { + ax = qq->step; + } + + if((qq->lfodat += ax) == 0) { + md_inc(qq); + } + + al = qq->time; + if(al != 255) { + if(--al == 0) { + al = qq->time2; + if(qq->lfo_wave != 4) { + al += al; // lfowave=0,5の場合 timeを反転時2倍にする + } + qq->time = al; + qq->step = -qq->step; + return; + } + } + qq->time = al; + + } else if(qq->lfo_wave == 2) { + // 矩形波 lfowave = 2 + qq->lfodat = (qq->step * qq->time); + md_inc(qq); + qq->step = -qq->step; + + } else if(qq->lfo_wave == 6) { + // ワンショット lfowave = 6 + if(qq->time) { + if(qq->time != 255) { + qq->time--; + } + qq->lfodat += qq->step; + } + } else if(qq->lfo_wave == 1) { + //ノコギリ波 lfowave = 1 + qq->lfodat += qq->step; + al = qq->time; + if(al != -1) { + al--; + if(al == 0) { + qq->lfodat = -qq->lfodat; + md_inc(qq); + al = (qq->time2) * 2; + } + } + qq->time = al; + + } else { + // ランダム波 lfowave = 3 + ax = abs(qq->step) * qq->time; + qq->lfodat = ax - (lfg_rand() % (ax * 2)); + md_inc(qq); + } +} + + +//============================================================================= +// MDコマンドの値によってSTEP値を変更 +//============================================================================= +void PMDWIN::md_inc(QQ *qq) +{ + int al; + + if(--qq->mdspd) return; + + qq->mdspd = qq->mdspd2; + + if(qq->mdc == 0) return; // count = 0 + if(qq->mdc <= 127) { + qq->mdc--; + } + + if(qq->step < 0) { + al = qq->mdepth - qq->step; + if(al >= 0) { + qq->step = -al; + } else { + if(qq->mdepth < 0) { + qq->step = 0; + } else { + qq->step = -127; + } + } + } else { + al = qq->step + qq->mdepth; + if(al >= 0) { + qq->step = al; + } else { + if(qq->mdepth < 0) { + qq->step = 0; + } else { + qq->step = 127; + } + } + } +} + + +void PMDWIN::swap(int *a, int *b) +{ + int temp; + + temp = *a; + *a = *b; + *b = temp; +} + + +//============================================================================= +// LFO1<->LFO2 change +//============================================================================= +void PMDWIN::lfo_change(QQ *qq) +{ + swap(&qq->lfodat, &qq->_lfodat); + qq->lfoswi = ((qq->lfoswi & 0x0f) << 4) + (qq->lfoswi >> 4); + qq->extendmode = ((qq->extendmode & 0x0f) << 4) + (qq->extendmode >> 4); + + swap(&qq->delay, &qq->_delay); + swap(&qq->speed, &qq->_speed); + swap(&qq->step, &qq->_step); + swap(&qq->time, &qq->_time); + swap(&qq->delay2, &qq->_delay2); + swap(&qq->speed2, &qq->_speed2); + swap(&qq->step2, &qq->_step2); + swap(&qq->time2, &qq->_time2); + swap(&qq->mdepth, &qq->_mdepth); + swap(&qq->mdspd, &qq->_mdspd); + swap(&qq->mdspd2, &qq->_mdspd2); + swap(&qq->lfo_wave, &qq->_lfo_wave); + swap(&qq->mdc, &qq->_mdc); + swap(&qq->mdc2, &qq->_mdc2); +} + + +//============================================================================= +// ポルタメント計算なのね +//============================================================================= +void PMDWIN::porta_calc(QQ *qq) +{ + qq->porta_num += qq->porta_num2; + if(qq->porta_num3 == 0) return; + if(qq->porta_num3 > 0) { + qq->porta_num3--; + qq->porta_num++; + } else { + qq->porta_num3++; + qq->porta_num--; + } +} + + +//============================================================================= +// PSG/PCMのソフトウエアエンベロープ +//============================================================================= +int PMDWIN::soft_env(QQ *qq) +{ + int i, cl; + + if(qq->extendmode & 4) { + if(open_work.TimerAtime == pmdwork.lastTimerAtime) return 0; + + cl = 0; + for(i = 0; i < open_work.TimerAtime - pmdwork.lastTimerAtime; i++) { + if(soft_env_main(qq)) { + cl = 1; + } + } + return cl; + } else { + return soft_env_main(qq); + } +} + + +int PMDWIN::soft_env_main(QQ *qq) +{ + int dl; + + if(qq->envf == -1) { + return ext_ssgenv_main(qq); + } + + dl = qq->eenv_volume; + soft_env_sub(qq); + if(dl == qq->eenv_volume) { + return 0; + } else { + return -1; + } +} + + +int PMDWIN::soft_env_sub(QQ *qq) +{ + if(qq->envf == 0) { + // Attack + if(--qq->eenv_ar != 0) { + return 0; + } + + qq->envf = 1; + qq->eenv_volume = qq->eenv_dr; + return 1; + } + + if(qq->envf != 2) { + // Decay + if(qq->eenv_sr == 0) return 0; // DR=0の時は減衰しない + if(--qq->eenv_sr != 0) return 0; + qq->eenv_sr = qq->eenv_src; + qq->eenv_volume--; + + if(qq->eenv_volume >= -15 || qq->eenv_volume < 15) return 0; + qq->eenv_volume = -15; + return 0; + } + + + // Release + if(qq->eenv_rr == 0) { // RR=0の時はすぐに音消し + qq->eenv_volume = -15; + return 0; + } + + if(--qq->eenv_rr != 0) return 0; + qq->eenv_rr = qq->eenv_rrc; + qq->eenv_volume--; + + if(qq->eenv_volume >= -15 && qq->eenv_volume < 15) return 0; + qq->eenv_volume = -15; + return 0; +} + + +// 拡張版 +int PMDWIN::ext_ssgenv_main(QQ *qq) +{ + int dl; + + if(qq->eenv_count == 0) return 0; + + dl = qq->eenv_volume; + esm_sub(qq, qq->eenv_count); + + if(dl == qq->eenv_volume) return 0; + return -1; +} + + +void PMDWIN::esm_sub(QQ *qq, int ah) +{ + if(--ah == 0) { + // [[[ Attack Rate ]]] + if(qq->eenv_arc > 0) { + qq->eenv_volume += qq->eenv_arc; + if(qq->eenv_volume < 15) { + qq->eenv_arc = qq->eenv_ar-16; + return; + } + + qq->eenv_volume = 15; + qq->eenv_count++; + if(qq->eenv_sl != 15) return; // SL=0の場合はすぐSRに + qq->eenv_count++; + return; + } else { + if(qq->eenv_ar == 0) return; + qq->eenv_arc++; + return; + } + } + + if(--ah == 0) { + // [[[ Decay Rate ]]] + if(qq->eenv_drc > 0) { // 0以下の場合はカウントCHECK + qq->eenv_volume -= qq->eenv_drc; + if(qq->eenv_volume < 0 || qq->eenv_volume < qq->eenv_sl) { + qq->eenv_volume = qq->eenv_sl; + qq->eenv_count++; + return; + } + + if(qq->eenv_dr < 16) { + qq->eenv_drc = (qq->eenv_dr - 16) * 2; + } else { + qq->eenv_drc = qq->eenv_dr - 16; + } + return; + } + + if(qq->eenv_dr == 0) return; + qq->eenv_drc++; + return; + } + + if(--ah == 0) { + // [[[ Sustain Rate ]]] + if(qq->eenv_src > 0) { // 0以下の場合はカウントCHECK + if((qq->eenv_volume -= qq->eenv_src) < 0) { + qq->eenv_volume = 0; + } + + if(qq->eenv_sr < 16) { + qq->eenv_src = (qq->eenv_sr - 16) * 2; + } else { + qq->eenv_src = qq->eenv_sr - 16; + } + return; + } + + if(qq->eenv_sr == 0) return; // SR=0? + qq->eenv_src++; + return; + } + + // [[[ Release Rate ]]] + if(qq->eenv_rrc > 0) { // 0以下の場合はカウントCHECK + if((qq->eenv_volume -= qq->eenv_rrc) < 0) { + qq->eenv_volume = 0; + } + + qq->eenv_rrc = (qq->eenv_rr) * 2 - 16; + return; + } + + if(qq->eenv_rr == 0) return; + qq->eenv_rrc++; +} + + +//============================================================================= +// テンポ設定 +//============================================================================= +void PMDWIN::settempo_b(void) +{ + if(open_work.tempo_d != open_work.TimerB_speed) { + open_work.TimerB_speed = open_work.tempo_d; + OPNASetReg(&opna, 0x26, open_work.TimerB_speed); + } +} + + +//============================================================================= +// 小節のカウント +//============================================================================= +void PMDWIN::syousetu_count(void) +{ + if(open_work.opncount + 1 == open_work.syousetu_lng) { + open_work.syousetu++; + open_work.opncount = 0; + } else { + open_work.opncount++; + } +} + + +//============================================================================= +// OPN割り込み許可処理 +//============================================================================= +void PMDWIN::opnint_start(void) +{ + memset(FMPart, 0, sizeof(FMPart)); + memset(SSGPart, 0, sizeof(SSGPart)); + memset(&RhythmPart, 0, sizeof(RhythmPart)); + + open_work.rhythmmask = 255; + pmdwork.rhydmy = 255; + data_init(); + opn_init(); + + PSGSetReg(&(opna.psg), 0x07, 0xbf); + mstop(); + setint(); + OPNASetReg(&opna, 0x29, 0x83); +} + + +//============================================================================= +// DATA AREA の イニシャライズ +//============================================================================= +void PMDWIN::data_init(void) +{ + int i; + int partmask, keyon_flag; + + for(i = 0; i < 6; i++) { + partmask = FMPart[i].partmask; + keyon_flag = FMPart[i].keyon_flag; + memset(&FMPart[i], 0, sizeof(QQ)); + FMPart[i].partmask = partmask & 0x0f; + FMPart[i].keyon_flag = keyon_flag; + FMPart[i].onkai = 255; + FMPart[i].onkai_def = 255; + } + + for(i = 0; i < 3; i++) { + partmask = SSGPart[i].partmask; + keyon_flag = SSGPart[i].keyon_flag; + memset(&SSGPart[i], 0, sizeof(QQ)); + SSGPart[i].partmask = partmask & 0x0f; + SSGPart[i].keyon_flag = keyon_flag; + SSGPart[i].onkai = 255; + SSGPart[i].onkai_def = 255; + } + + partmask = RhythmPart.partmask; + keyon_flag = RhythmPart.keyon_flag; + memset(&RhythmPart, 0, sizeof(QQ)); + RhythmPart.partmask = partmask & 0x0f; + RhythmPart.keyon_flag = keyon_flag; + RhythmPart.onkai = 255; + RhythmPart.onkai_def = 255; + + pmdwork.tieflag = 0; + open_work.status = 0; + open_work.status2 = 0; + open_work.syousetu = 0; + open_work.opncount = 0; + open_work.TimerAtime = 0; + pmdwork.lastTimerAtime = 0; + + pmdwork.omote_key[0] = 0; + pmdwork.omote_key[1] = 0; + pmdwork.omote_key[2] = 0; + pmdwork.ura_key[0] = 0; + pmdwork.ura_key[1] = 0; + pmdwork.ura_key[2] = 0; + + pmdwork.fm3_alg_fb = 0; + pmdwork.af_check = 0; + + open_work.kshot_dat = 0; + open_work.rshot_dat = 0; + + pmdwork.slotdetune_flag = 0; + open_work.slot_detune1 = 0; + open_work.slot_detune2 = 0; + open_work.slot_detune3 = 0; + open_work.slot_detune4 = 0; + + pmdwork.slot3_flag = 0; + open_work.ch3mode = 0x3f; + + pmdwork.fmsel = 0; + + open_work.syousetu_lng = 96; + + open_work.fm_voldown = open_work._fm_voldown; + open_work.ssg_voldown = open_work._ssg_voldown; + open_work.rhythm_voldown = open_work._rhythm_voldown; +} + + +//============================================================================= +// OPN INIT +//============================================================================= +void PMDWIN::opn_init(void) +{ + int i; + OPNASetReg(&opna, 0x29, 0x83); + open_work.psnoi = 0; +//@ if(effwork.effon == 0) { + PSGSetReg(&(opna.psg), 0x06, 0x00); + open_work.psnoi_last = 0; +//@ } + + //------------------------------------------------------------------------ + // PAN/HARDLFO DEFAULT + //------------------------------------------------------------------------ + OPNASetReg(&opna, 0xb4, 0xc0); + OPNASetReg(&opna, 0xb5, 0xc0); + OPNASetReg(&opna, 0xb6, 0xc0); + OPNASetReg(&opna, 0x1b4, 0xc0); + OPNASetReg(&opna, 0x1b5, 0xc0); + OPNASetReg(&opna, 0x1b6, 0xc0); + + open_work.port22h = 0x00; + OPNASetReg(&opna, 0x22, 0x00); + + //------------------------------------------------------------------------ + // Rhythm Default = Pan : Mid , Vol : 15 + //------------------------------------------------------------------------ + for(i = 0; i < 6; i++) { + open_work.rdat[i] = 0xcf; + } + OPNASetReg(&opna, 0x10, 0xff); + + //------------------------------------------------------------------------ + // リズムトータルレベル セット + //------------------------------------------------------------------------ + open_work.rhyvol = 48*4*(256-open_work.rhythm_voldown)/1024; + OPNASetReg(&opna, 0x11, open_work.rhyvol); +} + + +//============================================================================= +// MUSIC STOP +//============================================================================= +void PMDWIN::mstop_f(void) +{ + int i; + if(open_work.TimerAflag || open_work.TimerBflag) { + pmdwork.music_flag |= 2; + } else { + mstop(); + } + + //memset(wavbuf2, 0, sizeof(wavbuf2)); + for(i=0; i<nbufsample; i++) wavbuf2[i].left = 0; + upos = 0; +} + + +void PMDWIN::mstop(void) +{ + pmdwork.music_flag &= 0xfd; + open_work.play_flag = 0; + open_work.status2 = -1; + silence(); +} + + +//============================================================================= +// ALL SILENCE +//============================================================================= +void PMDWIN::silence(void) +{ + OPNASetReg(&opna, 0x80, 0xff); // FM Release = 15 + OPNASetReg(&opna, 0x81, 0xff); + OPNASetReg(&opna, 0x82, 0xff); + OPNASetReg(&opna, 0x84, 0xff); + OPNASetReg(&opna, 0x85, 0xff); + OPNASetReg(&opna, 0x86, 0xff); + OPNASetReg(&opna, 0x88, 0xff); + OPNASetReg(&opna, 0x89, 0xff); + OPNASetReg(&opna, 0x8a, 0xff); + OPNASetReg(&opna, 0x8c, 0xff); + OPNASetReg(&opna, 0x8d, 0xff); + OPNASetReg(&opna, 0x8e, 0xff); + + OPNASetReg(&opna, 0x180, 0xff); + OPNASetReg(&opna, 0x181, 0xff); + OPNASetReg(&opna, 0x184, 0xff); + OPNASetReg(&opna, 0x185, 0xff); + OPNASetReg(&opna, 0x188, 0xff); + OPNASetReg(&opna, 0x189, 0xff); + OPNASetReg(&opna, 0x18c, 0xff); + OPNASetReg(&opna, 0x18d, 0xff); + + OPNASetReg(&opna, 0x182, 0xff); + OPNASetReg(&opna, 0x186, 0xff); + OPNASetReg(&opna, 0x18a, 0xff); + OPNASetReg(&opna, 0x18e, 0xff); + + OPNASetReg(&opna, 0x28, 0x00); // FM KEYOFF + OPNASetReg(&opna, 0x28, 0x01); + OPNASetReg(&opna, 0x28, 0x02); + OPNASetReg(&opna, 0x28, 0x04); // FM KEYOFF [URA] + OPNASetReg(&opna, 0x28, 0x05); + OPNASetReg(&opna, 0x28, 0x06); + +// 2003.11.30 プチノイズ対策のため +//@ if(effwork.effon == 0) { + PSGSetReg(&(opna.psg), 0x07, 0xbf); + PSGSetReg(&(opna.psg), 0x08, 0); // 2003.11.30 プチノイズ対策のため + PSGSetReg(&(opna.psg), 0x09, 0); // 2003.11.30 プチノイズ対策のため + PSGSetReg(&(opna.psg), 0x0a, 0); // 2003.11.30 プチノイズ対策のため +//@ } else { +//@ PSGSetReg(&(opna.psg), 0x07, (PSGGetReg(&(opna.psg), 0x07) & 0x3f) | 0x9b); +//@ } + + OPNASetReg(&opna, 0x10, 0xff); // Rhythm dump + OPNASetReg(&opna, 0x110, 0x80); // TA/TB/EOS を RESET + OPNASetReg(&opna, 0x110, 0x18); // TIMERB/A/EOSのみbit変化あり +} + + +//============================================================================= +// 演奏開始(function) +//============================================================================= +void PMDWIN::mstart_f(void) +{ + if(open_work.TimerAflag || open_work.TimerBflag) { + pmdwork.music_flag |= 1; // TA/TB処理中は 実行しない + return; + } + + mstart(); +} + + +//============================================================================= +// 演奏開始 +//============================================================================= +void PMDWIN::mstart(void) +{ + // TimerB = 0 に設定し、Timer Reset(曲の長さを毎回そろえるため) + open_work.tempo_d = 0; + settempo_b(); + OPNASetReg(&opna, 0x27, 0); // TIMER RESET(timerA,Bとも) + + //------------------------------------------------------------------------ + // 演奏停止 + //------------------------------------------------------------------------ + pmdwork.music_flag &= 0xfe; + mstop(); + + //------------------------------------------------------------------------ + // バッファ初期化 + //------------------------------------------------------------------------ + pos2 = (char *)wavbuf2; // buf に余っているサンプルの先頭位置 + us2 = 0; // buf に余っているサンプル数 + upos = 0; // 演奏開始からの時間(μsec) + + //------------------------------------------------------------------------ + // 演奏準備 + //------------------------------------------------------------------------ + data_init(); + play_init(); + + //------------------------------------------------------------------------ + // OPN初期化 + //------------------------------------------------------------------------ + opn_init(); + + //------------------------------------------------------------------------ + // 音楽の演奏を開始 + //------------------------------------------------------------------------ + setint(); + open_work.play_flag = 1; +} + + +//============================================================================= +// 各パートのスタートアドレス及び初期値をセット +//============================================================================= +void PMDWIN::play_init(void) +{ + int i; + ushort *p; + + //2.6追加分 + if(*open_work.mmlbuf != 2*(max_part2+1)) { + open_work.prgdat_adr = open_work.mmlbuf + *(ushort *)(&open_work.mmlbuf[2*(max_part2+1)]); + open_work.prg_flg = 1; + } else { + open_work.prg_flg = 0; + } + + p = (ushort *)open_work.mmlbuf; + + // Part 0,1,2,3,4,5(FM1〜6)の時 + for(i = 0; i < 6; i++) { + if(open_work.mmlbuf[*p] == 0x80) { //先頭が80hなら演奏しない + FMPart[i].address = NULL; + } else { + FMPart[i].address = &open_work.mmlbuf[*p]; + } + + FMPart[i].leng = 1; + FMPart[i].keyoff_flag = -1; // 現在keyoff中 + FMPart[i].mdc = -1; // MDepth Counter (無限) + FMPart[i].mdc2 = -1; // 同上 + FMPart[i]._mdc = -1; // 同上 + FMPart[i]._mdc2 = -1; // 同上 + FMPart[i].onkai = 255; // rest + FMPart[i].onkai_def = 255; // rest + FMPart[i].volume = 108; // FM VOLUME DEFAULT= 108 + FMPart[i].fmpan = 0xc0; // FM PAN = Middle + FMPart[i].slotmask = 0xf0; // FM SLOT MASK + FMPart[i].neiromask = 0xff; // FM Neiro MASK + p++; + } + + // Part 6,7,8(PSG1〜3)の時 + for(i = 0; i < 3; i++) { + if(open_work.mmlbuf[*p] == 0x80) { //先頭が80hなら演奏しない + SSGPart[i].address = NULL; + } else { + SSGPart[i].address = &open_work.mmlbuf[*p]; + } + + SSGPart[i].leng = 1; + SSGPart[i].keyoff_flag = -1; // 現在keyoff中 + SSGPart[i].mdc = -1; // MDepth Counter (無限) + SSGPart[i].mdc2 = -1; // 同上 + SSGPart[i]._mdc = -1; // 同上 + SSGPart[i]._mdc2 = -1; // 同上 + SSGPart[i].onkai = 255; // rest + SSGPart[i].onkai_def = 255; // rest + SSGPart[i].volume = 8; // PSG VOLUME DEFAULT= 8 + SSGPart[i].psgpat = 7; // PSG = TONE + SSGPart[i].envf = 3; // PSG ENV = NONE/normal + p++; + } + p++; + + // Part 10(Rhythm)の時 + if(open_work.mmlbuf[*p] == 0x80) { //先頭が80hなら演奏しない + RhythmPart.address = NULL; + } else { + RhythmPart.address = &open_work.mmlbuf[*p]; + } + + RhythmPart.leng = 1; + RhythmPart.keyoff_flag = -1; // 現在keyoff中 + RhythmPart.mdc = -1; // MDepth Counter (無限) + RhythmPart.mdc2 = -1; // 同上 + RhythmPart._mdc = -1; // 同上 + RhythmPart._mdc2 = -1; // 同上 + RhythmPart.onkai = 255; // rest + RhythmPart.onkai_def = 255; // rest + RhythmPart.volume = 15; // PPSDRV volume + p++; + + //------------------------------------------------------------------------ + // Rhythm のアドレステーブルをセット + //------------------------------------------------------------------------ + + open_work.radtbl = (ushort *)&open_work.mmlbuf[*p]; + open_work.rhyadr = (uchar *)&pmdwork.rhydmy; +} + + +//============================================================================= +// インタラプト 設定 +// FM音源専用 +//============================================================================= +void PMDWIN::setint(void) +{ + // + // OPN割り込み初期設定 + // + + open_work.tempo_d = 200; + open_work.tempo_d_push = 200; + + calc_tb_tempo(); + settempo_b(); + + OPNASetReg(&opna, 0x25, 0x00); // TIMER A SET (9216μs固定) + OPNASetReg(&opna, 0x24, 0x00); // 一番遅くて丁度いい + OPNASetReg(&opna, 0x27, 0x3f); // TIMER ENABLE + + // + // 小節カウンタリセット + // + + open_work.opncount = 0; + open_work.syousetu = 0; + open_work.syousetu_lng = 96; +} + + +//============================================================================= +// T->t 変換 +// input [tempo_d] +// output [tempo_48] +//============================================================================= +void PMDWIN::calc_tb_tempo(void) +{ +// TEMPO = 0x112C / [ 256 - TB ] timerB -> tempo + int temp; + + if(256 - open_work.tempo_d == 0) { + temp = 255; + } else { + temp = (0x112c * 2 / (256 - open_work.tempo_d) + 1) / 2; + if(temp > 255) temp = 255; + } + + open_work.tempo_48 = temp; + open_work.tempo_48_push = temp; +} + + +//============================================================================= +// t->T 変換 +// input [tempo_48] +// output [tempo_d] +//============================================================================= +void PMDWIN::calc_tempo_tb(void) +{ + int al; + + // TB = 256 - [ 112CH / TEMPO ] tempo -> timerB + + if(open_work.tempo_48 >= 18) { + al = 256 - 0x112c / open_work.tempo_48; + if(0x112c % open_work.tempo_48 >= 128) { + al--; + } + //al = 256 - (0x112c * 2 / open_work.tempo_48 + 1) / 2; + } else { + al = 0; + } + open_work.tempo_d = al; + open_work.tempo_d_push = al; +} + + +//============================================================================= +// 曲の読み込みその3(メモリから、カレントディレクトリあり) +//============================================================================= +int PMDWIN::music_load3(uchar *musdata, unsigned int size) +{ + if(size > sizeof(mdataarea)) { + return ERR_WRONG_MUSIC_FILE; + } + + // 020120 ヘッダ解析のみ Towns に対応 + if((musdata[0] > 0x0f && musdata[0] != 0xff) || (musdata[1] != 0x18 && musdata[1] != 0x1a) || musdata[2]) { + return ERR_WRONG_MUSIC_FILE; // not PMD data + } + + // メモリを 0x00 で初期化する + //memset(mdataarea, 0x00, sizeof(mdataarea)); + memcpy(mdataarea, musdata, size); + return PMDWIN_OK; +} + + +//============================================================================= +// 初期化 +//============================================================================= +bool PMDWIN::init(void) +{ + int i; + struct timeval tv; + open_work.rate = SOUND_44K; + + // OPEN_WORK メンバの初期化 + open_work.rhyvol = 0x3c; + open_work.TimerBflag = 0; + open_work.TimerAflag = 0; + open_work.TimerB_speed = 0x100; + open_work.port22h = 0; + + if(OPNAInit(&opna, OPNAClock, SOUND_44K, true) == false) return false; + SetVolumeFM(&opna, 0); + SetVolumePSG(&(opna.psg), 0); + + // Init RNG state + gettimeofday(&tv, NULL); + lfg_srand(tv.tv_sec); + + for(i=0; i<nbufsample; i++) { + wavbuf2[i].left = 0; + } + pos2 = (char *)wavbuf2; + us2 = 0; + upos = 0; + + //---------------------------------------------------------------- + // 変数の初期化 + //---------------------------------------------------------------- + + open_work.MusPart[ 0] = &FMPart[0]; + open_work.MusPart[ 1] = &FMPart[1]; + open_work.MusPart[ 2] = &FMPart[2]; + open_work.MusPart[ 3] = &FMPart[3]; + open_work.MusPart[ 4] = &FMPart[4]; + open_work.MusPart[ 5] = &FMPart[5]; + open_work.MusPart[ 6] = &SSGPart[0]; + open_work.MusPart[ 7] = &SSGPart[1]; + open_work.MusPart[ 8] = &SSGPart[2]; + open_work.MusPart[ 9] = &RhythmPart; + + mdataarea[0] = 0; + for(i = 0; i < 12; i++) { + mdataarea[i*2+1] = 0x18; + mdataarea[i*2+2] = 0; + } + mdataarea[25] = 0x80; + + open_work.fm_voldown = fmvd_init; // FM_VOLDOWN + open_work._fm_voldown = fmvd_init; // FM_VOLDOWN + open_work.ssg_voldown = 0; // SSG_VOLDOWN + open_work._ssg_voldown = 0; // SSG_VOLDOWN + open_work.rhythm_voldown = 0; // RHYTHM_VOLDOWN + open_work._rhythm_voldown = 0; // RHYTHM_VOLDOWN + + memset(FMPart, 0, sizeof(FMPart)); + memset(SSGPart, 0, sizeof(SSGPart)); + memset(&RhythmPart, 0, sizeof(RhythmPart)); + + pmdwork.music_flag = 0; + pmdwork.ppsdrv_flag = false; // PPSDRV FLAG + + //---------------------------------------------------------------- + // 曲データ,音色データ格納番地を設定 + //---------------------------------------------------------------- + open_work.mmlbuf = &mdataarea[1]; + + //---------------------------------------------------------------- + // 効果音/FMINT/EFCINTを初期化 + //---------------------------------------------------------------- + effwork.effon = 0; + effwork.psgefcnum = 0xff; + + //---------------------------------------------------------------- + // 088/188/288/388 (同INT番号のみ) を初期設定 + //---------------------------------------------------------------- + OPNASetReg(&opna, 0x29, 0x00); + OPNASetReg(&opna, 0x24, 0x00); + OPNASetReg(&opna, 0x25, 0x00); + OPNASetReg(&opna, 0x26, 0x00); + OPNASetReg(&opna, 0x27, 0x3f); + + //---------------------------------------------------------------- + // OPN割り込み開始 + //---------------------------------------------------------------- + opnint_start(); + + return true; +} + + +//============================================================================= +// 合成周波数の設定 +//============================================================================= +void PMDWIN::setpcmrate(unsigned int rate) +{ + if(rate == SOUND_55K || rate == SOUND_55K_2) { + open_work.rate = SOUND_44K; + open_work.fmcalc55k = true; + } else { + open_work.rate = rate; + open_work.fmcalc55k = false; + } + OPNASetRate(&opna, open_work.rate, open_work.fmcalc55k); +} + + +//============================================================================= +// Mask to enable/disable usage of FM (bit 0), SSG (bit 1) and Rhythm (bit 2) +// on the OPNA. Mostly for testing purposes. +//============================================================================= +void PMDWIN::setdevmask(uint8_t mask) +{ + opna.devmask = mask; +} + + +void PMDWIN::setchanmask(uint32_t mask) +{ + OPNASetChannelMask(&opna, mask); +} + + +//============================================================================= +// 演奏開始 +//============================================================================= +void PMDWIN::music_start(void) +{ + mstart_f(); +} + + +//============================================================================= +// 演奏停止 +//============================================================================= +void PMDWIN::music_stop(void) +{ + mstop_f(); +} + + +//============================================================================= +// PCM データ(wave データ)の取得 +//============================================================================= +void PMDWIN::getpcmdata(short *buf, int nsamples) +{ + int copysamples = 0; // コピー済みのサンプル数 + int i, us; + + do { + if(nsamples - copysamples <= us2) { + memcpy(buf, pos2, (nsamples - copysamples)*2); + us2 -= (nsamples - copysamples); + pos2 += (nsamples - copysamples)*2; + copysamples = nsamples; + } else { + memcpy(buf, pos2, us2 * 2); + buf += us2; + copysamples += us2; + pos2 = (char *)wavbuf2; + + if(ReadStatus(&opna) & 0x01) { + TimerA_main(); + } + + if(ReadStatus(&opna) & 0x02) { + TimerB_main(); + } + + OPNASetReg(&opna, 0x27, open_work.ch3mode | 0x30); // TIMER RESET(timerA,Bとも) + + + us = OPNAGetNextEvent(&opna); + us2 = (int)((float)us * open_work.rate / 1000000.0f); + OPNATimerCount(&opna, us); + + int32_t tmpbuf[8192]; + for(i=0; i<us2; i++) tmpbuf[i] = 0; + OPNAMix(&opna, (int32_t*)tmpbuf, us2); + upos += us; + + for(i = 0; i < us2; i++) { + wavbuf2[i].left = Limit(tmpbuf[i], 32767, -32768); + } + } + } while(copysamples < nsamples); +} + + +//============================================================================= +// FM で 55kHz合成、一次補完するかどうかの設定 +//============================================================================= +void PMDWIN::setfmcalc55k(bool flag) +{ + open_work.fmcalc55k = flag; + OPNASetRate(&opna, open_work.rate, open_work.fmcalc55k); +} + + +unsigned int PMDWIN::getstatus(char *buf, size_t bufsize) +{ + char *p = buf; + unsigned int i = 0, len; + while(i < 6) { + *p++ = 'F'; + *p++ = 'M'; + *p++ = (i + 0x30); + *p++ = ':'; + *p++ = ' '; + *p++ = notes[pmdstatus[i]][0]; + *p++ = notes[pmdstatus[i]][1]; + *p++ = ' '; + i++; + } + while(i < 9) { + *p++ = 'P'; + *p++ = 'S'; + *p++ = 'G'; + *p++ = (i + 0x30 - 6); + *p++ = ':'; + *p++ = ' '; + *p++ = notes[pmdstatus[i]][0]; + *p++ = notes[pmdstatus[i]][1]; + *p++ = ' '; + i++; + } + p -= 3; + *p++ = (pmdstatus[8] + 0x30); + *p++ = '\0'; + len = (p - buf); + return len; +} + + +//============================================================================= +// メモの取得(内部動作) +//============================================================================= +char* PMDWIN::_getmemo(char *dest, uchar *musdata, int size, int al) +{ + uchar *si, *mmlbuf; + int i, dx; + int maxsize; + + if(musdata == NULL || size == 0) { + mmlbuf = open_work.mmlbuf; + maxsize = sizeof(mdataarea) - 1; + } else { + mmlbuf = &musdata[1]; + maxsize = size - 1; + } + if(maxsize < 2) { + *dest = '\0'; // 曲データが不正 + return NULL; + } + + if(mmlbuf[0] != 0x1a || mmlbuf[1] != 0x00) { + *dest = '\0'; // 音色がないfile=メモのアドレス取得不能 + return dest; + } + + if(maxsize < 0x18+1) { + *dest = '\0'; // 曲データが不正 + return NULL; + } + + if(maxsize < *(ushort *)&mmlbuf[0x18] - 4 + 3) { + *dest = '\0'; // 曲データが不正 + return NULL; + } + + si = &mmlbuf[*(ushort *)&mmlbuf[0x18] - 4]; + if(*(si + 2) != 0x40) { + if(*(si + 3) != 0xfe || *(si + 2) < 0x41) { + *dest = '\0'; // 音色がないfile=メモのアドレス取得不能 + return dest; + } + } + + if(*(si + 2) >= 0x42) { + al++; + } + + if(*(si + 2) >= 0x48) { + al++; + } + + if(al < 0) { + *dest = '\0'; // 登録なし + return dest; + } + + si = &mmlbuf[*(ushort *)si]; + + for(i = 0; i <= al; i++) { + if(maxsize < si - mmlbuf + 1) { + *dest = '\0'; // 曲データが不正 + return NULL; + } + + dx = *(ushort *)si; + if(dx == 0) { + *dest = '\0'; + return dest; + } + + if(maxsize < dx) { + *dest = '\0'; // 曲データが不正 + return NULL; + } + + if(mmlbuf[dx] == '/') { + *dest = '\0'; + return dest; + } + + si += 2; + } + + for(i = dx; i < maxsize; i++) { + if(mmlbuf[i] == '\0') break; + } + + // 終端の \0 がない場合 + if(i >= maxsize) { + memcpy(dest, &mmlbuf[dx], maxsize - dx); + dest[maxsize - dx - 1] = '\0'; + } else { + memcpy(dest, &mmlbuf[dx], i); + dest[i] = '\0'; + } + return dest; +} + +/* + Conversion between SJIS codes (s1,s2) and JISX0208 codes (c1,c2): + Example. (s1,s2) = 0x8140, (c1,c2) = 0x2121. + 0x81 <= s1 <= 0x9F || 0xE0 <= s1 <= 0xEA, + 0x40 <= s2 <= 0x7E || 0x80 <= s2 <= 0xFC, + 0x21 <= c1 <= 0x74, 0x21 <= c2 <= 0x7E. + Invariant: + 94*2*(s1 < 0xE0 ? s1-0x81 : s1-0xC1) + (s2 < 0x80 ? s2-0x40 : s2-0x41) + = 94*(c1-0x21)+(c2-0x21) + Conversion (s1,s2) -> (c1,c2): + t1 := (s1 < 0xE0 ? s1-0x81 : s1-0xC1) + t2 := (s2 < 0x80 ? s2-0x40 : s2-0x41) + c1 := 2*t1 + (t2 < 0x5E ? 0 : 1) + 0x21 + c2 := (t2 < 0x5E ? t2 : t2-0x5E) + 0x21 + Conversion (c1,c2) -> (s1,s2): + t1 := (c1 - 0x21) >> 1 + t2 := ((c1 - 0x21) & 1) * 0x5E + (c2 - 0x21) + s1 := (t1 < 0x1F ? t1+0x81 : t1+0xC1) + s2 := (t2 < 0x3F ? t2+0x40 : t2+0x41) + */ + +static int sjis_to_ucs4(uint32_t *pwc, const uint8_t *s, int n) +{ + uint8_t c = *s; + if (c <= 0x80) { + if (c == 0x5c) + *pwc = (uint32_t) 0x00a5; + else if (c == 0x7e) + *pwc = (uint32_t) 0x203e; + else + *pwc = (uint32_t) c; + return 1; + } else if (c >= 0xa1 && c <= 0xdf) { + *pwc = (uint32_t) c + 0xfec0; + return 1; + } else { + uint8_t s1, s2; + s1 = c; + if ((s1 >= 0x81 && s1 <= 0x9f) || (s1 >= 0xe0 && s1 <= 0xea)) { + if (n < 2) + return -2; + s2 = s[1]; + if ((s2 >= 0x40 && s2 <= 0x7e) || (s2 >= 0x80 && s2 <= 0xfc)) { + uint8_t t1 = (s1 < 0xe0 ? s1-0x81 : s1-0xc1); + uint8_t t2 = (s2 < 0x80 ? s2-0x40 : s2-0x41); + uint8_t buf[2]; + buf[0] = 2*t1 + (t2 < 0x5e ? 0 : 1) + 0x21; + buf[1] = (t2 < 0x5e ? t2 : t2-0x5e) + 0x21; + return jisx0208_mbtowc(pwc,buf,2); + } + } else if (s1 >= 0xf0 && s1 <= 0xf9) { + /* User-defined range. See + * Ken Lunde's "CJKV Information Processing", table 4-66, p. 206. */ + if (n < 2) + return -2; + s2 = s[1]; + if ((s2 >= 0x40 && s2 <= 0x7e) || (s2 >= 0x80 && s2 <= 0xfc)) { + *pwc = 0xe000 + 188*(s1 - 0xf0) + (s2 < 0x80 ? s2-0x40 : s2-0x41); + return 2; + } + } + return -1; + } +} + +static int ucs4_to_utf8(uint8_t *utf8, uint32_t ucs4) +{ + if (ucs4 <= 0x0000007fL) { + utf8[0] = ucs4; + return 1; + } else if (ucs4 <= 0x000007ffL) { + utf8[0] = 0xc0 | ((ucs4 >> 6) & 0x1f); + utf8[1] = 0x80 | ((ucs4 >> 0) & 0x3f); + return 2; + } else if (ucs4 <= 0x0000ffffL) { + utf8[0] = 0xe0 | ((ucs4 >> 12) & 0x0f); + utf8[1] = 0x80 | ((ucs4 >> 6) & 0x3f); + utf8[2] = 0x80 | ((ucs4 >> 0) & 0x3f); + return 3; + } + + /* default */ + utf8[0] = '?'; + return 1; +} + +static size_t sjis_to_utf8(uint8_t *outbuf, uint8_t *inbuf, size_t insize) { + uint32_t wc = 0; + uint8_t *utf8str = outbuf; + uint8_t *utf8str_start = utf8str; + int ret; + while(insize > 0) { + ret = sjis_to_ucs4(&wc, inbuf, insize); + if(ret < 0) { + inbuf++; insize--; + continue; + } + utf8str += ucs4_to_utf8(utf8str, wc); + inbuf += ret; + insize -= ret; + } + return (utf8str - utf8str_start); +} + +char* PMDWIN::_getmemo3(char *dest, uchar *musdata, int size, int al) +{ + char buf[mdata_def*1024]; + _getmemo((char *)buf, musdata, size, al); + sjis_to_utf8((uint8_t*)dest, (uint8_t*)buf, strlen(buf)+1); + return dest; +} + + +//============================================================================= +// パートのマスク +//============================================================================= +int PMDWIN::maskon(unsigned int ch) +{ + int ah, fmseltmp; + + + if(ch >= sizeof(open_work.MusPart) / sizeof(QQ *)) { + return ERR_WRONG_PARTNO; // part number error + } + + if(part_table[ch][0] < 0) { + open_work.rhythmmask = 0; // Rhythm音源をMask + OPNASetReg(&opna, 0x10, 0xff); // Rhythm音源を全部Dump + } else { + fmseltmp = pmdwork.fmsel; + if(open_work.MusPart[ch]->partmask == 0 && open_work.play_flag) { + if(part_table[ch][2] == 0) { + pmdwork.partb = part_table[ch][1]; + pmdwork.fmsel = 0; + silence_fmpart(open_work.MusPart[ch]); // 音を完璧に消す + } else if(part_table[ch][2] == 1) { + pmdwork.partb = part_table[ch][1]; + pmdwork.fmsel = 0x100; + silence_fmpart(open_work.MusPart[ch]); // 音を完璧に消す + } else if(part_table[ch][2] == 2) { + pmdwork.partb = part_table[ch][1]; + ah = 1 << (pmdwork.partb - 1); + ah |= (ah << 3); + // PSG keyoff + PSGSetReg(&(opna.psg), 0x07, ah | PSGGetReg(&(opna.psg), 0x07)); + } else if(part_table[ch][2] == 4) { + if(effwork.psgefcnum < 11) { + effend(); + } + } + } + open_work.MusPart[ch]->partmask |= 1; + pmdwork.fmsel = fmseltmp; + } + return PMDWIN_OK; +} + + +//============================================================================= +// パートのマスク解除 +//============================================================================= +int PMDWIN::maskoff(unsigned int ch) +{ + int fmseltmp; + + if(ch >= sizeof(open_work.MusPart) / sizeof(QQ *)) { + return ERR_WRONG_PARTNO; // part number error + } + + if(part_table[ch][0] < 0) { + open_work.rhythmmask = 0xff; + } else { + if(open_work.MusPart[ch]->partmask == 0) return ERR_NOT_MASKED; // マスクされていない + // 効果音でまだマスクされている + if((open_work.MusPart[ch]->partmask &= 0xfe) != 0) return ERR_EFFECT_USED; + // 曲が止まっている + if(open_work.play_flag == 0) return ERR_MUSIC_STOPPED; + + fmseltmp = pmdwork.fmsel; + if(open_work.MusPart[ch]->address != NULL) { + if(part_table[ch][2] == 0) { // FM音源(表) + pmdwork.fmsel = 0; + pmdwork.partb = part_table[ch][1]; + neiro_reset(open_work.MusPart[ch]); + } else if(part_table[ch][2] == 1) { // FM音源(裏) + pmdwork.fmsel = 0x100; + pmdwork.partb = part_table[ch][1]; + neiro_reset(open_work.MusPart[ch]); + } + } + pmdwork.fmsel = fmseltmp; + + } + return PMDWIN_OK; +} + + +//============================================================================= +// FM Volume Down の設定 +//============================================================================= +void PMDWIN::setfmvoldown(int voldown) +{ + open_work.fm_voldown = open_work._fm_voldown = voldown; +} + + +//============================================================================= +// SSG Volume Down の設定 +//============================================================================= +void PMDWIN::setssgvoldown(int voldown) +{ + open_work.ssg_voldown = open_work._ssg_voldown = voldown; +} + + +//============================================================================= +// Rhythm Volume Down の設定 +//============================================================================= +void PMDWIN::setrhythmvoldown(int voldown) +{ + open_work.rhythm_voldown = open_work._rhythm_voldown = voldown; + open_work.rhyvol = 48*4*(256-open_work.rhythm_voldown)/1024; + OPNASetReg(&opna, 0x11, open_work.rhyvol); + +} + + +//============================================================================= +// FM Volume Down の取得 +//============================================================================= +int PMDWIN::getfmvoldown(void) +{ + return open_work.fm_voldown; +} + + +//============================================================================= +// FM Volume Down の取得(その2) +//============================================================================= +int PMDWIN::getfmvoldown2(void) +{ + return open_work._fm_voldown; +} + + +//============================================================================= +// SSG Volume Down の取得 +//============================================================================= +int PMDWIN::getssgvoldown(void) +{ + return open_work.ssg_voldown; +} + + +//============================================================================= +// SSG Volume Down の取得(その2) +//============================================================================= +int PMDWIN::getssgvoldown2(void) +{ + return open_work._ssg_voldown; +} + + +//============================================================================= +// Rhythm Volume Down の取得 +//============================================================================= +int PMDWIN::getrhythmvoldown(void) +{ + return open_work.rhythm_voldown; +} + + +//============================================================================= +// Rhythm Volume Down の取得(その2) +//============================================================================= +int PMDWIN::getrhythmvoldown2(void) +{ + return open_work._rhythm_voldown; +} + + +//============================================================================= +// 再生位置の移動(pos : ms) +//============================================================================= +void PMDWIN::setpos(int pos) +{ + uint64_t _pos; + int us; + + _pos = (uint64_t)pos * 1000; // (ms -> usec への変換) + + if(upos > _pos) { + mstart(); + pos2 = (char *)wavbuf2; // buf に余っているサンプルの先頭位置 + us2 = 0; // buf に余っているサンプル数 + upos = 0; // 演奏開始からの時間(μsec) + } + + while(upos < _pos) { + if(ReadStatus(&opna) & 0x01) { + TimerA_main(); + } + + if(ReadStatus(&opna) & 0x02) { + TimerB_main(); + } + + OPNASetReg(&opna, 0x27, open_work.ch3mode | 0x30); // TIMER RESET(timerA,Bとも) + + us = OPNAGetNextEvent(&opna); + OPNATimerCount(&opna, us); + upos += us; + } + + if(open_work.status2 == -1) { + silence(); + } +} + + +//============================================================================= +// 再生位置の移動(pos : count 単位) +//============================================================================= +void PMDWIN::setpos2(int pos) +{ + int us; + + if(open_work.syousetu_lng * open_work.syousetu + open_work.opncount > pos) { + mstart(); + pos2 = (char *)wavbuf2; // buf に余っているサンプルの先頭位置 + us2 = 0; // buf に余っているサンプル数 + } + + while(open_work.syousetu_lng * open_work.syousetu + open_work.opncount < pos) { + if(ReadStatus(&opna) & 0x01) { + TimerA_main(); + } + + if(ReadStatus(&opna) & 0x02) { + TimerB_main(); + } + + OPNASetReg(&opna, 0x27, open_work.ch3mode | 0x30); // TIMER RESET(timerA,Bとも) + + us = OPNAGetNextEvent(&opna); + OPNATimerCount(&opna, us); + } + + if(open_work.status2 == -1) { + silence(); + } +} + + +//============================================================================= +// 再生位置の取得(pos : ms) +//============================================================================= +int PMDWIN::getpos(void) +{ + return (int)(upos / 1000); +} + + +//============================================================================= +// 再生位置の取得(pos : count 単位) +//============================================================================= +int PMDWIN::getpos2(void) +{ + return open_work.syousetu_lng * open_work.syousetu + open_work.opncount; +} + + +//============================================================================= +// 曲の長さの取得(pos : ms) +//============================================================================= +bool PMDWIN::getlength(uint *length, uint *loop) +{ + int us; + mstart(); + upos = 0; // 演奏開始からの時間(μsec) + *length = 0; + + do { + if(ReadStatus(&opna) & 0x01) { + TimerA_main(); + } + + if(ReadStatus(&opna) & 0x02) { + TimerB_main(); + } + + OPNASetReg(&opna, 0x27, open_work.ch3mode | 0x30); // TIMER RESET(timerA,Bとも) + + us = OPNAGetNextEvent(&opna); + OPNATimerCount(&opna, us); + upos += us; + if(open_work.status2 == 1 && *length == 0) { // ループ時 + *length = (int)(upos / 1000); + } else if(open_work.status2 == -1) { // ループなし終了時 + *length = (int)(upos / 1000); + *loop = 0; + mstop(); + return true; + } else if(getpos2() >= 65536) { // 65536クロック以上なら強制終了 + *length = (int)(upos / 1000); + *loop = *length; + return true; + } + } while(open_work.status2 < 2); + + *loop = (int)(upos / 1000) - *length; + mstop(); + return true; +} + + +//============================================================================= +// ループ回数の取得 +//============================================================================= +int PMDWIN::getloopcount(void) +{ + return open_work.status2; +} + + +//============================================================================= +// OPEN_WORKのポインタの取得 +//============================================================================= +OPEN_WORK* PMDWIN::getopenwork(void) +{ + return &open_work; +} + + +//============================================================================= +// パートワークのポインタの取得 +//============================================================================= +QQ* PMDWIN::getpartwork(unsigned int ch) +{ + if(ch >= sizeof(open_work.MusPart) / sizeof(QQ *)) { + return NULL; + } + return open_work.MusPart[ch]; +} + +PMDWIN* pmdwin; +#ifdef WIN32 +//============================================================================= +// DLL Export Functions +//============================================================================= +BOOL DllMain(HINSTANCE hModule, DWORD ul_reason_for_call, LPVOID lpReserved) +{ + switch (ul_reason_for_call) + { + case DLL_PROCESS_ATTACH: + //DisableThreadLibraryCalls(hModule); + pmdwin = NULL; + break; + + case DLL_THREAD_ATTACH: + break; + + case DLL_THREAD_DETACH: + break; + + case DLL_PROCESS_DETACH: + break; + } + return TRUE; +} +#endif + +#ifdef __cplusplus +extern "C" { +#endif + + +//============================================================================= +// バーション取得 +//============================================================================= +DLLEXPORT int getversion(void) +{ + return DLLVersion; +} + + +//============================================================================= +// 初期化 +//============================================================================= +DLLEXPORT bool pmdwininit(void) +{ + bool result; + + if(pmdwin == NULL) { + //pmdwin = new PMDWIN; +#if defined(WIN32) || defined(WIN64) + pmdwin = (PMDWIN*)VirtualAlloc(NULL, sizeof(PMDWIN), MEM_COMMIT|MEM_RESERVE, PAGE_READWRITE); +#else + pmdwin = (PMDWIN*)mmap(NULL, sizeof(PMDWIN), PROT_READ|PROT_WRITE, + MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0); +#endif + } + result = pmdwin->init(); + return result; +} + + +DLLEXPORT void pmdwinfree(void) +{ +#if defined(WIN32) || defined(WIN64) + VirtualFree(pmdwin, 0, MEM_RELEASE); +#else + munmap(pmdwin, sizeof(PMDWIN)); +#endif +} + + +//============================================================================= +// 合成周波数の設定 +//============================================================================= +DLLEXPORT void setpcmrate(unsigned int rate) +{ + pmdwin->setpcmrate(rate); +} + + +DLLEXPORT void setdevmask(uint8_t mask) +{ + pmdwin->setdevmask(mask); +} + +DLLEXPORT void setchanmask(uint32_t mask) +{ + pmdwin->setchanmask(mask); +} + + +//============================================================================= +// 曲の読み込みその2(メモリから) +//============================================================================= +DLLEXPORT int music_load3(uchar *musdata, int size) +{ + return pmdwin->music_load3(musdata, size); +} + + +//============================================================================= +// 演奏開始 +//============================================================================= +DLLEXPORT void music_start(void) +{ + pmdwin->music_start(); +} + + +//============================================================================= +// 演奏停止 +//============================================================================= +DLLEXPORT void music_stop(void) +{ + pmdwin->music_stop(); +} + + +//============================================================================= +// PCM データ(wave データ)の取得 +//============================================================================= +DLLEXPORT void getpcmdata(short *buf, int nsamples) +{ + pmdwin->getpcmdata(buf, nsamples); +} + + +//============================================================================= +// FM で 55kHz合成、一次補完するかどうかの設定 +//============================================================================= +DLLEXPORT void setfmcalc55k(bool flag) +{ + pmdwin->setfmcalc55k(flag); +} + + +DLLEXPORT unsigned int getstatus(char *buf, size_t bufsize) +{ + return pmdwin->getstatus(buf, bufsize); +} + + +//============================================================================= +// メモの取得 +//============================================================================= +DLLEXPORT char * getmemo(char *dest, uchar *musdata, int size, int al) +{ + return pmdwin->_getmemo(dest, musdata, size, al); +} + + +//============================================================================= +// メモの取得(2バイト半角→半角文字に変換+ESCシーケンスの除去) +//============================================================================= +DLLEXPORT char * getmemo3(char *dest, uchar *musdata, int size, int al) +{ + return pmdwin->_getmemo3(dest, musdata, size, al); +} + + +//============================================================================= +// パートのマスク +//============================================================================= +DLLEXPORT int maskon(unsigned int ch) +{ + return pmdwin->maskon(ch); +} + + +//============================================================================= +// パートのマスク解除 +//============================================================================= +DLLEXPORT int maskoff(unsigned int ch) +{ + return pmdwin->maskoff(ch); +} + + +//============================================================================= +// FM Volume Down の設定 +//============================================================================= +DLLEXPORT void setfmvoldown(int voldown) +{ + pmdwin->setfmvoldown(voldown); +} + + +//============================================================================= +// SSG Volume Down の設定 +//============================================================================= +DLLEXPORT void setssgvoldown(int voldown) +{ + pmdwin->setssgvoldown(voldown); +} + + +//============================================================================= +// Rhythm Volume Down の設定 +//============================================================================= +DLLEXPORT void setrhythmvoldown(int voldown) +{ + pmdwin->setrhythmvoldown(voldown); +} + + +//============================================================================= +// FM Volume Down の取得 +//============================================================================= +DLLEXPORT int getfmvoldown(void) +{ + return pmdwin->getfmvoldown(); +} + + +//============================================================================= +// FM Volume Down の取得(その2) +//============================================================================= +DLLEXPORT int getfmvoldown2(void) +{ + return pmdwin->getfmvoldown2(); +} + + +//============================================================================= +// SSG Volume Down の取得 +//============================================================================= +DLLEXPORT int getssgvoldown(void) +{ + return pmdwin->getssgvoldown(); +} + + +//============================================================================= +// SSG Volume Down の取得(その2) +//============================================================================= +DLLEXPORT int getssgvoldown2(void) +{ + return pmdwin->getssgvoldown2(); +} + + +//============================================================================= +// Rhythm Volume Down の取得 +//============================================================================= +DLLEXPORT int getrhythmvoldown(void) +{ + return pmdwin->getrhythmvoldown(); +} + + +//============================================================================= +// Rhythm Volume Down の取得(その2) +//============================================================================= +DLLEXPORT int getrhythmvoldown2(void) +{ + return pmdwin->getrhythmvoldown2(); +} + + +//============================================================================= +// 再生位置の移動(pos : ms) +//============================================================================= +DLLEXPORT void setpos(int pos) +{ + pmdwin->setpos(pos); +} + + +//============================================================================= +// 再生位置の移動(pos : count 単位) +//============================================================================= +DLLEXPORT void setpos2(int pos) +{ + pmdwin->setpos2(pos); +} + + +//============================================================================= +// 再生位置の取得(pos : ms) +//============================================================================= +DLLEXPORT int getpos(void) +{ + return pmdwin->getpos(); +} + + +//============================================================================= +// 再生位置の取得(pos : count 単位) +//============================================================================= +DLLEXPORT int getpos2(void) +{ + return pmdwin->getpos2(); +} + + +//============================================================================= +// 曲の長さの取得(pos : ms) +//============================================================================= +DLLEXPORT bool getlength(uint *length, uint *loop) +{ + return pmdwin->getlength(length, loop); +} + + +//============================================================================= +// ループ回数の取得 +//============================================================================= +DLLEXPORT int getloopcount(void) +{ + return pmdwin->getloopcount(); +} + + +//============================================================================= +// OPEN_WORKのポインタの取得 +//============================================================================= +DLLEXPORT OPEN_WORK * getopenwork(void) +{ + return pmdwin->getopenwork(); +} + + +//============================================================================= +// パートワークのポインタの取得 +//============================================================================= +DLLEXPORT QQ * getpartwork(unsigned int ch) +{ + return pmdwin->getpartwork(ch); +} + + +#ifdef __cplusplus +} +#endif
new file mode 100644 --- /dev/null +++ b/pmdwin.h @@ -0,0 +1,521 @@ +//============================================================================= +// Professional Music Driver [P.M.D.] version 4.8 +// Programmed By M.Kajihara +// Windows Converted by C60 +//============================================================================= + +#ifndef PMDWIN_H +#define PMDWIN_H + +#include <stdint.h> +#include <stdlib.h> +#include <limits.h> +#include "opna.h" + +typedef unsigned char uchar; +typedef unsigned short ushort; +typedef unsigned int uint; +typedef unsigned long ulong; +#ifndef __cplusplus +typedef unsigned char bool; +#endif +extern const int *const efftbl[]; + +#ifdef __cplusplus +extern "C" { + void lfg_srand(unsigned int seed); + unsigned int lfg_rand(void); +}; +#endif + + +//============================================================================= +// バージョン情報 +//============================================================================= +#define DLLVersion 36 // 上1桁:major, 下2桁:minor version +#define InterfaceVersion 117 // 上1桁:major, 下2桁:minor version + + +//============================================================================= +// DLL の戻り値 +//============================================================================= +#define PMDWIN_OK 0 // 正常終了 +#define ERR_OPEN_MUSIC_FILE 1 // 曲 データを開けなかった +#define ERR_WRONG_MUSIC_FILE 2 // PMD の曲データではなかった +#define ERR_WRONG_PARTNO 30 // パート番号が不適 +//#define ERR_ALREADY_MASKED 31 // 指定パートはすでにマスクされている +#define ERR_NOT_MASKED 32 // 指定パートはマスクされていない +#define ERR_MUSIC_STOPPED 33 // 曲が止まっているのにマスク操作をした +#define ERR_EFFECT_USED 34 // 効果音で使用中なのでマスクを操作できない +#define ERR_OUT_OF_MEMORY 99 // メモリを確保できなかった +#define ERR_OTHER 999 // その他のエラー + + +//---------------------------------------------------------------------------- +// PMDWin専用の定義 +//---------------------------------------------------------------------------- +#define SOUND_55K 55555 +#define SOUND_55K_2 55466 +#define SOUND_48K 48000 +#define SOUND_44K 44100 +#define SOUND_22K 22050 +#define SOUND_11K 11025 +#define DEFAULT_REG_WAIT 15000 +#define MAX_PCMDIR 64 +#define MAX_MEMOBUF 1024 + +//---------------------------------------------------------------------------- +// その他定義 +//---------------------------------------------------------------------------- +//#define nbufsample 30000 +#define nbufsample 8192 +#define OPNAClock (3993600*2) + +#define NumOfFMPart 6 +#define NumOfSSGPart 3 +#define NumOFOPNARhythmPart 1 +#define NumOfAllPart (NumOfFMPart+NumOfSSGPart+NumOFOPNARhythmPart) + +#pragma pack( push, enter_include1 ) +#pragma pack(2) + +typedef struct stereo16bittag +{ + short left; +} Stereo16bit; + +#pragma pack( pop, enter_include1 ) + +//#define ver "4.8o" +//#define vers 0x48 +//#define verc "o" +//#define date "Jun.19th 1997" + +//#define max_part1 22 // 0クリアすべきパート数(for PMDPPZ) +#define max_part2 11 // 初期化すべきパート数 (for PMDPPZ) + +#define mdata_def 64 +#define voice_def 8 +#define effect_def 64 + +#define fmvd_init 0 // 98は88よりもFM音源を小さく + + +/****************************************************************************** +; WORK AREA +******************************************************************************/ +typedef struct PMDworktag { + int partb; // 処理中パート番号 + int tieflag; // &のフラグ(1 : tie) + int volpush_flag; // 次の1音音量down用のflag(1 : voldown) + int rhydmy; // R part ダミー演奏データ + int fmsel; // FM 表(=0)か裏(=0x100)か flag + int omote_key[3]; // FM keyondata表 + int ura_key[3]; // FM keyondata裏 + int loop_work; // Loop Work + bool ppsdrv_flag; // ppsdrv を使用するか?flag(ユーザーが代入) + int lastTimerAtime; // 一個前の割り込み時のTimerATime値 + int music_flag; // B0:次でMSTART 1:次でMSTOP のFlag + int slotdetune_flag; // FM3 Slot Detuneを使っているか + int slot3_flag; // FM3 Slot毎 要効果音モードフラグ + int fm3_alg_fb; // FM3chの最後に定義した音色のalg/fb + int af_check; // FM3chのalg/fbを設定するかしないかflag + int lfo_switch; // 局所LFOスイッチ +} PMDWORK; + + +typedef struct effworktag { + int *effadr; // effect address + int eswthz; // トーンスゥイープ周波数 + int eswtst; // トーンスゥイープ増分 + int effcnt; // effect count + int eswnhz; // ノイズスゥイープ周波数 + int eswnst; // ノイズスゥイープ増分 + int eswnct; // ノイズスゥイープカウント + int effon; // 効果音 発音中 + int psgefcnum; // 効果音番号 +} EFFWORK; + + +// 演奏中のデータエリア +typedef struct qqtag { + uchar *address; // 2 エンソウチュウ ノ アドレス + uchar *partloop; // 2 エンソウ ガ オワッタトキ ノ モドリサキ + int leng; // 1 ノコリ LENGTH + int qdat; // 1 gatetime (q/Q値を計算した値) + uint fnum; // 2 エンソウチュウ ノ BLOCK/FNUM + int detune; // 2 デチューン + int lfodat; // 2 LFO DATA + int porta_num; // 2 ポルタメントの加減値(全体) + int porta_num2; // 2 ポルタメントの加減値(一回) + int porta_num3; // 2 ポルタメントの加減値(余り) + int volume; // 1 VOLUME + int shift; // 1 オンカイ シフト ノ アタイ + int delay; // 1 LFO [DELAY] + int speed; // 1 [SPEED] + int step; // 1 [STEP] + int time; // 1 [TIME] + int delay2; // 1 [DELAY_2] + int speed2; // 1 [SPEED_2] + int step2; // 1 [STEP_2] + int time2; // 1 [TIME_2] + int lfoswi; // 1 LFOSW. B0/tone B1/vol B2/同期 B3/porta + // B4/tone B5/vol B6/同期 + int volpush; // 1 Volume PUSHarea + int mdepth; // 1 M depth + int mdspd; // 1 M speed + int mdspd2; // 1 M speed_2 + int envf; // 1 PSG ENV. [START_FLAG] / -1でextend + int eenv_count; // 1 ExtendPSGenv/No=0 AR=1 DR=2 SR=3 RR=4 + int eenv_ar; // 1 /AR /旧pat + int eenv_dr; // 1 /DR /旧pv2 + int eenv_sr; // 1 /SR /旧pr1 + int eenv_rr; // 1 /RR /旧pr2 + int eenv_sl; // 1 /SL + int eenv_al; // 1 /AL + int eenv_arc; // 1 /ARのカウンタ /旧patb + int eenv_drc; // 1 /DRのカウンタ + int eenv_src; // 1 /SRのカウンタ /旧pr1b + int eenv_rrc; // 1 /RRのカウンタ /旧pr2b + int eenv_volume; // 1 /Volume値(0〜15)/旧penv + int extendmode; // 1 B1/Detune B2/LFO B3/Env Normal/Extend + int fmpan; // 1 FM Panning + AMD + PMD + int psgpat; // 1 PSG PATTERN [TONE/NOISE/MIX] + int voicenum; // 1 音色番号 + int loopcheck; // 1 ループしたら1 終了したら3 + int carrier; // 1 FM Carrier + int slot1; // 1 SLOT 1 ノ TL + int slot3; // 1 SLOT 3 ノ TL + int slot2; // 1 SLOT 2 ノ TL + int slot4; // 1 SLOT 4 ノ TL + int slotmask; // 1 FM slotmask + int neiromask; // 1 FM 音色定義用maskdata + int lfo_wave; // 1 LFOの波形 + int partmask; // 1 PartMask b0:通常 b1:効果音 b2:NECPCM用 + // b3:none b4:PPZ/ADE用 b5:s0時 b6:m b7:一時 + int keyoff_flag; // 1 KeyoffしたかどうかのFlag + int volmask; // 1 音量LFOのマスク + int qdata; // 1 qの値 + int qdatb; // 1 Qの値 + int hldelay; // 1 HardLFO delay + int hldelay_c; // 1 HardLFO delay Counter + int _lfodat; // 2 LFO DATA + int _delay; // 1 LFO [DELAY] + int _speed; // 1 [SPEED] + int _step; // 1 [STEP] + int _time; // 1 [TIME] + int _delay2; // 1 [DELAY_2] + int _speed2; // 1 [SPEED_2] + int _step2; // 1 [STEP_2] + int _time2; // 1 [TIME_2] + int _mdepth; // 1 M depth + int _mdspd; // 1 M speed + int _mdspd2; // 1 M speed_2 + int _lfo_wave; // 1 LFOの波形 + int _volmask; // 1 音量LFOのマスク + int mdc; // 1 M depth Counter (変動値) + int mdc2; // 1 M depth Counter + int _mdc; // 1 M depth Counter (変動値) + int _mdc2; // 1 M depth Counter + int onkai; // 1 演奏中の音階データ (0ffh:rest) + int sdelay; // 1 Slot delay + int sdelay_c; // 1 Slot delay counter + int sdelay_m; // 1 Slot delay Mask + int alg_fb; // 1 音色のalg/fb + int keyon_flag; // 1 新音階/休符データを処理したらinc + int qdat2; // 1 q 最低保証値 + int onkai_def; // 1 演奏中の音階データ (転調処理前 / ?fh:rest) + int shift_def; // 1 マスター転調値 + int qdat3; // 1 q Random +} QQ; + + +typedef struct OpenWorktag { + QQ *MusPart[NumOfAllPart]; // パートワークのポインタ + uchar *mmlbuf; // Musicdataのaddress+1 + uchar *tondat; // Voicedataのaddress + uchar *efcdat; // FM Effecdataのaddress + uchar *prgdat_adr; // 曲データ中音色データ先頭番地 + ushort *radtbl; // R part offset table 先頭番地 + uchar *rhyadr; // R part 演奏中番地 + int rhythmmask; // Rhythm音源のマスク x8c/10hのbitに対応 + int fm_voldown; // FM voldown 数値 + int ssg_voldown; // PSG voldown 数値 + int rhythm_voldown; // RHYTHM voldown 数値 + int prg_flg; // 曲データに音色が含まれているかflag + int status; // status1 + int status2; // status2 + int tempo_d; // tempo (TIMER-B) + int tempo_d_push; // tempo (TIMER-B) / 保存用 + int syousetu_lng; // 小節の長さ + int opncount; // 最短音符カウンタ + int TimerAtime; // TimerAカウンタ + int effflag; // PSG効果音発声on/off flag(ユーザーが代入) + int psnoi; // PSG noise周波数 + int psnoi_last; // PSG noise周波数(最後に定義した数値) + int rshot_dat; // リズム音源 shot flag + int rdat[6]; // リズム音源 音量/パンデータ + int rhyvol; // リズムトータルレベル + int kshot_dat; // SSGリズム shot flag + int play_flag; // play flag + int slot_detune1; // FM3 Slot Detune値 slot1 + int slot_detune2; // FM3 Slot Detune値 slot2 + int slot_detune3; // FM3 Slot Detune値 slot3 + int slot_detune4; // FM3 Slot Detune値 slot4 + int TimerB_speed; // TimerBの現在値(=ff_tempoならff中) + int syousetu; // 小節カウンタ + int port22h; // OPN-PORT 22H に最後に出力した値(hlfo) + int tempo_48; // 現在のテンポ(clock=48 tの値) + int tempo_48_push; // 現在のテンポ(同上/保存用) + int _fm_voldown; // FM voldown 数値 (保存用) + int _ssg_voldown; // PSG voldown 数値 (保存用) + int _rhythm_voldown; // RHYTHM voldown 数値 (保存用) + int ch3mode; // ch3 Mode + int TimerAflag; // TimerA割り込み中?フラグ(@不要?) + int TimerBflag; // TimerB割り込み中?フラグ(@不要?) + + // for PMDWin + int rate; // PCM 出力周波数(11k, 22k, 44k, 55k) + bool fmcalc55k; // FM で 55kHz 合成をするか? +} OPEN_WORK; + +//============================================================================= +// PMDWin class +//============================================================================= + +#ifdef __cplusplus +class PMDWIN +{ +public: + // IPCMMUSICDRIVER + bool init(void); + int music_load3(uchar *musdata, unsigned int size); + void music_start(void); + void music_stop(void); + int getloopcount(void); + bool getlength(uint *length, uint *loop); + int getpos(void); + void setpos(int pos); + void getpcmdata(short *buf, int nsamples); + unsigned int getstatus(char *buf, size_t bufsize); + void setdevmask(uint8_t mask); + void setchanmask(uint32_t mask); + + // IFMPMD + void setpcmrate(unsigned int rate); + void setfmcalc55k(bool flag); + void setpos2(int pos); + int getpos2(void); + + // IPMDWIN + int maskon(unsigned int ch); + int maskoff(unsigned int ch); + void setfmvoldown(int voldown); + void setssgvoldown(int voldown); + void setrhythmvoldown(int voldown); + int getfmvoldown(void); + int getfmvoldown2(void); + int getssgvoldown(void); + int getssgvoldown2(void); + int getrhythmvoldown(void); + int getrhythmvoldown2(void); + char* _getmemo(char *dest, uchar *musdata, int size, int al); + char* _getmemo3(char *dest, uchar *musdata, int size, int al); + char* getmemo(char *dest, uchar *musdata, int size, int al); + char* getmemo3(char *dest, uchar *musdata, int size, int al); + OPEN_WORK* getopenwork(void); + QQ* getpartwork(unsigned int ch); + +private: + OPNA opna; + + OPEN_WORK open_work; + QQ FMPart[NumOfFMPart], SSGPart[NumOfSSGPart], RhythmPart; + + PMDWORK pmdwork; + EFFWORK effwork; + Stereo16bit wavbuf2[nbufsample]; + + char *pos2; // buf に余っているサンプルの先頭位置 + int us2; // buf に余っているサンプル数 + uint64_t upos; // 演奏開始からの時間(μs) + uchar mdataarea[mdata_def*1024]; + uchar pmdstatus[9]; + +protected: + int uRefCount; // 参照カウンタ + void opnint_start(void); + void data_init(void); + void opn_init(void); + void mstop(void); + void mstop_f(void); + void silence(void); + void mstart(void); + void mstart_f(void); + void play_init(void); + void setint(void); + void calc_tb_tempo(void); + void calc_tempo_tb(void); + void settempo_b(void); + void TimerA_main(void); + void TimerB_main(void); + void mmain(void); + void syousetu_count(void); + void fmmain(QQ *qq); + void psgmain(QQ *qq); + void rhythmmain(QQ *qq); + uchar *rhythmon(QQ *qq, uchar *bx, int al, int *result); + void eff_main(int al); + void effplay(void); + void efffor(const int *si); + void effend(void); + void effsweep(void); + + int silence_fmpart(QQ *qq); + void keyoff(QQ *qq); + void keyoffp(QQ *qq); + void kof1(QQ *qq); + int ssgdrum_check(QQ *qq, int al); + uchar *commands(QQ *qq, uchar *si); + uchar *commandsp(QQ *qq, uchar *si); + uchar *commandsr(QQ *qq, uchar *si); + uchar *special_0c0h(QQ *qq, uchar *si, uchar al); + uchar *_vd_fm(QQ *qq, uchar *si); + uchar *_vd_ssg(QQ *qq, uchar *si); + uchar *_vd_rhythm(QQ *qq, uchar *si); + uchar *comt(uchar *si); + uchar *comat(QQ *qq, uchar *si); + uchar *comatm(QQ *qq, uchar *si); + uchar *comstloop(QQ *qq, uchar *si); + uchar *comedloop(QQ *qq, uchar *si); + uchar *comexloop(QQ *qq, uchar *si); + uchar *extend_psgenvset(QQ *qq, uchar *si); + void lfoinit(QQ *qq, int al); + void lfoinitp(QQ *qq, int al); + uchar *lfoset(QQ *qq, uchar *si); + uchar *psgenvset(QQ *qq, uchar *si); + uchar *rhykey(uchar *si); + uchar *rhyvs(uchar *si); + uchar *rpnset(uchar *si); + uchar *rmsvs(uchar *si); + uchar *rmsvs_sft(uchar *si); + uchar *rhyvs_sft(uchar *si); + + uchar *vol_one_up_psg(QQ *qq, uchar *si); + uchar *vol_one_down(QQ *qq, uchar *si); + uchar *portap(QQ *qq, uchar *si); + uchar *psgnoise_move(uchar *si); + uchar *mdepth_count(QQ *qq, uchar *si); + uchar *toneadr_calc(QQ *qq, int dl); + void neiroset(QQ *qq, int dl); + + int oshift(QQ *qq, int al); + int oshiftp(QQ *qq, int al); + void fnumset(QQ *qq, int al); + void fnumsetp(QQ *qq, int al); + uchar *panset(QQ *qq, uchar *si); + uchar *panset_ex(QQ *qq, uchar *si); + void panset_main(QQ *qq, int al); + uchar calc_panout(QQ *qq); + uchar *calc_q(QQ *qq, uchar *si); + void fm_block_calc(int *cx, int *ax); + int ch3_setting(QQ *qq); + void cm_clear(int *ah, int *al); + void ch3mode_set(QQ *qq); + void ch3_special(QQ *qq, int ax, int cx); + void volset(QQ *qq); + void volsetp(QQ *qq); + void otodasi(QQ *qq); + void otodasip(QQ *qq); + void keyon(QQ *qq); + void keyonp(QQ *qq); + int lfo(QQ *qq); + uchar *lfoswitch(QQ *qq, uchar *si); + void lfoinit_main(QQ *qq); + void lfo_change(QQ *qq); + void lfo_exit(QQ *qq); + void lfin1(QQ *qq); + void lfo_main(QQ *qq); + void fmlfo_sub(QQ *qq, int al, int bl, uchar *vol_tbl); + void volset_slot(int dh, int dl, int al); + void porta_calc(QQ *qq); + int soft_env(QQ *qq); + int soft_env_main(QQ *qq); + int soft_env_sub(QQ *qq); + int ext_ssgenv_main(QQ *qq); + void esm_sub(QQ *qq, int ah); + void md_inc(QQ *qq); + + uchar *hlfo_set(QQ *qq, uchar *si); + uchar *vol_one_up_fm(QQ *qq, uchar *si); + uchar *porta(QQ *qq, uchar *si); + uchar *slotmask_set(QQ *qq, uchar *si); + uchar *slotdetune_set(QQ *qq, uchar *si); + uchar *slotdetune_set2(QQ *qq, uchar *si); + uchar *volmask_set(QQ *qq, uchar *si); + uchar *fm_mml_part_mask(QQ *qq, uchar *si); + uchar *ssg_mml_part_mask(QQ *qq, uchar *si); + uchar *rhythm_mml_part_mask(QQ *qq, uchar *si); + uchar *_lfoswitch(QQ *qq, uchar *si); + uchar *_volmask_set(QQ *qq, uchar *si); + uchar *tl_set(QQ *qq, uchar *si); + uchar *fb_set(QQ *qq, uchar *si); + void neiro_reset(QQ *qq); + void swap(int *a, int *b); +}; +#endif + +//============================================================================ +// DLL Export Functions +//============================================================================ + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef WIN32 +#define DLLEXPORT __declspec(dllexport) +#else +#define DLLEXPORT +#endif + +DLLEXPORT int getversion(void); +DLLEXPORT bool pmdwininit(void); +DLLEXPORT void pmdwinfree(void); +DLLEXPORT void setpcmrate(unsigned int rate); +DLLEXPORT int music_load3(uchar *musdata, int size); +DLLEXPORT void music_start(void); +DLLEXPORT void music_stop(void); +DLLEXPORT void getpcmdata(short *buf, int nsamples); +DLLEXPORT void setfmcalc55k(bool flag); +DLLEXPORT unsigned int getstatus(char *buf, size_t bufsize); +DLLEXPORT void setdevmask(uint8_t mask); +DLLEXPORT void setchanmask(uint32_t mask); +DLLEXPORT char * getmemo(char *dest, uchar *musdata, int size, int al); +DLLEXPORT char * getmemo3(char *dest, uchar *musdata, int size, int al); +DLLEXPORT int maskon(unsigned int ch); +DLLEXPORT int maskoff(unsigned int ch); +DLLEXPORT void setfmvoldown(int voldown); +DLLEXPORT void setssgvoldown(int voldown); +DLLEXPORT void setrhythmvoldown(int voldown); +DLLEXPORT int getfmvoldown(void); +DLLEXPORT int getfmvoldown2(void); +DLLEXPORT int getssgvoldown(void); +DLLEXPORT int getssgvoldown2(void); +DLLEXPORT int getrhythmvoldown(void); +DLLEXPORT int getrhythmvoldown2(void); +DLLEXPORT void setpos(int pos); +DLLEXPORT void setpos2(int pos); +DLLEXPORT int getpos(void); +DLLEXPORT int getpos2(void); +DLLEXPORT bool getlength(uint *length, uint *loop); +DLLEXPORT int getloopcount(void); +DLLEXPORT OPEN_WORK * getopenwork(void); +DLLEXPORT QQ * getpartwork(unsigned int ch); + +#ifdef __cplusplus +} +#endif + + +#endif // PMDWIN_H
new file mode 100644 --- /dev/null +++ b/table.c @@ -0,0 +1,1078 @@ +//============================================================================= +// Professional Music Driver [P.M.D.] version 4.8 +// Constant Tables +// Programmed By M.Kajihara +// Windows Converted by C60 +//============================================================================= + +/****************************************************************************** +; SSG Effect Table +******************************************************************************/ + +static const int D_000[] = { // Bass Drum 1990-06-22 05:47:11 + 1,220, 5, 31, 54, 15, 0, 0, 0,127, 0, + 8,164, 6, 0, 62, 16,176, 4, 0,127, 0, + -1 +}; + +static const int D_001[] = { // Snare Drum 1990-06-22 05:48:06 + 14,144, 1, 7, 54, 16,184, 11, 0, 93,-14, + -1 +}; + +static const int D_002[] = { // Low Tom 1990-06-22 05:49:19 + 2,188, 2, 0, 54, 15, 0, 0, 0,100, 0, + 14,132, 3, 0, 54, 16,196, 9, 0,100, 0, + -1 +}; + +static const int D_003[] = { // Middle Tom 1990-06-22 05:50:23 + 2,244, 1, 5, 54, 15, 0, 0, 0, 60, 0, + 14,108, 2, 0, 54, 16,196, 9, 0, 60, 0, + -1 +}; + +static const int D_004[] = { // High Tom 1990-06-22 05:51:13 + 2, 44, 1, 0, 54, 15, 0, 0, 0, 50, 0, + 14,144, 1, 0, 54, 16,196, 9, 0, 50, 0, + -1 +}; + +static const int D_005[] = { // Rim Shot 1990-06-22 05:51:57 + 2, 55, 0, 0, 62, 16, 44, 1, 0,100, 0, + -1 +}; +static const int D_006[] = { // Snare Drum 2 1990-06-22 05:52:36 + 16, 0, 0, 15, 55, 16,184, 11, 0, 0,-15, + -1 +}; + +static const int D_007[] = { // Hi-Hat Close 1990-06-22 05:53:10 + 6, 39, 0, 0, 54, 16,244, 1, 0, 0, 0, + -1 +}; + +static const int D_008[] = { // Hi-Hat Open 1990-06-22 05:53:40 + 32, 39, 0, 0, 54, 16,136, 19, 0, 0, 0, + -1 +}; + +static const int D_009[] = { // Crush Cymbal 1990-06-22 05:54:11 + 31, 40, 0, 31, 54, 16,136, 19, 0, 0,-15, + -1 +}; + +static const int D_010[] = { // Ride Cymbal 1990-06-22 05:54:38 + 31, 30, 0, 0, 54, 16,136, 19, 0, 0, 0, + -1 +}; + +// Effect for 電撃MIX + +static const int DM_001[] = { // syuta 1994-05-25 23:13:02 + 3,221, 1, 15, 55, 16,232, 3, 0, 0,113, + 2,221, 1, 0, 55, 16,232, 3, 0, 0, 0, + -1 +}; + +static const int DM_002[] = { // Au 1994-05-25 23:13:07 + 1, 44, 1, 0, 62, 16, 44, 1, 13, 0, 0, + 6, 44, 1, 0, 62, 16, 16, 39, 0, 80, 0, + -1 +}; + +static const int DM_003[] = { // syuba 1994-05-25 23:13:25 + 4,221, 1, 0, 55, 14, 16, 39, 0, 0, 81, + 4,221, 1, 10, 55, 16,208, 7, 0, 0,-15, + -1 +}; + +static const int DM_004[] = { // syu 1994-05-25 23:17:51 + 3,221, 1, 0, 55, 16,244, 1, 13, 0, 0, + 8,221, 1, 15, 55, 16,208, 7, 0, 0, 0, + -1 +}; + +static const int DM_005[] = { // sya- 1994-05-25 23:19:01 + 3,221, 1, 10, 55, 16,100, 0, 13, 0, 0, + 16,221, 1, 5, 55, 16, 16, 39, 0, 0, 0, + -1 +}; + +static const int DM_006[] = { // po 1994-05-25 23:13:32 + 2,144, 1, 0, 62, 16,244, 1, 0, 0, 0, + -1 +}; + +static const int DM_007[] = { // tattu 1994-05-25 23:13:37 + 4,221, 1, 15, 55, 16,232, 3, 0, 0, 0, + -1 +}; + +static const int DM_008[] = { // zusyau 1994-05-25 23:13:42 + 2,221, 1, 31, 55, 15, 16, 39, 0, 0, 0, + 12,221, 1, 0, 55, 16,136, 19, 0, 0, 17, + -1 +}; + +static const int DM_009[] = { // piro 1994-05-25 23:20:41 + 2,144, 1, 0, 62, 16,232, 3, 0, 0, 0, + 2,200, 0, 0, 62, 16,232, 3, 0, 0, 0, + -1 +}; + +static const int DM_010[] = { // piron 1994-05-25 23:20:26 + 4,144, 1, 0, 62, 16,208, 7, 0, 0, 0, + 8,200, 0, 0, 62, 16,184, 11, 0, 0, 0, + -1 +}; + +static const int DM_011[] = { // pirorironn 1994-05-25 23:21:50 + 3,144, 1, 0, 62, 16,208, 7, 0, 0, 0, + 3,100, 0, 0, 62, 16,208, 7, 0, 0, 0, + 3,200, 0, 0, 62, 16,208, 7, 0, 0, 0, + 3,144, 1, 0, 62, 16,208, 7, 0, 0, 0, + 8,100, 0, 0, 62, 16,184, 11, 0, 0, 0, + -1 +}; + +static const int DM_012[] = { // buu 1994-05-25 23:23:10 + 16,208, 7, 0, 62, 15, 16, 39, 0, 0, 0, + -1 +}; + +static const int DM_013[] = { // babon 1994-05-25 23:15:40 + 4,221, 1, 31, 55, 16,136, 19, 0, 0, 0, + 8,221, 1, 31, 54, 16,184, 11, 0,127,-15, + -1 +}; + +static const int DM_014[] = { // basyu- 1994-05-25 23:15:44 + 4,221, 1, 25, 55, 16,208, 7, 0, 0, 0, + 32,221, 1, 20, 55, 16,112, 23, 0, 0, 19, + -1 +}; + +static const int DM_015[] = { // poun 1994-05-25 23:15:27 + 6,200, 0, 0, 54, 16,136, 19, 0, 20, 0, + -1 +}; + +static const int DM_016[] = { // pasyu 1994-05-25 23:22:59 + 4, 40, 0, 20, 54, 16, 16, 39, 0, 20, 0, + 16, 20, 0, 5, 54, 16,136, 19, 0, 0, 0, + -1 +}; + +static const int DM_017[] = { // KON 1994-05-25 23:16:07 + 6, 88, 2, 0, 62, 16,232, 3, 0, 0, 0, + -1 +}; + +static const int DM_018[] = { // dosun 1994-05-25 23:23:57 + 4,232, 3, 0, 62, 16, 16, 39, 0,127, 0, + 16,221, 1, 0, 54, 16, 16, 39, 0, 64, 0, + -1 +}; + +static const int DM_019[] = { // zu 1994-05-25 23:24:59 + 4,232, 3, 31, 54, 15, 16, 39, 0, 0, 0, + -1 +}; + +static const int DM_020[] = { // go 1994-05-25 23:24:43 + 4,255, 15, 31, 54, 15, 16, 39, 0, 0, 0, + -1 +}; + +static const int DM_021[] = { // poyon 1994-05-25 23:26:17 + 4,221, 1, 0, 62, 16,232, 3, 0,-50, 0, + 16,242, 0, 0, 62, 16,112, 23, 0, -8, 0, + -1 +}; + +static const int DM_022[] = { // katun 1994-05-25 23:27:10 + 4,100, 0, 0, 62, 16,244, 1, 0, 0, 0, + 4, 10, 0, 0, 54, 16,232, 3, 0, 0, 0, + -1 +}; + +static const int DM_023[] = { // syupin 1994-05-25 23:28:18 + 8,221, 1, 5, 55, 16,244, 1, 13, 0, 0, + 24, 30, 0, 0, 54, 16, 16, 39, 0, 0, 0, + -1 +}; + +static const int DM_024[] = { // 1UP 1994-05-25 23:16:52 + 4, 44, 1, 0, 62, 16,136, 19, 0, 0, 0, + 4,180, 0, 0, 62, 16,136, 19, 0, 0, 0, + 4,200, 0, 0, 62, 16,136, 19, 0, 0, 0, + 24,150, 0, 0, 62, 16,136, 19, 0, 0, 0, + -1 +}; + +static const int DM_025[] = { // PI 1994-05-25 23:16:35 + 3,238, 0, 0, 62, 14,208, 7, 0, 0, 0, + -1 +}; + +static const int DM_026[] = { // pikon 1994-05-25 23:29:19 + 4,200, 0, 0, 62, 16,136, 19, 0, 0, 0, + 16,100, 0, 0, 62, 16,136, 19, 0, 0, 0, + -1 +}; + +static const int DM_027[] = { // pyuu 1994-05-25 23:30:33 + 16, 0, 0, 0, 54, 16,244, 1, 13, 1, 17, + 16, 16, 0, 16, 54, 16,124, 21, 0, 1, 17, + -1 +}; + +static const int DM_028[] = { // PI 1994-05-25 23:16:24 + 1,200, 0, 0, 62, 14,232, 3, 0, 0, 0, + -1 +}; + +static const int DM_029[] = { // click 1994-05-25 23:14:24 + 2,200, 0, 0, 62, 16, 32, 3, 0, 0, 0, + 2,100, 0, 0, 62, 16, 32, 3, 0, 0, 0, + 2, 50, 0, 0, 62, 16, 32, 3, 0, 0, 0, + 2, 25, 0, 0, 62, 16, 32, 3, 0, 0, 0, + -1 +}; + + +// Effect for Rusty + +static const int RS_006[] = { // batan 1993-01-08 01:44:30 + 2,221, 1, 31, 55, 16,232, 3, 0, 0, 0, + 6,221, 1, 10, 55, 16,208, 7, 0, 0, 17, + -1 +}; + +static const int RS_007[] = { // dodonn 1993-01-08 01:39:10 + 4,232, 3, 15, 54, 16, 16, 39, 0,127, 0, + 16,244, 1, 5, 54, 16,136, 19, 0,127,-13, + -1 +}; + +static const int RS_009[] = { // kisya- 1993-01-08 01:39:47 + 4, 40, 0, 20, 54, 16, 16, 39, 0, 20, 0, + 24, 20, 0, 5, 54, 16, 16, 39, 0, 1, 0, + -1 +}; + +static const int RS_010[] = { // bofu 1993-01-08 01:45:38 + 4,232, 3, 0, 54, 15, 16, 39, 0,127, 0, + 32, 10, 0, 10, 55, 16,112, 23, 0, 0,-13, + -1 +}; + +static const int RS_011[] = { // gogogogo-- 1993-06-29 12:27:41 + 96,255, 15, 31, 54, 16, 96,234, 0, 0, 0, + -1 +}; + +static const int RS_012[] = { // karakara 1993-06-29 12:16:36 + 64, 10, 0, 0, 54, 16, 32, 78, 0, 0,-127, + -1 +}; + +static const int RS_013[] = { // buonn 1993-01-08 01:47:56 + 8,208, 7, 0, 62, 16,144, 1, 13, 0, 0, + 8,208, 7, 0, 62, 16,208, 7, 0, 0, 0, + -1 +}; + +static const int RS_015[] = { // tyattu 1993-01-08 01:49:27 + 4, 20, 0, 8, 54, 16,184, 11, 0, 0,-31, + -1 +}; + +static const int RS_018[] = { // zu 1993-01-08 01:51:05 + 4,208, 7, 30, 54, 16,160, 15, 0, 0, 0, + -1 +}; + +static const int RS_019[] = { // saaaa 1993-06-29 12:28:05 + 60,221, 1, 4, 55, 10, 16, 39, 0, 0, 0, + -1 +}; + +static const int RS_020[] = { // za 1993-01-08 01:52:35 + 6,221, 1, 16, 55, 16,136, 19, 0, 0, 0, + -1 +}; + +static const int RS_021[] = { // TYARIN 1993-06-29 12:29:19 + 4, 40, 0, 0, 54, 15, 16, 39, 0, 0, 0, + 8, 30, 0, 0, 62, 16,208, 7, 0, 0, 0, + -1 +}; + +static const int RS_022[] = { // SYUWAWA 1993-06-29 12:35:38 + 48,100, 0, 0, 55, 16,136, 19, 13, -1, 33, + 12, 50, 0, 0, 55, 13,136, 19, 0, 0, 33, + 12,221, 1, 0, 55, 12, 16, 39, 0, 0, 33, + 12,221, 1, 0, 55, 11, 16, 39, 0, 0, 33, + 12,221, 1, 0, 55, 10, 16, 39, 0, 0, 33, + 12,221, 1, 0, 55, 9, 16, 39, 0, 0, 33, + -1 +}; + +static const int RS_024[] = { // PIN 1993-06-29 12:36:42 + 6,100, 0, 0, 62, 16,232, 3, 0, 0, 0, + -1 +}; + +static const int RS_026[] = { // KAMINARI 1993-06-29 12:42:57 + 4, 23, 0, 31, 55, 16,208, 7, 0, 0, 0, + 64, 15, 0, 31, 55, 16,152, 58, 0, 0, 0, + -1 +}; + +static const int RS_027[] = { // PI 1993-06-29 12:44:03 + 3,238, 0, 0, 62, 14,208, 7, 0, 0, 0, + -1 +}; + +static const int RS_028[] = { // KEIKOKU 1993-06-29 12:46:13 + 7, 44, 1, 0, 62, 16,160, 15, 0, 0, 0, + 7, 44, 1, 0, 62, 16,208, 7, 0, 0, 0, + 48, 44, 1, 0, 62, 16, 16, 39, 0, 0, 0, + -1 +}; + +static const int RS_029[] = { // ETC 1 1993-06-29 12:46:54 + 96,208, 7, 0, 62, 16, 16, 39, 0,-20, 0, + -1 +}; + +static const int RS_030[] = { // BUFOFOFO 1993-06-29 12:58:12 + 8,208, 7, 0, 62, 16, 16, 39, 0,-80, 0, + 8, 8, 7, 0, 62, 16, 16, 39, 0,-80, 0, + 8, 64, 6, 0, 62, 16, 16, 39, 0,-80, 0, + 48,120, 5, 0, 62, 16, 16, 39, 0,-70, 0, + -1 +}; + +static const int RS_031[] = { // ETC 3 1993-06-29 12:49:32 + 8,232, 3, 0, 62, 16, 16, 39, 0, 80, 0, + 8,176, 4, 0, 62, 16, 16, 39, 0, 80, 0, + 8, 20, 5, 0, 62, 16, 16, 39, 0, 80, 0, + 48,120, 5, 0, 62, 16, 16, 39, 0, 80, 0, + -1 +}; + +static const int RS_032[] = { // ETC 4 1993-06-29 12:50:11 + 96, 0, 0, 0, 62, 16, 16, 39, 0,-128, 0, + -1 +}; + +static const int RS_033[] = { // HADE BOMB 1993-06-29 12:52:06 + 4,100, 0, 31, 54, 16,208, 7, 0,127, 0, + 32, 0, 0, 31, 54, 16, 16, 39, 0,127,-127, + -1 +}; + +static const int RS_035[] = { // JARARAN 1993-06-29 13:02:17 + 2,244, 1, 20, 54, 16, 16, 39, 0, -4, 0, + 2,144, 1, 15, 54, 16, 16, 39, 0, -4, 65, + 2, 44, 1, 10, 62, 16, 16, 39, 0, -4, 65, + 2,200, 0, 5, 54, 16, 16, 39, 0, -4, 65, + 16,150, 0, 0, 62, 16,184, 11, 0, 0, 0, + -1 +}; + +// Effect for ポゼッショナー + +static const int PO_011[] = { // Rain fall 1990-06-22 05:55:43 + 254,221, 1, 3, 55, 10, 16, 39, 0, 0, 0, + -1 +}; + +static const int PO_012[] = { // Spinner 1990-06-22 05:57:18 + 24,140, 0, 0, 62, 16, 88, 27, 0, 14, 0, + -1 +}; + +static const int PO_013[] = { // Kaminari 1990-06-22 05:59:16 + 48,160, 15, 31, 54, 16, 16, 39, 0, 0, 1, + -1 +}; + +static const int PO_014[] = { // Sairen 1990-06-22 06:00:45 + 31,100, 0, 0, 62, 16, 88, 27, 0, -1, 0, + -1 +}; + +static const int PO_015[] = { // Door Shut 1990-06-22 06:03:28 + 6,221, 1, 8, 55, 16,184, 11, 0, 0,-15, + 8,144, 1, 0, 54, 16,144, 1, 13,-40, 0, + -1 +}; + +static const int PO_016[] = { // Kiteki 1990-06-22 06:05:23 + 96,160, 15, 0, 62, 16, 48,117, 0, 0, 0, + -1 +}; + +static const int PO_017[] = { // Ship Bomb 1990-06-22 06:06:54 + 4,221, 1, 31, 55, 16,208, 7, 0, 0, 0, + 64,221, 1, 20, 55, 16, 16, 39, 0, 0, 0, + -1 +}; + +static const int PO_018[] = { // Spinner 2 1990-06-22 06:08:08 + 64,120, 0, 0, 54, 16, 16, 39, 0, 2, 0, + -1 +}; + +static const int PO_019[] = { // Helli 1990-06-22 06:09:58 + 4,221, 1, 4, 55, 16,208, 7, 0, 0, 0, + 4,221, 1, 0, 55, 16,208, 7, 0, 0, 0, + 4,221, 1, 4, 55, 16,232, 3, 0, 0, 0, + 4,221, 1, 0, 55, 16,232, 3, 0, 0, 0, + -1 +}; + +static const int PO_020[] = { // Kinzoku Sagyou 1990-06-22 07:23:41 + 16, 30, 0, 5, 54, 16,160, 15, 0, 0, 0, + -1 +}; + +static const int PO_021[] = { // Kaze (DAME) 1990-06-22 06:13:46 + 16,220, 5, 0, 62, 15, 16, 39, 0, 0, 0, + 8,220, 5, 0, 62, 15, 16, 39, 0,-10, 0, + 48,140, 5, 0, 62, 16, 16, 39, 0, 10, 0, + -1 +}; + +static const int PO_022[] = { // Taikushitu Soto 1990-06-22 06:15:55 + 4,160, 15, 31, 54, 16,184, 11, 0, 0, 0, + 24,184, 11, 8, 54, 16,136, 19, 0, 40, 20, + -1 +}; + +static const int PO_023[] = { // Punch 1990-06-22 06:17:13 + 4,160, 15, 31, 54, 16,208, 7, 0, 10, 0, + 8,221, 1, 28, 54, 16,208, 7, 0,127, 0, + -1 +}; + +static const int PO_024[] = { // Shower 1990-06-22 06:19:08 + 254, 0, 0, 0, 55, 10, 0, 0, 0, 0, 0, + -1 +}; + +static const int PO_025[] = { // Shokki 1990-06-22 06:22:14 + 6, 31, 0, 4, 54, 16,232, 3, 0, 0, 0, + 8, 30, 0, 0, 54, 16,232, 3, 0, 0, 0, + -1 +}; + +static const int PO_026[] = { // Tobikomi 1990-06-22 06:24:09 + 8,220, 5, 25, 54, 16,184, 11, 0,127, 0, + 48,221, 1, 10, 55, 16, 64, 31, 0, 0, 18, + -1 +}; + +static const int PO_027[] = { // Air Fukidasi 1990-06-22 06:25:35 + 4,208, 7, 0, 55, 16,208, 7, 0, 0, 0, + 48,221, 1, 4, 55, 16, 16, 39, 0, 0, 20, + -1 +}; + +static const int PO_028[] = { // Heavy Door Open 1990-06-22 07:23:33 + 48,208, 7, 31, 54, 16,152, 58, 0, -5, 0, + -1 +}; + +static const int PO_029[] = { // Car Door Shut 1990-06-22 07:23:30 + 16,232, 3, 31, 54, 16,184, 11, 0,127, 0, + -1 +}; + +static const int PO_030[] = { // Car Come'in 1990-06-22 06:30:31 + 4,160, 15, 31, 54, 15, 16, 39, 0, 0, 0, + 96,160, 15, 28, 54, 16, 32, 78, 0, 0, 0, + -1 +}; + +static const int PO_031[] = { // Ice Hikkaki 1990-06-22 06:31:26 + 2, 10, 0, 0, 54, 16,244, 1, 0, 0, 0, + 2, 20, 0, 0, 54, 16,244, 1, 0, 0, 0, + -1 +}; + +static const int PO_032[] = { // Ship Crush Down 1990-06-22 07:23:23 + 64,160, 15, 20, 54, 16, 48,117, 0, 1, 22, + 192,221, 1, 31, 55, 16, 48,117, 0, 0, 0, + -1 +}; + +static const int PO_033[] = { // Toraware 1990-06-22 06:35:02 + 32,232, 3, 0, 54, 16, 64, 31, 0, 0, 0, + -1 +}; + +static const int PO_034[] = { // Sekizou Break 1990-06-22 06:36:14 + 4,221, 1, 31, 55, 15, 16, 39, 0, 0, 0, + 64,221, 1, 10, 55, 16, 16, 39, 0, 0, 18, + -1 +}; + +static const int PO_035[] = { // Blaster Shot 1990-06-22 06:37:55 + 4,221, 1, 31, 55, 16,184, 11, 0, 0, 0, + 4,160, 15, 20, 54, 16,184, 11, 0, 20, 0, + 64, 0, 0, 4, 54, 16, 16, 39, 0, 1, 20, + -1 +}; + +static const int PO_036[] = { // Seifuku Yabuki 1990-06-22 06:39:58 + 16,221, 1, 4, 55, 14, 16, 39, 0, 0, 0, + -1 +}; + +static const int PO_037[] = { // Miminari 1990-06-22 06:42:13 + 4, 8, 0, 0, 62, 16, 1, 0, 8, 0, 0, + 64, 0, 0, 0, 62, 16, 64, 31, 0, 1, 0, + -1 +}; + +static const int PO_038[] = { // Sekizou Ayasige 1990-06-22 06:44:23 + 40,160, 15, 0, 62, 16,232,253, 0,-10, 0, + 50, 16, 14, 0, 62, 16, 32, 78, 0, 10, 0, + -1 +}; + +static const int PO_039[] = { // Voiler & Engine 1990-06-22 07:23:14 + 60,221, 1, 30, 55, 14, 48,117, 0, 0,-14, + 16,184, 11, 2, 55, 16,112, 23, 0, 40, 17, + -1 +}; + +static const int PO_040[] = { // Suimen 1990-06-22 06:47:58 + 4, 10, 0, 4, 54, 16,232, 3, 0, 0, 0, + 6,221, 1, 0, 55, 16,208, 7, 0, 0, 0, + -1 +}; + +static const int PO_041[] = { // Kika 1990-06-22 06:48:29 + 64,221, 1, 0, 55, 16, 16, 39, 0, 0, 20, + -1 +}; + +static const int PO_042[] = { // Change Kakyuu 1990-06-22 06:50:00 + 48,232, 3, 0, 62, 16, 16, 39, 0, 10, 0, + -1 +}; + +static const int PO_043[] = { // Change Blue 1990-06-22 06:51:47 + 15,100, 0, 0, 62, 16,232, 3, 14, -4, 0, + -1 +}; + +static const int PO_044[] = { // Youma Funsyutu 1990-06-22 06:54:06 + 6,221, 1, 4, 55, 16,208, 7, 0, 0, 0, + 4,100, 0, 4, 54, 16,160, 15, 0,-20, 0, + 64,221, 1, 8, 55, 16, 64, 31, 0, 0,-10, + -1 +}; + +static const int PO_045[] = { // Kekkai 1990-06-22 07:23:06 + 128,232, 3, 31, 54, 16, 48,117, 0, 1,-14, + -1 +}; + +static const int PO_046[] = { // Gosintou 1 1990-06-22 06:56:47 + 4, 20, 0, 0, 54, 16,232, 3, 0, 0, 0, + -1 +}; + +static const int PO_047[] = { // Gosintou 2 1990-06-22 06:58:25 + 8,208, 7, 0, 62, 16,232, 3, 13,-10, 0, + 64,208, 7, 0, 62, 16, 16, 39, 0, 2, 0, + -1 +}; + +static const int PO_048[] = { // Gosintou 3 1990-06-22 07:00:22 + 8,221, 1, 0, 55, 16, 32, 3, 13, 0, 17, + 16,221, 1, 0, 55, 16,208, 7, 0, 0, 17, + -1 +}; + +static const int PO_049[] = { // Hand Blaster 1990-06-22 07:01:53 + 4,160, 15, 31, 54, 16,184, 11, 0, 0, 0, + 4, 40, 0, 0, 54, 16,232, 3, 0,-10, 0, + 64,221, 1, 0, 55, 16, 16, 39, 0, 0, 18, + -1 +}; + +static const int PO_050[] = { // Magic 1990-06-22 07:04:00 + 4, 32, 0, 0, 62, 16,208, 7, 0, 0, 0, + 24, 32, 0, 0, 54, 16, 64, 31, 0, -1, 0, + 90,160, 15, 31, 54, 16, 48,117, 0,-40,-12, + -1 +}; + +static const int PO_051[] = { // Grabiton 1 1990-06-22 07:04:41 + 4,221, 1, 31, 55, 16, 16, 39, 0, 0, 0, + 31,221, 1, 0, 55, 16, 16, 39, 0, 0, 17, + -1 +}; + +static const int PO_052[] = { // Grabiton 2 1990-06-22 07:05:10 + 128,160, 15, 31, 54, 16, 48,117, 0, 0, 0, + -1 +}; + +static const int PO_053[] = { // Attack Kakyuu 1990-06-22 07:06:38 + 4,160, 15, 31, 54, 16, 16, 39, 0, 0, 0, + 16,221, 1, 0, 55, 16,112, 23, 0, 0, 0, + -1 +}; + +static const int PO_054[] = { // Attack Blue(TEKITOU) 1990-06-22 07:08:33 + 6,100, 0, 0, 54, 16,244, 1, 13, -5, 0, + 16, 70, 0, 0, 54, 16,112, 23, 0,127, 0, + -1 +}; + +static const int PO_055[] = { // Attack Red 1990-06-22 07:10:10 + 20,184, 11, 0, 54, 14, 16, 39, 0,-100, 0, + 16,232, 3, 0, 54, 16,112, 23, 0,100, 0, + -1 +}; + +static const int PO_056[] = { // Attack White 1990-06-22 07:11:16 + 4, 0, 0, 4, 54, 16, 16, 39, 0,127,-15, + 16, 0, 0, 0, 54, 16,112, 23, 0, 10, 17, + -1 +}; + +static const int PO_057[] = { // Attack Black 1990-06-22 07:22:10 + 4,200, 0, 4, 54, 16,208, 7, 0,127, 17, + 10, 0, 0, 0, 54, 16, 88, 2, 13, 1, 0, + 24, 10, 0, 0, 54, 16,112, 23, 0, 5, 17, + -1 +}; + +static const int PO_058[] = { // Attack Last 1990-06-22 07:22:14 + 20, 60, 0, 4, 54, 14, 16, 39, 0, -1, 0, + 20, 40, 0, 0, 54, 14, 16, 39, 0, 1,113, + 20, 60, 0, 10, 54, 16,112, 23, 0, 1, 20, + -1 +}; + +static const int PO_059[] = { // Damage 1 1990-06-22 07:17:32 + 4,221, 1, 31, 54, 16,184, 11, 0,127, 0, + 16,221, 1, 0, 55, 16,112, 23, 0, 0, 33, + -1 +}; + +static const int PO_060[] = { // Damage 2 1990-06-22 07:19:18 + 8,232, 3, 31, 54, 14, 16, 39, 0,100, 0, + 8,120, 5, 31, 54, 15, 16, 39, 0,-100,113, + 16, 88, 2, 31, 54, 16,112, 23, 0,127,-15, + -1 +}; + +static const int PO_061[] = { // Attack 1990-06-22 07:22:55 + 8, 0, 0, 31, 54, 16,184, 11, 0,100, 0, + 24,221, 1, 0, 55, 16, 16, 39, 0, 0, 17, + -1 +}; + +// Effect for NADIA + +static const int ND_000[] = { // MAP 1992-01-27 17:32:40 + 48,221, 1, 0, 62, 16, 16, 39, 0, -1, 0, + -1 +}; + +static const int ND_001[] = { // SONAR 1992-01-27 17:33:23 + 192,200, 0, 0, 62, 16, 64,156, 0, 0, 0, + -1 +}; + +static const int ND_002[] = { // KOUKOU 1992-01-27 17:57:44 + 254,221, 1, 8, 55, 12, 16, 39, 0, 0, 0, + -1 +}; + +static const int ND_003[] = { // MEGIDO 1992-01-27 17:35:47 + 192,200, 0, 0, 54, 16, 16, 39, 13, -1, 0, + 6,221, 1, 0, 54, 16, 16, 39, 0,127, 0, + 192,221, 1, 0, 55, 16, 96,234, 0, 0, -8, + -1 +}; + +static const int ND_004[] = { // JINARI 1992-01-27 17:36:37 + 254,221, 1, 31, 54, 14, 16, 39, 0,-128,113, + -1 +}; + +static const int ND_005[] = { // SWITCH 1992-01-27 17:37:21 + 6,221, 1, 15, 55, 16,208, 7, 0, 0, 0, + 6, 20, 0, 0, 54, 16,160, 15, 0, 0, 0, + -1 +}; + +static const int ND_006[] = { // DOSYUUNN 1992-01-27 17:38:01 + 6,221, 1, 0, 54, 16, 16, 39, 0,127, 0, + 192,221, 1, 0, 55, 16, 96,234, 0, 0, 24, + -1 +}; + +static const int ND_007[] = { // GYUOON 1992-01-27 17:39:09 + 192,232, 3, 31, 54, 16, 96,234, 0, -4, 0, + -1 +}; + +static const int ND_008[] = { // PIPIPIPI 1992-01-27 17:40:16 + 64,150, 0, 0, 62, 16,176, 4, 8, 0, 0, + -1 +}; + +static const int ND_009[] = { // SYUBATTU 1992-01-27 17:41:16 + 12,221, 1, 0, 55, 16,232, 3, 13, 0, 20, + 24,221, 1, 15, 55, 16, 64, 31, 0, 0, 0, + -1 +}; + +static const int ND_010[] = { // BEAM UNARI 1992-01-27 17:42:05 + 254, 25, 0, 0, 54, 14, 16, 39, 0, 0,-111, + -1 +}; + +static const int ND_011[] = { // BEAM KAKUSAN 1992-01-27 17:43:07 + 6,221, 1, 15, 55, 16,160, 15, 0, 0, 0, + 192,208, 7, 0, 54, 16, 96,234, 0, -8, 0, + -1 +}; + +static const int ND_012[] = { // ORGAN 1992-01-27 18:01:45 + 48,221, 1, 0, 62, 14, 16, 39, 0, 0, 0, + -1 +}; + +static const int ND_013[] = { // PANEL 1992-01-27 17:57:15 + 6,221, 1, 4, 55, 16,160, 15, 0, 0, 0, + 6,221, 1, 4, 55, 16,160, 15, 0, 0, 0, + 6,221, 1, 4, 55, 16,160, 15, 0, 0, 0, + 6,221, 1, 4, 55, 16,160, 15, 0, 0, 0, + 24, 20, 0, 10, 54, 16, 16, 39, 0, 0, 0, + -1 +}; + +static const int ND_014[] = { // DRILL 1992-01-27 17:45:25 + 254,160, 15, 31, 54, 15, 16, 39, 0, 0, 0, + -1 +}; + +static const int ND_015[] = { // PRAZMA 1992-01-27 17:45:59 + 6, 20, 0, 15, 55, 16,112, 23, 0, 0, 0, + 6, 20, 0, 0, 54, 16, 16, 39, 0, 0, 0, + -1 +}; + +static const int ND_016[] = { // BABEL 1992-01-27 17:46:34 + 254,160, 15, 0, 62, 16, 16, 39, 14, 0, 0, + -1 +}; + +static const int ND_017[] = { // ELEVETOR 1992-01-27 17:47:27 + 12,233, 1, 0, 54, 14, 16, 39, 0, -1, 0, + 254,221, 1, 0, 54, 14, 16, 39, 0, 0, 0, + -1 +}; + +static const int ND_018[] = { // MEGIDO HASSYA 1992-01-27 17:48:04 + 254,160, 15, 15, 54, 15, 16, 39, 13, 0, 0, + -1 +}; + +static const int ND_019[] = { // DAIBAKUHATU 1992-01-27 18:28:56 + 12,221, 1, 31, 54, 16, 16, 39, 0,127, 0, + 144, 0, 0, 0, 54, 16, 96,234, 0,127, 24, + 192,160, 15, 31, 54, 16, 80, 70, 14, 0, 0, + -1 +}; + +static const int ND_020[] = { // NAMI 1992-01-27 17:50:59 + 254,221, 1, 0, 55, 16, 16, 39, 14, 0, 0, + -1 +}; + +static const int ND_021[] = { // DOOOONN 1992-01-27 17:51:39 + 96,208, 7, 0, 54, 16, 16, 39, 0, 40, 0, + -1 +}; + +static const int ND_022[] = { // DOGA 1992-01-27 17:52:18 + 6,221, 1, 31, 54, 16, 16, 39, 0,127, 0, + 12,221, 1, 0, 55, 16,160, 15, 0, 0, 0, + -1 +}; + +static const int ND_023[] = { // PISI 1992-01-27 17:52:53 + 6, 20, 0, 31, 54, 16, 16, 39, 0, 0, 0, + 24, 20, 0, 0, 54, 16, 16, 39, 0, 0, 0, + -1 +}; + +static const int ND_024[] = { // BLUE WATER 1992-01-27 17:53:15 + 254, 15, 0, 0, 62, 14, 16, 39, 0, 0, 0, + -1 +}; + +static const int ND_025[] = { // HOWAWAN 1992-01-27 17:56:51 + 12,144, 1, 0, 62, 16,100, 0, 13, -2, 0, + 12,134, 1, 0, 62, 16,100, 0, 13, -2, 0, + 12,124, 1, 0, 62, 16,100, 0, 13, -2, 0, + 12,114, 1, 0, 62, 16,100, 0, 13, -2, 0, + 48, 90, 1, 0, 62, 16, 16, 39, 0, -2, 0, + -1 +}; + +static const int ND_026[] = { // ZUGAN 1992-01-27 17:19:49 + 6,221, 1, 31, 55, 16,160, 15, 0, 0, 0, + 64,221, 1, 24, 55, 16, 32, 78, 0, 0, 0, + -1 +}; + +static const int ND_027[] = { // DAAANN 1992-01-27 17:20:28 + 48,221, 1, 31, 55, 16,152, 58, 0, 0, 0, + -1 +}; + +static const int ND_028[] = { // DOGOOOONN 1992-01-27 17:21:14 + 6,221, 1, 1, 54, 16, 16, 39, 0,127, 0, + 192,221, 1, 31, 55, 16, 96,234, 0, 0, 0, + -1 +}; + +static const int ND_029[] = { // GASYA 1992-01-27 17:22:08 + 3,221, 1, 15, 55, 16,208, 7, 0, 0, 0, + 12,221, 1, 1, 55, 16,160, 15, 0, 0, 0, + -1 +}; + +static const int ND_030[] = { // BASYUSYUSYU 1992-01-27 17:22:52 + 3,221, 1, 15, 55, 15, 16, 39, 0, 0, 0, + 192,221, 1, 31, 55, 16, 96,234, 0, 0,113, + -1 +}; + +static const int ND_031[] = { // DOSYUSYUSYU 1992-01-27 17:24:31 + 192, 0, 0, 0, 54, 16, 96,234, 0,-128, 17, + -1 +}; + +static const int ND_032[] = { // SYUSYUUUUNN 1992-01-27 17:25:34 + 12,221, 1, 0, 55, 15, 16, 39, 0, 0,113, + 32,221, 1, 0, 55, 16, 32, 78, 0, 0, 17, + -1 +}; + +static const int ND_033[] = { // BASYANN - HYURURURU 1992-01-27 18:00:33 + 6,221, 1, 31, 55, 16, 16, 39, 0, 0,-63, + 32,221, 1, 4, 55, 16, 16, 39, 0, 0, 0, + 192, 0, 0, 0, 54, 16, 96,234, 0, 1, 0, + -1 +}; + +static const int ND_034[] = { // ZYURUZYURU 1992-01-27 17:27:38 + 192,221, 1, 0, 55, 16, 96,234, 0, 0,113, + -1 +}; + +static const int ND_035[] = { // ZUGOGOGOGO 1992-01-27 17:29:07 + 6,221, 1, 15, 55, 16, 16, 39, 0, 0, 0, + 6,221, 1, 31, 55, 16, 16, 39, 0, 0,-15, + 6,221, 1, 31, 55, 16, 16, 39, 0, 0,-15, + 6,221, 1, 31, 55, 16, 16, 39, 0, 0,-15, + 192,221, 1, 31, 55, 16, 96,234, 0, 0, -8, + -1 +}; + +static const int ND_036[] = { // ZUGOOOONN 1992-01-27 17:29:50 + 6,221, 1, 15, 55, 16, 16, 39, 0, 0, 0, + 192,221, 1, 31, 55, 16, 48,117, 0, 0, 0, + -1 +}; + +static const int ND_037[] = { // BI-- 1992-01-27 17:59:08 + 48, 40, 0, 0, 62, 16,100, 0, 8, 0, 0, + -1 +}; + +static const int ND_038[] = { // BASYUSYUUU 1992-01-27 17:30:38 + 48,221, 1, 0, 55, 16, 16, 39, 0, 0,-111, + -1 +}; + +static const int ND_039[] = { // BISYU 1992-01-27 17:31:52 + 6,232, 3, 15, 54, 16, 16, 39, 0,127, 0, + 24,221, 1, 0, 55, 16, 16, 39, 0, 0, 0, + -1 +}; + +const int *const efftbl[] = { + D_000, // 0 BDRM + D_001, // 1 SIMONDS + D_002, // 2 SIMONDSTAML + D_003, // 3 SIMONDSTAMM + D_004, // 4 SIMONDSTAMH + D_005, // 5 RIMSHOTT + D_006, // 6 CPSIMONDSSD2 + D_007, // 7 CLOSEHT + D_008, // 8 OPENHT + D_009, // 9 CRUSHCYMBA + D_010, // 10 RDCYN + DM_001, // 11 syuta + DM_002, // 12 Au + DM_003, // 13 syuba + DM_004, // 14 syu + DM_005, // 15 sya- + DM_006, // 16 po + DM_007, // 17 tattu + DM_008, // 18 zusyau + DM_009, // 19 piro + DM_010, // 20 piron + DM_011, // 21 pirorironn + DM_012, // 22 buu + DM_013, // 23 babon + DM_014, // 24 basyu- + DM_015, // 25 poun + DM_016, // 26 pasyu + DM_017, // 27 KON + DM_018, // 28 dosun + DM_019, // 29 zu + DM_020, // 30 go + DM_021, // 31 poyon + DM_022, // 32 katun + DM_023, // 33 syupin + DM_024, // 34 1UP + DM_025, // 35 PI + DM_026, // 36 pikon + DM_027, // 37 pyuu + DM_028, // 38 PI + DM_029, // 39 click + RS_006, // 40 batan + RS_007, // 41 dodonn + RS_009, // 42 kisya- + RS_010, // 43 bofu + RS_011, // 44 gogogogo-- + RS_012, // 45 karakara + RS_013, // 46 buonn + RS_015, // 47 tyattu + RS_018, // 48 zu + RS_019, // 49 saaaa + RS_020, // 50 za + RS_021, // 51 TYARIN + RS_022, // 52 SYUWAWA + RS_024, // 53 PIN + RS_026, // 54 KAMINARI + RS_027, // 55 PI + RS_028, // 56 KEIKOKU + RS_029, // 57 ETC 1 + RS_030, // 58 BUFOFOFO + RS_031, // 59 ETC 3 + RS_032, // 60 ETC 4 + RS_033, // 61 HADE BOMB + RS_035, // 62 JARARAN + PO_011, // 63 Rain fall + PO_012, // 64 Spinner + PO_013, // 65 Kaminari + PO_014, // 66 Sairen + PO_015, // 67 Door Shut + PO_016, // 68 Kiteki + PO_017, // 69 Ship Bomb + PO_018, // 70 Spinner 2 + PO_019, // 71 Helli + PO_020, // 72 Kinzoku Sagyou + PO_021, // 73 Kaze (DAME) + PO_022, // 74 Taikushitu Soto + PO_023, // 75 Punch + PO_024, // 76 Shower + PO_025, // 77 Shokki + PO_026, // 78 Tobikomi + PO_027, // 79 Air Fukidasi + PO_028, // 80 Heavy Door Open + PO_029, // 81 Car Door Shut + PO_030, // 82 Car Come'in + PO_031, // 83 Ice Hikkaki + PO_032, // 84 Ship Crush Down + PO_033, // 85 Toraware + PO_034, // 86 Sekizou Break + PO_035, // 87 Blaster Shot + PO_036, // 88 Seifuku Yabuki + PO_037, // 89 Miminari + PO_038, // 90 Sekizou Ayasige + PO_039, // 91 Voiler & Engine + PO_040, // 92 Suimen + PO_041, // 93 Kika + PO_042, // 94 Change Kakyuu + PO_043, // 95 Change Blue + PO_044, // 96 Youma Funsyutu + PO_045, // 97 Kekkai + PO_046, // 98 Gosintou 1 + PO_047, // 99 Gosintou 2 + PO_048, // 100 Gosintou 3 + PO_049, // 101 Hand Blaster + PO_050, // 102 Magic + PO_051, // 103 Grabiton 1 + PO_052, // 104 Grabiton 2 + PO_053, // 105 Attack Kakyuu + PO_054, // 106 Attack Blue(TEKITOU) + PO_055, // 107 Attack Red + PO_056, // 108 Attack White + PO_057, // 109 Attack Black + PO_058, // 110 Attack Last + PO_059, // 111 Damage 1 + PO_060, // 112 Damage 2 + PO_061, // 113 Attack + ND_000, // 114 MAP + ND_001, // 115 SONAR + ND_002, // 116 KOUKOU + ND_003, // 117 MEGIDO + ND_004, // 118 JINARI + ND_005, // 119 SWITCH + ND_006, // 120 DOSYUUNN + ND_007, // 121 GYUOON + ND_008, // 122 PIPIPIPI + ND_009, // 123 SYUBATTU + ND_010, // 124 BEAM UNARI + ND_011, // 125 BEAM KAKUSAN + ND_012, // 126 ORGAN + ND_013, // 127 PANEL + ND_014, // 128 DRILL + ND_015, // 129 PRAZMA + ND_016, // 130 BABEL + ND_017, // 131 ELEVETOR + ND_018, // 132 MEGIDO HASSYA + ND_019, // 133 DAIBAKUHATU + ND_020, // 134 NAMI + ND_021, // 135 DOOOONN + ND_022, // 136 DOGA + ND_023, // 137 PISI + ND_024, // 138 BLUE WATER + ND_025, // 139 HOWAWAN + ND_026, // 140 ZUGAN + ND_027, // 141 DAAANN + ND_028, // 142 DOGOOOONN + ND_029, // 143 GASYA + ND_030, // 144 BASYUSYUSYU + ND_031, // 145 DOSYUSYUSYU + ND_032, // 146 SYUSYUUUUNN + ND_033, // 147 BASYANN - HYURURURU + ND_034, // 148 ZYURUZYURU + ND_035, // 149 ZUGOGOGOGO + ND_036, // 150 ZUGOOOONN + ND_037, // 151 BI-- + ND_038, // 152 BASYUSYUUU + ND_039, // 153 BISYU +}; +
new file mode 100644 --- /dev/null +++ b/wave_out.c @@ -0,0 +1,129 @@ +#include <windows.h> +#include <mmsystem.h> +#include <stdio.h> +#include <stdint.h> + +/* + * some good values for block size and count + */ +#define BLOCK_SIZE 8192 +#define BLOCK_COUNT 16 + +/* + * module level variables + */ +static WAVEHDR* waveBlocks; +volatile int waveFreeBlockCount; +static int waveCurrentBlock; + +static int xaddl(int volatile *atomic, int add) +{ + int val; /* This works for the 486 and later */ + __asm__ __volatile__("lock; xaddl %0, %1" + : "=r" (val), "+m" (*atomic) + : "m" (*atomic), "0" (add)); + return val; +} + +void CALLBACK waveOutProc(HWAVEOUT hWaveOut, UINT uMsg, DWORD dwInstance, DWORD dwParam1,DWORD dwParam2){ + /* + * pointer to free block counter + */ + int* freeBlockCounter = (int*)dwInstance; + /* + * ignore calls that occur due to openining and closing the + * device. + */ + if(uMsg != WOM_DONE) + return; + xaddl(freeBlockCounter, 1); +} + +static WAVEHDR* allocateBlocks(unsigned int size, unsigned int count){ + unsigned char* buffer; + int i; + WAVEHDR* blocks; + DWORD totalBufferSize = (size + sizeof(WAVEHDR)) * count; + /* + * allocate memory for the entire set in one go + */ + if((buffer = VirtualAlloc(NULL, totalBufferSize, MEM_COMMIT|MEM_RESERVE, PAGE_READWRITE)) == NULL) { + return NULL; + } + /* + * and set up the pointers to each bit + */ + blocks = (WAVEHDR*)buffer; + buffer += sizeof(WAVEHDR) * count; + for(i = 0; i < count; i++) { + blocks[i].dwBufferLength = size; + blocks[i].lpData = (char*)buffer; + buffer += size; + } + return blocks; +} + +void writeAudio(HWAVEOUT hWaveOut, short *data, unsigned int size){ + WAVEHDR* current; + int remain; + current = &waveBlocks[waveCurrentBlock]; + while(size > 0) { + /* + * first make sure the header we're going to use is unprepared + */ + if(current->dwFlags & WHDR_PREPARED) + waveOutUnprepareHeader(hWaveOut, current, sizeof(WAVEHDR)); + if(size < (int)(BLOCK_SIZE - current->dwUser)) { + memcpy(current->lpData + current->dwUser, data, size); + current->dwUser += size; + break; + } + remain = BLOCK_SIZE - current->dwUser; + memcpy(current->lpData + current->dwUser, data, remain); + size -= remain; + data += remain; + current->dwBufferLength = BLOCK_SIZE; + waveOutPrepareHeader(hWaveOut, current, sizeof(WAVEHDR)); + waveOutWrite(hWaveOut, current, sizeof(WAVEHDR)); + xaddl(&waveFreeBlockCount, -1); + + while(!waveFreeBlockCount) + Sleep(10); + + waveCurrentBlock++; + waveCurrentBlock %= BLOCK_COUNT; + current = &waveBlocks[waveCurrentBlock]; + current->dwUser = 0; + } +} + +unsigned int wave_out_open(HWAVEOUT *hWaveOut, unsigned int sfreq, unsigned char channels) { + WAVEFORMATEX wfx; + waveBlocks = allocateBlocks(BLOCK_SIZE, BLOCK_COUNT); + waveFreeBlockCount = BLOCK_COUNT; + waveCurrentBlock= 0; + if(waveBlocks == NULL) { + return MMSYSERR_NOMEM; + } + wfx.nSamplesPerSec = sfreq; + wfx.wBitsPerSample = 16; + wfx.nChannels = channels; + wfx.cbSize = 0; + wfx.wFormatTag = WAVE_FORMAT_PCM; + wfx.nBlockAlign = (wfx.wBitsPerSample * wfx.nChannels) >> 3; + wfx.nAvgBytesPerSec = wfx.nBlockAlign * wfx.nSamplesPerSec; + return waveOutOpen(hWaveOut, WAVE_MAPPER, &wfx, (DWORD_PTR)waveOutProc, (DWORD_PTR)&waveFreeBlockCount, CALLBACK_FUNCTION); +} + +void wave_out_close(HWAVEOUT hWaveOut) { + int i; + while(waveFreeBlockCount < BLOCK_COUNT) + Sleep(10); + + for(i = 0; i < waveFreeBlockCount; i++) + if(waveBlocks[i].dwFlags & WHDR_PREPARED) + waveOutUnprepareHeader(hWaveOut, &waveBlocks[i], sizeof(WAVEHDR)); + VirtualFree(waveBlocks, 0, MEM_RELEASE); + waveOutClose(hWaveOut); +} +