From 78b8676305a13c32fd29c73239b24b8cf1cab431 Mon Sep 17 00:00:00 2001 From: Marek Sebera Date: Mon, 10 Aug 2020 17:13:39 +0200 Subject: [PATCH] lua5.1 compatibility struct and bit declared explicitly dependencies require update Added UTF8 submodule for future better UTF8 operations, added Unicode for UTF8/UTF16/CP437 operations, might be quite easy to get SJIS and others to work as well Removed UTF8 library, replaced by pure-lua unicode solution various test fixes renamed pack/unpack to avoid conflict, completed SJIS/UTF-8 conversion table more cleanup to used pack/unpack, compatibility sjis --- kaitaistruct.lua | 84 +- string_decode.lua | 35 +- struct.lua | 202 +++ unicode.lua | 4016 +++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 4272 insertions(+), 65 deletions(-) create mode 100644 struct.lua create mode 100644 unicode.lua diff --git a/kaitaistruct.lua b/kaitaistruct.lua index 5e5d722..1129191 100644 --- a/kaitaistruct.lua +++ b/kaitaistruct.lua @@ -1,5 +1,14 @@ local class = require("class") local stringstream = require("string_stream") +local lunpack = require("struct").unpack + +local function try_require(name) + local success, mod = pcall(require, name) + if success then return mod else return nil end +end + +-- bit is required in translated lua files, so provide it in this parent module +bit = try_require('bit') or try_require('bit32') or error[[no bitwise library found]] KaitaiStruct = class.class() @@ -74,7 +83,7 @@ end ------------------------------------------------------------------------------- function KaitaiStream:read_s1() - return string.unpack('b', self._io:read(1)) + return lunpack('b', self._io:read(1)) end --............................................................................. @@ -82,15 +91,15 @@ end --............................................................................. function KaitaiStream:read_s2be() - return string.unpack('>i2', self._io:read(2)) + return lunpack('>h', self._io:read(2)) end function KaitaiStream:read_s4be() - return string.unpack('>i4', self._io:read(4)) + return lunpack('>i', self._io:read(4)) end function KaitaiStream:read_s8be() - return string.unpack('>i8', self._io:read(8)) + return lunpack('>l', self._io:read(8)) end --............................................................................. @@ -98,15 +107,15 @@ end --............................................................................. function KaitaiStream:read_s2le() - return string.unpack('I2', self._io:read(2)) + return lunpack('>H', self._io:read(2)) end function KaitaiStream:read_u4be() - return string.unpack('>I4', self._io:read(4)) + return lunpack('>I', self._io:read(4)) end function KaitaiStream:read_u8be() - return string.unpack('>I8', self._io:read(8)) + return lunpack('>L', self._io:read(8)) end --............................................................................. @@ -138,15 +147,15 @@ end --............................................................................. function KaitaiStream:read_u2le() - return string.unpack('f', self._io:read(4)) + return lunpack('>f', self._io:read(4)) end function KaitaiStream:read_f8be() - return string.unpack('>d', self._io:read(8)) + return lunpack('>d', self._io:read(8)) end ------------------------------------------------------------------------------- @@ -170,11 +179,11 @@ end ------------------------------------------------------------------------------- function KaitaiStream:read_f4le() - return string.unpack('> shift_bits) & mask + local res = bit.band(bit.rshift(self.bits, shift_bits), mask) -- Clear top bits that we've just read => AND with 1s self.bits_left = self.bits_left - n - mask = (1 << self.bits_left) - 1 - self.bits = self.bits & mask + mask = bit.lshift(1, self.bits_left) - 1 + self.bits = bit.band(self.bits, mask) return res end @@ -221,10 +230,6 @@ end -- Deprecated, use read_bits_int_be() instead. -- function KaitaiStream:read_bits_int(n) - return self:read_bits_int_be(n) -end - -function KaitaiStream:read_bits_int_le(n) local bits_needed = n - self.bits_left if bits_needed > 0 then -- 1 bit => 1 byte @@ -234,18 +239,23 @@ function KaitaiStream:read_bits_int_le(n) local buf = self._io:read(bytes_needed) for i = 1, #buf do local byte = buf:byte(i) - self.bits = self.bits | (byte << self.bits_left) + self.bits = bit.lshift(self.bits, 8) + self.bits = bit.bor(self.bits, byte) self.bits_left = self.bits_left + 8 end end -- Raw mask with required number of 1s, starting from lowest bit - local mask = (1 << n) - 1 + local mask = bit.lshift(1, n) - 1 + -- Shift mask to align with highest bits available in self.bits + local shift_bits = self.bits_left - n + mask = bit.lshift(mask, shift_bits) -- Derive reading result - local res = self.bits & mask - -- Remove bottom bits that we've just read by shifting - self.bits = self.bits >> n + local res = bit.rshift(bit.band(self.bits, mask), shift_bits) + -- Clear top bits that we've just read => AND with 1s self.bits_left = self.bits_left - n + mask = bit.lshift(1, self.bits_left) - 1 + self.bits = bit.band(self.bits, mask) return res end @@ -348,7 +358,7 @@ function KaitaiStream.process_xor_one(data, key) local r = "" for i = 1, #data do - local c = data:byte(i) ~ key + local c = bit.bxor(data:byte(i), key) r = r .. string.char(c) end @@ -361,7 +371,7 @@ function KaitaiStream.process_xor_many(data, key) local ki = 1 for i = 1, #data do - local c = data:byte(i) ~ key:byte(ki) + local c = bit.bxor(data:byte(i), key:byte(ki)) r = r .. string.char(c) ki = ki + 1 if ki > kl then @@ -379,11 +389,11 @@ function KaitaiStream.process_rotate_left(data, amount, group_size) local result = "" local mask = group_size * 8 - 1 - local anti_amount = -amount & mask + local anti_amount = bit.band(-amount, mask) for i = 1, #data do local c = data:byte(i) - c = ((c << amount) & 0xFF) | (c >> anti_amount) + c = bit.bor(bit.band(bit.lshift(c, amount), 0xFF), bit.rshift(c, anti_amount)) result = result .. string.char(c) end diff --git a/string_decode.lua b/string_decode.lua index b65e09d..78ea195 100644 --- a/string_decode.lua +++ b/string_decode.lua @@ -2,32 +2,9 @@ -- String decoder functions -- -local stringdecode = {} - --- From http://lua-users.org/wiki/LuaUnicode -local function utf8_to_32(utf8str) - assert(type(utf8str) == "string") - local res, seq, val = {}, 0, nil - - for i = 1, #utf8str do - local c = string.byte(utf8str, i) - if seq == 0 then - table.insert(res, val) - seq = c < 0x80 and 1 or c < 0xE0 and 2 or c < 0xF0 and 3 or - c < 0xF8 and 4 or --c < 0xFC and 5 or c < 0xFE and 6 or - error("Invalid UTF-8 character sequence") - val = bit32.band(c, 2^(8-seq) - 1) - else - val = bit32.bor(bit32.lshift(val, 6), bit32.band(c, 0x3F)) - end - - seq = seq - 1 - end +local lunicode = require(".unicode") - table.insert(res, val) - - return res -end +local stringdecode = {} function stringdecode.decode(str, encoding) local enc = encoding and encoding:lower() or "ascii" @@ -35,9 +12,11 @@ function stringdecode.decode(str, encoding) if enc == "ascii" then return str elseif enc == "utf-8" then - local code_points = utf8_to_32(str) - - return utf8.char(table.unpack(code_points)) + return lunicode.transcode(str, lunicode.utf8_dec, lunicode.utf8_enc, false, false) + elseif enc == "sjis" then + return table.concat(lunicode.decode(str, lunicode.sjis_dec, true)) + elseif enc == "cp437" then + return lunicode.transcode(str, lunicode.cp437_dec, lunicode.utf8_enc, false, false) else error("Encoding " .. encoding .. " not supported") end diff --git a/struct.lua b/struct.lua new file mode 100644 index 0000000..e1bc994 --- /dev/null +++ b/struct.lua @@ -0,0 +1,202 @@ +--[[ + * Copyright (c) 2015-2020 Iryont + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. +]] + +local unpack = table.unpack or _G.unpack + +local struct = {} + +function struct.pack(format, ...) + local stream = {} + local vars = {...} + local endianness = true + + for i = 1, format:len() do + local opt = format:sub(i, i) + + if opt == '<' then + endianness = true + elseif opt == '>' then + endianness = false + elseif opt:find('[bBhHiIlL]') then + local n = opt:find('[hH]') and 2 or opt:find('[iI]') and 4 or opt:find('[lL]') and 8 or 1 + local val = tonumber(table.remove(vars, 1)) + + local bytes = {} + for j = 1, n do + table.insert(bytes, string.char(val % math.floor(2 ^ 8))) + val = math.floor(val / math.floor(2 ^ 8)) + end + + if not endianness then + table.insert(stream, string.reverse(table.concat(bytes))) + else + table.insert(stream, table.concat(bytes)) + end + elseif opt:find('[fd]') then + local val = tonumber(table.remove(vars, 1)) + local sign = 0 + + if val < 0 then + sign = 1 + val = -val + end + + local mantissa, exponent = math.frexp(val) + if val == 0 then + mantissa = 0 + exponent = 0 + else + mantissa = (mantissa * 2 - 1) * math.ldexp(0.5, (opt == 'd') and 53 or 24) + exponent = exponent + ((opt == 'd') and 1022 or 126) + end + + local bytes = {} + if opt == 'd' then + val = mantissa + for i = 1, 6 do + table.insert(bytes, string.char(math.floor(val) % (2 ^ 8))) + val = math.floor(val / (2 ^ 8)) + end + else + table.insert(bytes, string.char(math.floor(mantissa) % (2 ^ 8))) + val = math.floor(mantissa / (2 ^ 8)) + table.insert(bytes, string.char(math.floor(val) % (2 ^ 8))) + val = math.floor(val / (2 ^ 8)) + end + + table.insert(bytes, string.char(math.floor(exponent * ((opt == 'd') and 16 or 128) + val) % (2 ^ 8))) + val = math.floor((exponent * ((opt == 'd') and 16 or 128) + val) / (2 ^ 8)) + table.insert(bytes, string.char(math.floor(sign * 128 + val) % (2 ^ 8))) + val = math.floor((sign * 128 + val) / (2 ^ 8)) + + if not endianness then + table.insert(stream, string.reverse(table.concat(bytes))) + else + table.insert(stream, table.concat(bytes)) + end + elseif opt == 's' then + table.insert(stream, tostring(table.remove(vars, 1))) + table.insert(stream, string.char(0)) + elseif opt == 'c' then + local n = format:sub(i + 1):match('%d+') + local str = tostring(table.remove(vars, 1)) + local len = tonumber(n) + if len <= 0 then + len = str:len() + end + if len - str:len() > 0 then + str = str .. string.rep(' ', len - str:len()) + end + table.insert(stream, str:sub(1, len)) + i = i + n:len() + end + end + + return table.concat(stream) +end + +function struct.unpack(format, stream, pos) + local vars = {} + local iterator = pos or 1 + local endianness = true + + for i = 1, format:len() do + local opt = format:sub(i, i) + + if opt == '<' then + endianness = true + elseif opt == '>' then + endianness = false + elseif opt:find('[bBhHiIlL]') then + local n = opt:find('[hH]') and 2 or opt:find('[iI]') and 4 or opt:find('[lL]') and 8 or 1 + local signed = opt:lower() == opt + + local val = 0 + for j = 1, n do + local byte = string.byte(stream:sub(iterator, iterator)) + if byte == nil then + break + end + if endianness then + val = val + byte * math.floor(2 ^ ((j - 1) * 8)) + else + val = val + byte * math.floor(2 ^ ((n - j) * 8)) + end + iterator = iterator + 1 + end + + if signed and val >= 2 ^ (n * 8 - 1) then + val = val - 2 ^ (n * 8) + end + + table.insert(vars, math.floor(val)) + elseif opt:find('[fd]') then + local n = (opt == 'd') and 8 or 4 + local x = stream:sub(iterator, iterator + n - 1) + iterator = iterator + n + + if not endianness then + x = string.reverse(x) + end + + local sign = 1 + local mantissa = string.byte(x, (opt == 'd') and 7 or 3) % ((opt == 'd') and 16 or 128) + for i = n - 2, 1, -1 do + mantissa = mantissa * (2 ^ 8) + string.byte(x, i) + end + + if string.byte(x, n) > 127 then + sign = -1 + end + + local exponent = (string.byte(x, n) % 128) * ((opt == 'd') and 16 or 2) + math.floor(string.byte(x, n - 1) / ((opt == 'd') and 16 or 128)) + if exponent == 0 then + table.insert(vars, 0.0) + else + mantissa = (math.ldexp(mantissa, (opt == 'd') and -52 or -23) + 1) * sign + table.insert(vars, math.ldexp(mantissa, exponent - ((opt == 'd') and 1023 or 127))) + end + elseif opt == 's' then + local bytes = {} + for j = iterator, stream:len() do + if stream:sub(j, j) == string.char(0) then + break + end + + table.insert(bytes, stream:sub(j, j)) + end + + local str = table.concat(bytes) + iterator = iterator + str:len() + 1 + table.insert(vars, str) + elseif opt == 'c' then + local n = format:sub(i + 1):match('%d+') + table.insert(vars, stream:sub(iterator, iterator + tonumber(n)-1)) + iterator = iterator + tonumber(n) + i = i + n:len() + end + end + + return unpack(vars) +end + +return struct diff --git a/unicode.lua b/unicode.lua new file mode 100644 index 0000000..4777520 --- /dev/null +++ b/unicode.lua @@ -0,0 +1,4016 @@ +--- +-- Library methods for handling unicode strings. +-- +-- @author Daniel Miller +-- @copyright Same as Nmap--See https://nmap.org/book/man-legal.html + + +local string = require "string" +local table = require "table" + +local function try_require(name) + local success, mod = pcall(require, name) + if success then return mod else return nil end +end + +-- bit is required in translated lua files, so provide it in this parent module +local bit = try_require('bit') or try_require('bit32') or error[[no bitwise library found]] + +-- Localize a few functions for a tiny speed boost, since these will be looped +-- over every char of a string +local byte = string.byte +local char = string.char +local lunpack = require("struct").unpack +local lpack = require("struct").pack +local concat = table.concat + +local unicode = {} + +--- Invert a one-to-one mapping +-- @param t the table to invert +-- @return an inverted mapping +function unicode.tableaux_invert(t) + local out = {} + for k, v in pairs(t) do + out[v] = k + end + return out +end + +---Decode a buffer containing Unicode data. +--@param buf The string/buffer to be decoded +--@param decoder A Unicode decoder function (such as utf8_dec) +--@param bigendian For encodings that care about byte-order (such as UTF-16), +-- set this to true to force big-endian byte order. Default: +-- false (little-endian) +--@return A list-table containing the code points as numbers +function unicode.decode(buf, decoder, bigendian) + local cp = {} + local pos = 1 + while pos <= #buf do + pos, cp[#cp+1] = decoder(buf, pos, bigendian) + end + return cp +end + +---Encode a list of Unicode code points +--@param list A list-table of code points as numbers +--@param encoder A Unicode encoder function (such as utf8_enc) +--@param bigendian For encodings that care about byte-order (such as UTF-16), +-- set this to true to force big-endian byte order. Default: +-- false (little-endian) +--@return An encoded string +function unicode.encode(list, encoder, bigendian) + local buf = {} + for i, cp in ipairs(list) do + buf[i] = encoder(cp, bigendian) + end + return table.concat(buf, "") +end + +---Transcode a string from one format to another +-- +--The string will be decoded and re-encoded in one pass. This saves some +--overhead vs simply passing the output of unicode.encode to +--unicode.decode. +--@param buf The string/buffer to be transcoded +--@param decoder A Unicode decoder function (such as utf16_dec) +--@param encoder A Unicode encoder function (such as utf8_enc) +--@param bigendian_dec Set this to true to force big-endian decoding. +--@param bigendian_enc Set this to true to force big-endian encoding. +--@return An encoded string +function unicode.transcode(buf, decoder, encoder, bigendian_dec, bigendian_enc) + local out = {} + local cp + local pos = 1 + while pos <= #buf do + pos, cp = decoder(buf, pos, bigendian_dec) + out[#out+1] = encoder(cp, bigendian_enc) + end + return table.concat(out) +end + +--- Determine (poorly) the character encoding of a string +-- +-- First, the string is checked for a Byte-order Mark (BOM). This can be +-- examined to determine UTF-16 with endianness or UTF-8. If no BOM is found, +-- the string is examined. +-- +-- If null bytes are encountered, UTF-16 is assumed. Endianness is determined +-- by byte position, assuming the null is the high-order byte. Otherwise, if +-- byte values over 127 are found, UTF-8 decoding is attempted. If this fails, +-- the result is 'other', otherwise it is 'utf-8'. If no high bytes are found, +-- the result is 'ascii'. +-- +--@param buf The string/buffer to be identified +--@param len The number of bytes to inspect in order to identify the string. +-- Default: 100 +--@return A string describing the encoding: 'ascii', 'utf-8', 'utf-16be', +-- 'utf-16le', or 'other' meaning some unidentified 8-bit encoding +function unicode.chardet(buf, len) + local limit = len or 100 + if limit > #buf then + limit = #buf + end + -- Check BOM + if limit >= 2 then + local bom1, bom2 = byte(buf, 1, 2) + if bom1 == 0xff and bom2 == 0xfe then + return 'utf-16le' + elseif bom1 == 0xfe and bom2 == 0xff then + return 'utf-16be' + elseif limit >= 3 then + local bom3 = byte(buf, 3) + if bom1 == 0xef and bom2 == 0xbb and bom3 == 0xbf then + return 'utf-8' + end + end + end + -- Try bytes + local pos = 1 + local high = false + local utf8 = true + while pos < limit do + local c = byte(buf, pos) + if c == 0 then + if pos % 2 == 0 then + return 'utf-16le' + else + return 'utf-16be' + end + utf8 = false + pos = pos + 1 + elseif c > 127 then + if not high then + high = true + end + if utf8 then + local p, cp = utf8_dec(buf, pos) + if not p then + utf8 = false + else + pos = p + end + end + if not utf8 then + pos = pos + 1 + end + else + pos = pos + 1 + end + end + if high then + if utf8 then + return 'utf-8' + else + return 'other' + end + else + return 'ascii' + end +end + +---Encode a Unicode code point to UTF-16. See RFC 2781. +-- +-- Windows OS prior to Windows 2000 only supports UCS-2, so beware using this +-- function to encode code points above 0xFFFF. +--@param cp The Unicode code point as a number +--@param bigendian Set this to true to encode big-endian UTF-16. Default is +-- false (little-endian) +--@return A string containing the code point in UTF-16 encoding. +function unicode.utf16_enc(cp, bigendian) + local fmt = "= 0xD800 and cp <= 0xDFFF then + local high = bit.lshift(cp - 0xD800, 10) + cp, pos = lunpack(fmt, buf, pos) + cp = 0x10000 + high + cp - 0xDC00 + end + return pos, cp +end + +---Encode a Unicode code point to UTF-8. See RFC 3629. +-- +-- Does not check that cp is a real character; that is, doesn't exclude the +-- surrogate range U+D800 - U+DFFF and a handful of others. +--@param cp The Unicode code point as a number +--@return A string containing the code point in UTF-8 encoding. +function unicode.utf8_enc(cp) + local bytes = {} + local n, mask + + if cp % 1.0 ~= 0.0 or cp < 0 then + -- Only defined for nonnegative integers. + return nil + elseif cp <= 0x7F then + -- Special case of one-byte encoding. + return char(cp) + elseif cp <= 0x7FF then + n = 2 + mask = 0xC0 + elseif cp <= 0xFFFF then + n = 3 + mask = 0xE0 + elseif cp <= 0x10FFFF then + n = 4 + mask = 0xF0 + else + return nil + end + + while n > 1 do + bytes[n] = char(0x80 + bit.band(cp, 0x3F)) + cp = bit.rshift(cp, 6) + n = n - 1 + end + bytes[1] = char(mask + cp) + + return table.concat(bytes) +end + +---Decodes a UTF-8 character. +-- +-- Does not check that the returned code point is a real character. +--@param buf A string containing the character +--@param pos The index in the string where the character begins +--@return pos The index in the string where the character ended or nil on error +--@return cp The code point of the character as a number, or an error string +function unicode.utf8_dec(buf, pos) + pos = pos or 1 + local n, mask + local bv = byte(buf, pos) + if bv <= 0x7F then + return pos+1, bv + elseif bv <= 0xDF then + --110xxxxx 10xxxxxx + n = 1 + mask = 0xC0 + elseif bv <= 0xEF then + --1110xxxx 10xxxxxx 10xxxxxx + n = 2 + mask = 0xE0 + elseif bv <= 0xF7 then + --11110xxx 10xxxxxx 10xxxxxx 10xxxxxx + n = 3 + mask = 0xF0 + else + return nil, string.format("Invalid UTF-8 byte at %d", pos) + end + + local cp = bv - mask + + if pos + n > #buf then + return nil, string.format("Incomplete UTF-8 sequence at %d", pos) + end + for i = 1, n do + bv = byte(buf, pos + i) + if bv < 0x80 or bv > 0xBF then + return nil, string.format("Invalid UTF-8 sequence at %d", pos + i) + end + cp = bit.lshift(cp, 6) + bit.band(bv, 0x3F) + end + + return pos + 1 + n, cp +end + +--- Code Page Shift JIS (SJIS (2bytes) => UTF-8 (3bytes)) +unicode.sjis_decode = { + [0x8140] = 0xE38080, + [0x8141] = 0xE38081, + [0x8142] = 0xE38082, + [0x8143] = 0xEFBC8C, + [0x8144] = 0xEFBC8E, + [0x8145] = 0xE383BB, + [0x8146] = 0xEFBC9A, + [0x8147] = 0xEFBC9B, + [0x8148] = 0xEFBC9F, + [0x8149] = 0xEFBC81, + [0x814A] = 0xE3829B, + [0x814B] = 0xE3829C, + [0x814C] = 0xC2B4, + [0x814D] = 0xEFBD80, + [0x814E] = 0xC2A8, + [0x814F] = 0xEFBCBE, + [0x8150] = 0xEFBFA3, + [0x8151] = 0xEFBCBF, + [0x8152] = 0xE383BD, + [0x8153] = 0xE383BE, + [0x8154] = 0xE3829D, + [0x8155] = 0xE3829E, + [0x8156] = 0xE38083, + [0x8157] = 0xE4BB9D, + [0x8158] = 0xE38085, + [0x8159] = 0xE38086, + [0x815A] = 0xE38087, + [0x815B] = 0xE383BC, + [0x815C] = 0xE28095, + [0x815D] = 0xE28090, + [0x815E] = 0xEFBC8F, + [0x815F] = 0x5C, + [0x8160] = 0xE3809C, + [0x8161] = 0xE28096, + [0x8162] = 0xEFBD9C, + [0x8163] = 0xE280A6, + [0x8164] = 0xE280A5, + [0x8165] = 0xE28098, + [0x8166] = 0xE28099, + [0x8167] = 0xE2809C, + [0x8168] = 0xE2809D, + [0x8169] = 0xEFBC88, + [0x816A] = 0xEFBC89, + [0x816B] = 0xE38094, + [0x816C] = 0xE38095, + [0x816D] = 0xEFBCBB, + [0x816E] = 0xEFBCBD, + [0x816F] = 0xEFBD9B, + [0x8170] = 0xEFBD9D, + [0x8171] = 0xE38088, + [0x8172] = 0xE38089, + [0x8173] = 0xE3808A, + [0x8174] = 0xE3808B, + [0x8175] = 0xE3808C, + [0x8176] = 0xE3808D, + [0x8177] = 0xE3808E, + [0x8178] = 0xE3808F, + [0x8179] = 0xE38090, + [0x817A] = 0xE38091, + [0x817B] = 0xEFBC8B, + [0x817C] = 0xE28892, + [0x817D] = 0xC2B1, + [0x817E] = 0xC397, + [0x8180] = 0xC3B7, + [0x8181] = 0xEFBC9D, + [0x8182] = 0xE289A0, + [0x8183] = 0xEFBC9C, + [0x8184] = 0xEFBC9E, + [0x8185] = 0xE289A6, + [0x8186] = 0xE289A7, + [0x8187] = 0xE2889E, + [0x8188] = 0xE288B4, + [0x8189] = 0xE29982, + [0x818A] = 0xE29980, + [0x818B] = 0xC2B0, + [0x818C] = 0xE280B2, + [0x818D] = 0xE280B3, + [0x818E] = 0xE28483, + [0x818F] = 0xEFBFA5, + [0x8190] = 0xEFBC84, + [0x8191] = 0xC2A2, + [0x8192] = 0xC2A3, + [0x8193] = 0xEFBC85, + [0x8194] = 0xEFBC83, + [0x8195] = 0xEFBC86, + [0x8196] = 0xEFBC8A, + [0x8197] = 0xEFBCA0, + [0x8198] = 0xC2A7, + [0x8199] = 0xE29886, + [0x819A] = 0xE29885, + [0x819B] = 0xE2978B, + [0x819C] = 0xE2978F, + [0x819D] = 0xE2978E, + [0x819E] = 0xE29787, + [0x819F] = 0xE29786, + [0x81A0] = 0xE296A1, + [0x81A1] = 0xE296A0, + [0x81A2] = 0xE296B3, + [0x81A3] = 0xE296B2, + [0x81A4] = 0xE296BD, + [0x81A5] = 0xE296BC, + [0x81A6] = 0xE280BB, + [0x81A7] = 0xE38092, + [0x81A8] = 0xE28692, + [0x81A9] = 0xE28690, + [0x81AA] = 0xE28691, + [0x81AB] = 0xE28693, + [0x81AC] = 0xE38093, + [0x81B8] = 0xE28888, + [0x81B9] = 0xE2888B, + [0x81BA] = 0xE28A86, + [0x81BB] = 0xE28A87, + [0x81BC] = 0xE28A82, + [0x81BD] = 0xE28A83, + [0x81BE] = 0xE288AA, + [0x81BF] = 0xE288A9, + [0x81C8] = 0xE288A7, + [0x81C9] = 0xE288A8, + [0x81CA] = 0xC2AC, + [0x81CB] = 0xE28792, + [0x81CC] = 0xE28794, + [0x81CD] = 0xE28880, + [0x81CE] = 0xE28883, + [0x81DA] = 0xE288A0, + [0x81DB] = 0xE28AA5, + [0x81DC] = 0xE28C92, + [0x81DD] = 0xE28882, + [0x81DE] = 0xE28887, + [0x81DF] = 0xE289A1, + [0x81E0] = 0xE28992, + [0x81E1] = 0xE289AA, + [0x81E2] = 0xE289AB, + [0x81E3] = 0xE2889A, + [0x81E4] = 0xE288BD, + [0x81E5] = 0xE2889D, + [0x81E6] = 0xE288B5, + [0x81E7] = 0xE288AB, + [0x81E8] = 0xE288AC, + [0x81F0] = 0xE284AB, + [0x81F1] = 0xE280B0, + [0x81F2] = 0xE299AF, + [0x81F3] = 0xE299AD, + [0x81F4] = 0xE299AA, + [0x81F5] = 0xE280A0, + [0x81F6] = 0xE280A1, + [0x81F7] = 0xC2B6, + [0x81FC] = 0xE297AF, + [0x824F] = 0xEFBC90, + [0x8250] = 0xEFBC91, + [0x8251] = 0xEFBC92, + [0x8252] = 0xEFBC93, + [0x8253] = 0xEFBC94, + [0x8254] = 0xEFBC95, + [0x8255] = 0xEFBC96, + [0x8256] = 0xEFBC97, + [0x8257] = 0xEFBC98, + [0x8258] = 0xEFBC99, + [0x8260] = 0xEFBCA1, + [0x8261] = 0xEFBCA2, + [0x8262] = 0xEFBCA3, + [0x8263] = 0xEFBCA4, + [0x8264] = 0xEFBCA5, + [0x8265] = 0xEFBCA6, + [0x8266] = 0xEFBCA7, + [0x8267] = 0xEFBCA8, + [0x8268] = 0xEFBCA9, + [0x8269] = 0xEFBCAA, + [0x826A] = 0xEFBCAB, + [0x826B] = 0xEFBCAC, + [0x826C] = 0xEFBCAD, + [0x826D] = 0xEFBCAE, + [0x826E] = 0xEFBCAF, + [0x826F] = 0xEFBCB0, + [0x8270] = 0xEFBCB1, + [0x8271] = 0xEFBCB2, + [0x8272] = 0xEFBCB3, + [0x8273] = 0xEFBCB4, + [0x8274] = 0xEFBCB5, + [0x8275] = 0xEFBCB6, + [0x8276] = 0xEFBCB7, + [0x8277] = 0xEFBCB8, + [0x8278] = 0xEFBCB9, + [0x8279] = 0xEFBCBA, + [0x8281] = 0xEFBD81, + [0x8282] = 0xEFBD82, + [0x8283] = 0xEFBD83, + [0x8284] = 0xEFBD84, + [0x8285] = 0xEFBD85, + [0x8286] = 0xEFBD86, + [0x8287] = 0xEFBD87, + [0x8288] = 0xEFBD88, + [0x8289] = 0xEFBD89, + [0x828A] = 0xEFBD8A, + [0x828B] = 0xEFBD8B, + [0x828C] = 0xEFBD8C, + [0x828D] = 0xEFBD8D, + [0x828E] = 0xEFBD8E, + [0x828F] = 0xEFBD8F, + [0x8290] = 0xEFBD90, + [0x8291] = 0xEFBD91, + [0x8292] = 0xEFBD92, + [0x8293] = 0xEFBD93, + [0x8294] = 0xEFBD94, + [0x8295] = 0xEFBD95, + [0x8296] = 0xEFBD96, + [0x8297] = 0xEFBD97, + [0x8298] = 0xEFBD98, + [0x8299] = 0xEFBD99, + [0x829A] = 0xEFBD9A, + [0x829F] = 0xE38181, + [0x82A0] = 0xE38182, + [0x82A1] = 0xE38183, + [0x82A2] = 0xE38184, + [0x82A3] = 0xE38185, + [0x82A4] = 0xE38186, + [0x82A5] = 0xE38187, + [0x82A6] = 0xE38188, + [0x82A7] = 0xE38189, + [0x82A8] = 0xE3818A, + [0x82A9] = 0xE3818B, + [0x82AA] = 0xE3818C, + [0x82AB] = 0xE3818D, + [0x82AC] = 0xE3818E, + [0x82AD] = 0xE3818F, + [0x82AE] = 0xE38190, + [0x82AF] = 0xE38191, + [0x82B0] = 0xE38192, + [0x82B1] = 0xE38193, + [0x82B2] = 0xE38194, + [0x82B3] = 0xE38195, + [0x82B4] = 0xE38196, + [0x82B5] = 0xE38197, + [0x82B6] = 0xE38198, + [0x82B7] = 0xE38199, + [0x82B8] = 0xE3819A, + [0x82B9] = 0xE3819B, + [0x82BA] = 0xE3819C, + [0x82BB] = 0xE3819D, + [0x82BC] = 0xE3819E, + [0x82BD] = 0xE3819F, + [0x82BE] = 0xE381A0, + [0x82BF] = 0xE381A1, + [0x82C0] = 0xE381A2, + [0x82C1] = 0xE381A3, + [0x82C2] = 0xE381A4, + [0x82C3] = 0xE381A5, + [0x82C4] = 0xE381A6, + [0x82C5] = 0xE381A7, + [0x82C6] = 0xE381A8, + [0x82C7] = 0xE381A9, + [0x82C8] = 0xE381AA, + [0x82C9] = 0xE381AB, + [0x82CA] = 0xE381AC, + [0x82CB] = 0xE381AD, + [0x82CC] = 0xE381AE, + [0x82CD] = 0xE381AF, + [0x82CE] = 0xE381B0, + [0x82CF] = 0xE381B1, + [0x82D0] = 0xE381B2, + [0x82D1] = 0xE381B3, + [0x82D2] = 0xE381B4, + [0x82D3] = 0xE381B5, + [0x82D4] = 0xE381B6, + [0x82D5] = 0xE381B7, + [0x82D6] = 0xE381B8, + [0x82D7] = 0xE381B9, + [0x82D8] = 0xE381BA, + [0x82D9] = 0xE381BB, + [0x82DA] = 0xE381BC, + [0x82DB] = 0xE381BD, + [0x82DC] = 0xE381BE, + [0x82DD] = 0xE381BF, + [0x82DE] = 0xE38280, + [0x82DF] = 0xE38281, + [0x82E0] = 0xE38282, + [0x82E1] = 0xE38283, + [0x82E2] = 0xE38284, + [0x82E3] = 0xE38285, + [0x82E4] = 0xE38286, + [0x82E5] = 0xE38287, + [0x82E6] = 0xE38288, + [0x82E7] = 0xE38289, + [0x82E8] = 0xE3828A, + [0x82E9] = 0xE3828B, + [0x82EA] = 0xE3828C, + [0x82EB] = 0xE3828D, + [0x82EC] = 0xE3828E, + [0x82ED] = 0xE3828F, + [0x82EE] = 0xE38290, + [0x82EF] = 0xE38291, + [0x82F0] = 0xE38292, + [0x82F1] = 0xE38293, + [0x8340] = 0xE382A1, + [0x8341] = 0xE382A2, + [0x8342] = 0xE382A3, + [0x8343] = 0xE382A4, + [0x8344] = 0xE382A5, + [0x8345] = 0xE382A6, + [0x8346] = 0xE382A7, + [0x8347] = 0xE382A8, + [0x8348] = 0xE382A9, + [0x8349] = 0xE382AA, + [0x834A] = 0xE382AB, + [0x834B] = 0xE382AC, + [0x834C] = 0xE382AD, + [0x834D] = 0xE382AE, + [0x834E] = 0xE382AF, + [0x834F] = 0xE382B0, + [0x8350] = 0xE382B1, + [0x8351] = 0xE382B2, + [0x8352] = 0xE382B3, + [0x8353] = 0xE382B4, + [0x8354] = 0xE382B5, + [0x8355] = 0xE382B6, + [0x8356] = 0xE382B7, + [0x8357] = 0xE382B8, + [0x8358] = 0xE382B9, + [0x8359] = 0xE382BA, + [0x835A] = 0xE382BB, + [0x835B] = 0xE382BC, + [0x835C] = 0xE382BD, + [0x835D] = 0xE382BE, + [0x835E] = 0xE382BF, + [0x835F] = 0xE38380, + [0x8360] = 0xE38381, + [0x8361] = 0xE38382, + [0x8362] = 0xE38383, + [0x8363] = 0xE38384, + [0x8364] = 0xE38385, + [0x8365] = 0xE38386, + [0x8366] = 0xE38387, + [0x8367] = 0xE38388, + [0x8368] = 0xE38389, + [0x8369] = 0xE3838A, + [0x836A] = 0xE3838B, + [0x836B] = 0xE3838C, + [0x836C] = 0xE3838D, + [0x836D] = 0xE3838E, + [0x836E] = 0xE3838F, + [0x836F] = 0xE38390, + [0x8370] = 0xE38391, + [0x8371] = 0xE38392, + [0x8372] = 0xE38393, + [0x8373] = 0xE38394, + [0x8374] = 0xE38395, + [0x8375] = 0xE38396, + [0x8376] = 0xE38397, + [0x8377] = 0xE38398, + [0x8378] = 0xE38399, + [0x8379] = 0xE3839A, + [0x837A] = 0xE3839B, + [0x837B] = 0xE3839C, + [0x837C] = 0xE3839D, + [0x837D] = 0xE3839E, + [0x837E] = 0xE3839F, + [0x8380] = 0xE383A0, + [0x8381] = 0xE383A1, + [0x8382] = 0xE383A2, + [0x8383] = 0xE383A3, + [0x8384] = 0xE383A4, + [0x8385] = 0xE383A5, + [0x8386] = 0xE383A6, + [0x8387] = 0xE383A7, + [0x8388] = 0xE383A8, + [0x8389] = 0xE383A9, + [0x838A] = 0xE383AA, + [0x838B] = 0xE383AB, + [0x838C] = 0xE383AC, + [0x838D] = 0xE383AD, + [0x838E] = 0xE383AE, + [0x838F] = 0xE383AF, + [0x8390] = 0xE383B0, + [0x8391] = 0xE383B1, + [0x8392] = 0xE383B2, + [0x8393] = 0xE383B3, + [0x8394] = 0xE383B4, + [0x8395] = 0xE383B5, + [0x8396] = 0xE383B6, + [0x839F] = 0xCE91, + [0x83A0] = 0xCE92, + [0x83A1] = 0xCE93, + [0x83A2] = 0xCE94, + [0x83A3] = 0xCE95, + [0x83A4] = 0xCE96, + [0x83A5] = 0xCE97, + [0x83A6] = 0xCE98, + [0x83A7] = 0xCE99, + [0x83A8] = 0xCE9A, + [0x83A9] = 0xCE9B, + [0x83AA] = 0xCE9C, + [0x83AB] = 0xCE9D, + [0x83AC] = 0xCE9E, + [0x83AD] = 0xCE9F, + [0x83AE] = 0xCEA0, + [0x83AF] = 0xCEA1, + [0x83B0] = 0xCEA3, + [0x83B1] = 0xCEA4, + [0x83B2] = 0xCEA5, + [0x83B3] = 0xCEA6, + [0x83B4] = 0xCEA7, + [0x83B5] = 0xCEA8, + [0x83B6] = 0xCEA9, + [0x83BF] = 0xCEB1, + [0x83C0] = 0xCEB2, + [0x83C1] = 0xCEB3, + [0x83C2] = 0xCEB4, + [0x83C3] = 0xCEB5, + [0x83C4] = 0xCEB6, + [0x83C5] = 0xCEB7, + [0x83C6] = 0xCEB8, + [0x83C7] = 0xCEB9, + [0x83C8] = 0xCEBA, + [0x83C9] = 0xCEBB, + [0x83CA] = 0xCEBC, + [0x83CB] = 0xCEBD, + [0x83CC] = 0xCEBE, + [0x83CD] = 0xCEBF, + [0x83CE] = 0xCF80, + [0x83CF] = 0xCF81, + [0x83D0] = 0xCF83, + [0x83D1] = 0xCF84, + [0x83D2] = 0xCF85, + [0x83D3] = 0xCF86, + [0x83D4] = 0xCF87, + [0x83D5] = 0xCF88, + [0x83D6] = 0xCF89, + [0x8440] = 0xD090, + [0x8441] = 0xD091, + [0x8442] = 0xD092, + [0x8443] = 0xD093, + [0x8444] = 0xD094, + [0x8445] = 0xD095, + [0x8446] = 0xD081, + [0x8447] = 0xD096, + [0x8448] = 0xD097, + [0x8449] = 0xD098, + [0x844A] = 0xD099, + [0x844B] = 0xD09A, + [0x844C] = 0xD09B, + [0x844D] = 0xD09C, + [0x844E] = 0xD09D, + [0x844F] = 0xD09E, + [0x8450] = 0xD09F, + [0x8451] = 0xD0A0, + [0x8452] = 0xD0A1, + [0x8453] = 0xD0A2, + [0x8454] = 0xD0A3, + [0x8455] = 0xD0A4, + [0x8456] = 0xD0A5, + [0x8457] = 0xD0A6, + [0x8458] = 0xD0A7, + [0x8459] = 0xD0A8, + [0x845A] = 0xD0A9, + [0x845B] = 0xD0AA, + [0x845C] = 0xD0AB, + [0x845D] = 0xD0AC, + [0x845E] = 0xD0AD, + [0x845F] = 0xD0AE, + [0x8460] = 0xD0AF, + [0x8470] = 0xD0B0, + [0x8471] = 0xD0B1, + [0x8472] = 0xD0B2, + [0x8473] = 0xD0B3, + [0x8474] = 0xD0B4, + [0x8475] = 0xD0B5, + [0x8476] = 0xD191, + [0x8477] = 0xD0B6, + [0x8478] = 0xD0B7, + [0x8479] = 0xD0B8, + [0x847A] = 0xD0B9, + [0x847B] = 0xD0BA, + [0x847C] = 0xD0BB, + [0x847D] = 0xD0BC, + [0x847E] = 0xD0BD, + [0x8480] = 0xD0BE, + [0x8481] = 0xD0BF, + [0x8482] = 0xD180, + [0x8483] = 0xD181, + [0x8484] = 0xD182, + [0x8485] = 0xD183, + [0x8486] = 0xD184, + [0x8487] = 0xD185, + [0x8488] = 0xD186, + [0x8489] = 0xD187, + [0x848A] = 0xD188, + [0x848B] = 0xD189, + [0x848C] = 0xD18A, + [0x848D] = 0xD18B, + [0x848E] = 0xD18C, + [0x848F] = 0xD18D, + [0x8490] = 0xD18E, + [0x8491] = 0xD18F, + [0x849F] = 0xE29480, + [0x84A0] = 0xE29482, + [0x84A1] = 0xE2948C, + [0x84A2] = 0xE29490, + [0x84A3] = 0xE29498, + [0x84A4] = 0xE29494, + [0x84A5] = 0xE2949C, + [0x84A6] = 0xE294AC, + [0x84A7] = 0xE294A4, + [0x84A8] = 0xE294B4, + [0x84A9] = 0xE294BC, + [0x84AA] = 0xE29481, + [0x84AB] = 0xE29483, + [0x84AC] = 0xE2948F, + [0x84AD] = 0xE29493, + [0x84AE] = 0xE2949B, + [0x84AF] = 0xE29497, + [0x84B0] = 0xE294A3, + [0x84B1] = 0xE294B3, + [0x84B2] = 0xE294AB, + [0x84B3] = 0xE294BB, + [0x84B4] = 0xE2958B, + [0x84B5] = 0xE294A0, + [0x84B6] = 0xE294AF, + [0x84B7] = 0xE294A8, + [0x84B8] = 0xE294B7, + [0x84B9] = 0xE294BF, + [0x84BA] = 0xE2949D, + [0x84BB] = 0xE294B0, + [0x84BC] = 0xE294A5, + [0x84BD] = 0xE294B8, + [0x84BE] = 0xE29582, + [0x889F] = 0xE4BA9C, + [0x88A0] = 0xE59496, + [0x88A1] = 0xE5A883, + [0x88A2] = 0xE998BF, + [0x88A3] = 0xE59380, + [0x88A4] = 0xE6849B, + [0x88A5] = 0xE68CA8, + [0x88A6] = 0xE5A7B6, + [0x88A7] = 0xE980A2, + [0x88A8] = 0xE891B5, + [0x88A9] = 0xE88C9C, + [0x88AA] = 0xE7A990, + [0x88AB] = 0xE682AA, + [0x88AC] = 0xE68FA1, + [0x88AD] = 0xE6B8A5, + [0x88AE] = 0xE697AD, + [0x88AF] = 0xE891A6, + [0x88B0] = 0xE88AA6, + [0x88B1] = 0xE9AFB5, + [0x88B2] = 0xE6A293, + [0x88B3] = 0xE59CA7, + [0x88B4] = 0xE696A1, + [0x88B5] = 0xE689B1, + [0x88B6] = 0xE5AE9B, + [0x88B7] = 0xE5A790, + [0x88B8] = 0xE899BB, + [0x88B9] = 0xE9A3B4, + [0x88BA] = 0xE7B5A2, + [0x88BB] = 0xE7B6BE, + [0x88BC] = 0xE9AE8E, + [0x88BD] = 0xE68896, + [0x88BE] = 0xE7B29F, + [0x88BF] = 0xE8A2B7, + [0x88C0] = 0xE5AE89, + [0x88C1] = 0xE5BAB5, + [0x88C2] = 0xE68C89, + [0x88C3] = 0xE69A97, + [0x88C4] = 0xE6A188, + [0x88C5] = 0xE99787, + [0x88C6] = 0xE99E8D, + [0x88C7] = 0xE69D8F, + [0x88C8] = 0xE4BBA5, + [0x88C9] = 0xE4BC8A, + [0x88CA] = 0xE4BD8D, + [0x88CB] = 0xE4BE9D, + [0x88CC] = 0xE58189, + [0x88CD] = 0xE59BB2, + [0x88CE] = 0xE5A4B7, + [0x88CF] = 0xE5A794, + [0x88D0] = 0xE5A881, + [0x88D1] = 0xE5B089, + [0x88D2] = 0xE6839F, + [0x88D3] = 0xE6848F, + [0x88D4] = 0xE685B0, + [0x88D5] = 0xE69893, + [0x88D6] = 0xE6A485, + [0x88D7] = 0xE782BA, + [0x88D8] = 0xE7958F, + [0x88D9] = 0xE795B0, + [0x88DA] = 0xE7A7BB, + [0x88DB] = 0xE7B6AD, + [0x88DC] = 0xE7B7AF, + [0x88DD] = 0xE88383, + [0x88DE] = 0xE8908E, + [0x88DF] = 0xE8A1A3, + [0x88E0] = 0xE8AC82, + [0x88E1] = 0xE98195, + [0x88E2] = 0xE981BA, + [0x88E3] = 0xE58CBB, + [0x88E4] = 0xE4BA95, + [0x88E5] = 0xE4BAA5, + [0x88E6] = 0xE59F9F, + [0x88E7] = 0xE882B2, + [0x88E8] = 0xE98381, + [0x88E9] = 0xE7A3AF, + [0x88EA] = 0xE4B880, + [0x88EB] = 0xE5A3B1, + [0x88EC] = 0xE6BAA2, + [0x88ED] = 0xE980B8, + [0x88EE] = 0xE7A8B2, + [0x88EF] = 0xE88CA8, + [0x88F0] = 0xE88A8B, + [0x88F1] = 0xE9B0AF, + [0x88F2] = 0xE58581, + [0x88F3] = 0xE58DB0, + [0x88F4] = 0xE592BD, + [0x88F5] = 0xE593A1, + [0x88F6] = 0xE59BA0, + [0x88F7] = 0xE5A7BB, + [0x88F8] = 0xE5BC95, + [0x88F9] = 0xE9A3B2, + [0x88FA] = 0xE6B7AB, + [0x88FB] = 0xE883A4, + [0x88FC] = 0xE894AD, + [0x8940] = 0xE999A2, + [0x8941] = 0xE999B0, + [0x8942] = 0xE99AA0, + [0x8943] = 0xE99FBB, + [0x8944] = 0xE5908B, + [0x8945] = 0xE58FB3, + [0x8946] = 0xE5AE87, + [0x8947] = 0xE7838F, + [0x8948] = 0xE7BEBD, + [0x8949] = 0xE8BF82, + [0x894A] = 0xE99BA8, + [0x894B] = 0xE58DAF, + [0x894C] = 0xE9B59C, + [0x894D] = 0xE7AABA, + [0x894E] = 0xE4B891, + [0x894F] = 0xE7A293, + [0x8950] = 0xE887BC, + [0x8951] = 0xE6B8A6, + [0x8952] = 0xE59898, + [0x8953] = 0xE59484, + [0x8954] = 0xE6AC9D, + [0x8955] = 0xE8949A, + [0x8956] = 0xE9B0BB, + [0x8957] = 0xE5A7A5, + [0x8958] = 0xE58EA9, + [0x8959] = 0xE6B5A6, + [0x895A] = 0xE7939C, + [0x895B] = 0xE9968F, + [0x895C] = 0xE59982, + [0x895D] = 0xE4BA91, + [0x895E] = 0xE9818B, + [0x895F] = 0xE99BB2, + [0x8960] = 0xE88D8F, + [0x8961] = 0xE9A48C, + [0x8962] = 0xE58FA1, + [0x8963] = 0xE596B6, + [0x8964] = 0xE5ACB0, + [0x8965] = 0xE5BDB1, + [0x8966] = 0xE698A0, + [0x8967] = 0xE69BB3, + [0x8968] = 0xE6A084, + [0x8969] = 0xE6B0B8, + [0x896A] = 0xE6B3B3, + [0x896B] = 0xE6B4A9, + [0x896C] = 0xE7919B, + [0x896D] = 0xE79B88, + [0x896E] = 0xE7A98E, + [0x896F] = 0xE9A0B4, + [0x8970] = 0xE88BB1, + [0x8971] = 0xE8A19B, + [0x8972] = 0xE8A9A0, + [0x8973] = 0xE98BAD, + [0x8974] = 0xE6B6B2, + [0x8975] = 0xE796AB, + [0x8976] = 0xE79B8A, + [0x8977] = 0xE9A785, + [0x8978] = 0xE682A6, + [0x8979] = 0xE8AC81, + [0x897A] = 0xE8B68A, + [0x897B] = 0xE996B2, + [0x897C] = 0xE6A68E, + [0x897D] = 0xE58EAD, + [0x897E] = 0xE58686, + [0x8980] = 0xE59C92, + [0x8981] = 0xE5A0B0, + [0x8982] = 0xE5A584, + [0x8983] = 0xE5AEB4, + [0x8984] = 0xE5BBB6, + [0x8985] = 0xE680A8, + [0x8986] = 0xE68EA9, + [0x8987] = 0xE68FB4, + [0x8988] = 0xE6B2BF, + [0x8989] = 0xE6BC94, + [0x898A] = 0xE7828E, + [0x898B] = 0xE78494, + [0x898C] = 0xE78599, + [0x898D] = 0xE78795, + [0x898E] = 0xE78CBF, + [0x898F] = 0xE7B881, + [0x8990] = 0xE889B6, + [0x8991] = 0xE88B91, + [0x8992] = 0xE89697, + [0x8993] = 0xE981A0, + [0x8994] = 0xE9899B, + [0x8995] = 0xE9B49B, + [0x8996] = 0xE5A1A9, + [0x8997] = 0xE696BC, + [0x8998] = 0xE6B19A, + [0x8999] = 0xE794A5, + [0x899A] = 0xE587B9, + [0x899B] = 0xE5A4AE, + [0x899C] = 0xE5A5A5, + [0x899D] = 0xE5BE80, + [0x899E] = 0xE5BF9C, + [0x899F] = 0xE68ABC, + [0x89A0] = 0xE697BA, + [0x89A1] = 0xE6A8AA, + [0x89A2] = 0xE6ACA7, + [0x89A3] = 0xE6AEB4, + [0x89A4] = 0xE78E8B, + [0x89A5] = 0xE7BF81, + [0x89A6] = 0xE8A596, + [0x89A7] = 0xE9B4AC, + [0x89A8] = 0xE9B48E, + [0x89A9] = 0xE9BB84, + [0x89AA] = 0xE5B2A1, + [0x89AB] = 0xE6B296, + [0x89AC] = 0xE88DBB, + [0x89AD] = 0xE58484, + [0x89AE] = 0xE5B18B, + [0x89AF] = 0xE686B6, + [0x89B0] = 0xE88786, + [0x89B1] = 0xE6A1B6, + [0x89B2] = 0xE789A1, + [0x89B3] = 0xE4B999, + [0x89B4] = 0xE4BFBA, + [0x89B5] = 0xE58DB8, + [0x89B6] = 0xE681A9, + [0x89B7] = 0xE6B8A9, + [0x89B8] = 0xE7A98F, + [0x89B9] = 0xE99FB3, + [0x89BA] = 0xE4B88B, + [0x89BB] = 0xE58C96, + [0x89BC] = 0xE4BBAE, + [0x89BD] = 0xE4BD95, + [0x89BE] = 0xE4BCBD, + [0x89BF] = 0xE4BEA1, + [0x89C0] = 0xE4BDB3, + [0x89C1] = 0xE58AA0, + [0x89C2] = 0xE58FAF, + [0x89C3] = 0xE59889, + [0x89C4] = 0xE5A48F, + [0x89C5] = 0xE5AB81, + [0x89C6] = 0xE5AEB6, + [0x89C7] = 0xE5AFA1, + [0x89C8] = 0xE7A791, + [0x89C9] = 0xE69A87, + [0x89CA] = 0xE69E9C, + [0x89CB] = 0xE69EB6, + [0x89CC] = 0xE6AD8C, + [0x89CD] = 0xE6B2B3, + [0x89CE] = 0xE781AB, + [0x89CF] = 0xE78F82, + [0x89D0] = 0xE7A68D, + [0x89D1] = 0xE7A6BE, + [0x89D2] = 0xE7A8BC, + [0x89D3] = 0xE7AE87, + [0x89D4] = 0xE88AB1, + [0x89D5] = 0xE88B9B, + [0x89D6] = 0xE88C84, + [0x89D7] = 0xE88DB7, + [0x89D8] = 0xE88FAF, + [0x89D9] = 0xE88F93, + [0x89DA] = 0xE89DA6, + [0x89DB] = 0xE8AAB2, + [0x89DC] = 0xE598A9, + [0x89DD] = 0xE8B2A8, + [0x89DE] = 0xE8BFA6, + [0x89DF] = 0xE9818E, + [0x89E0] = 0xE99C9E, + [0x89E1] = 0xE89A8A, + [0x89E2] = 0xE4BF84, + [0x89E3] = 0xE5B3A8, + [0x89E4] = 0xE68891, + [0x89E5] = 0xE78999, + [0x89E6] = 0xE794BB, + [0x89E7] = 0xE887A5, + [0x89E8] = 0xE88ABD, + [0x89E9] = 0xE89BBE, + [0x89EA] = 0xE8B380, + [0x89EB] = 0xE99B85, + [0x89EC] = 0xE9A493, + [0x89ED] = 0xE9A795, + [0x89EE] = 0xE4BB8B, + [0x89EF] = 0xE4BC9A, + [0x89F0] = 0xE8A7A3, + [0x89F1] = 0xE59B9E, + [0x89F2] = 0xE5A18A, + [0x89F3] = 0xE5A38A, + [0x89F4] = 0xE5BBBB, + [0x89F5] = 0xE5BFAB, + [0x89F6] = 0xE680AA, + [0x89F7] = 0xE68294, + [0x89F8] = 0xE681A2, + [0x89F9] = 0xE68790, + [0x89FA] = 0xE68892, + [0x89FB] = 0xE68B90, + [0x89FC] = 0xE694B9, + [0x8A40] = 0xE9AD81, + [0x8A41] = 0xE699A6, + [0x8A42] = 0xE6A2B0, + [0x8A43] = 0xE6B5B7, + [0x8A44] = 0xE781B0, + [0x8A45] = 0xE7958C, + [0x8A46] = 0xE79A86, + [0x8A47] = 0xE7B5B5, + [0x8A48] = 0xE88AA5, + [0x8A49] = 0xE89FB9, + [0x8A4A] = 0xE9968B, + [0x8A4B] = 0xE99A8E, + [0x8A4C] = 0xE8B29D, + [0x8A4D] = 0xE587B1, + [0x8A4E] = 0xE58ABE, + [0x8A4F] = 0xE5A496, + [0x8A50] = 0xE592B3, + [0x8A51] = 0xE5AEB3, + [0x8A52] = 0xE5B496, + [0x8A53] = 0xE685A8, + [0x8A54] = 0xE6A682, + [0x8A55] = 0xE6B6AF, + [0x8A56] = 0xE7A28D, + [0x8A57] = 0xE8938B, + [0x8A58] = 0xE8A197, + [0x8A59] = 0xE8A9B2, + [0x8A5A] = 0xE98EA7, + [0x8A5B] = 0xE9AAB8, + [0x8A5C] = 0xE6B5AC, + [0x8A5D] = 0xE9A6A8, + [0x8A5E] = 0xE89B99, + [0x8A5F] = 0xE59EA3, + [0x8A60] = 0xE69FBF, + [0x8A61] = 0xE89B8E, + [0x8A62] = 0xE9888E, + [0x8A63] = 0xE58A83, + [0x8A64] = 0xE59A87, + [0x8A65] = 0xE59084, + [0x8A66] = 0xE5BB93, + [0x8A67] = 0xE68BA1, + [0x8A68] = 0xE692B9, + [0x8A69] = 0xE6A0BC, + [0x8A6A] = 0xE6A0B8, + [0x8A6B] = 0xE6AEBB, + [0x8A6C] = 0xE78DB2, + [0x8A6D] = 0xE7A2BA, + [0x8A6E] = 0xE7A9AB, + [0x8A6F] = 0xE8A69A, + [0x8A70] = 0xE8A792, + [0x8A71] = 0xE8B5AB, + [0x8A72] = 0xE8BC83, + [0x8A73] = 0xE983AD, + [0x8A74] = 0xE996A3, + [0x8A75] = 0xE99A94, + [0x8A76] = 0xE99DA9, + [0x8A77] = 0xE5ADA6, + [0x8A78] = 0xE5B2B3, + [0x8A79] = 0xE6A5BD, + [0x8A7A] = 0xE9A18D, + [0x8A7B] = 0xE9A18E, + [0x8A7C] = 0xE68E9B, + [0x8A7D] = 0xE7ACA0, + [0x8A7E] = 0xE6A8AB, + [0x8A80] = 0xE6A9BF, + [0x8A81] = 0xE6A2B6, + [0x8A82] = 0xE9B08D, + [0x8A83] = 0xE6BD9F, + [0x8A84] = 0xE589B2, + [0x8A85] = 0xE5969D, + [0x8A86] = 0xE681B0, + [0x8A87] = 0xE68BAC, + [0x8A88] = 0xE6B4BB, + [0x8A89] = 0xE6B887, + [0x8A8A] = 0xE6BB91, + [0x8A8B] = 0xE8919B, + [0x8A8C] = 0xE8A490, + [0x8A8D] = 0xE8BD84, + [0x8A8E] = 0xE4B894, + [0x8A8F] = 0xE9B0B9, + [0x8A90] = 0xE58FB6, + [0x8A91] = 0xE6A49B, + [0x8A92] = 0xE6A8BA, + [0x8A93] = 0xE99E84, + [0x8A94] = 0xE6A0AA, + [0x8A95] = 0xE5859C, + [0x8A96] = 0xE7AB83, + [0x8A97] = 0xE892B2, + [0x8A98] = 0xE9879C, + [0x8A99] = 0xE98E8C, + [0x8A9A] = 0xE5999B, + [0x8A9B] = 0xE9B4A8, + [0x8A9C] = 0xE6A0A2, + [0x8A9D] = 0xE88C85, + [0x8A9E] = 0xE890B1, + [0x8A9F] = 0xE7B2A5, + [0x8AA0] = 0xE58888, + [0x8AA1] = 0xE88B85, + [0x8AA2] = 0xE793A6, + [0x8AA3] = 0xE4B9BE, + [0x8AA4] = 0xE4BE83, + [0x8AA5] = 0xE586A0, + [0x8AA6] = 0xE5AF92, + [0x8AA7] = 0xE5888A, + [0x8AA8] = 0xE58B98, + [0x8AA9] = 0xE58BA7, + [0x8AAA] = 0xE5B7BB, + [0x8AAB] = 0xE5969A, + [0x8AAC] = 0xE5A0AA, + [0x8AAD] = 0xE5A7A6, + [0x8AAE] = 0xE5AE8C, + [0x8AAF] = 0xE5AE98, + [0x8AB0] = 0xE5AF9B, + [0x8AB1] = 0xE5B9B2, + [0x8AB2] = 0xE5B9B9, + [0x8AB3] = 0xE682A3, + [0x8AB4] = 0xE6849F, + [0x8AB5] = 0xE685A3, + [0x8AB6] = 0xE686BE, + [0x8AB7] = 0xE68F9B, + [0x8AB8] = 0xE695A2, + [0x8AB9] = 0xE69F91, + [0x8ABA] = 0xE6A193, + [0x8ABB] = 0xE6A3BA, + [0x8ABC] = 0xE6ACBE, + [0x8ABD] = 0xE6AD93, + [0x8ABE] = 0xE6B197, + [0x8ABF] = 0xE6BCA2, + [0x8AC0] = 0xE6BE97, + [0x8AC1] = 0xE6BD85, + [0x8AC2] = 0xE792B0, + [0x8AC3] = 0xE79498, + [0x8AC4] = 0xE79BA3, + [0x8AC5] = 0xE79C8B, + [0x8AC6] = 0xE7ABBF, + [0x8AC7] = 0xE7AEA1, + [0x8AC8] = 0xE7B0A1, + [0x8AC9] = 0xE7B7A9, + [0x8ACA] = 0xE7BCB6, + [0x8ACB] = 0xE7BFB0, + [0x8ACC] = 0xE8829D, + [0x8ACD] = 0xE889A6, + [0x8ACE] = 0xE88E9E, + [0x8ACF] = 0xE8A6B3, + [0x8AD0] = 0xE8AB8C, + [0x8AD1] = 0xE8B2AB, + [0x8AD2] = 0xE98284, + [0x8AD3] = 0xE99191, + [0x8AD4] = 0xE99693, + [0x8AD5] = 0xE99691, + [0x8AD6] = 0xE996A2, + [0x8AD7] = 0xE999A5, + [0x8AD8] = 0xE99F93, + [0x8AD9] = 0xE9A4A8, + [0x8ADA] = 0xE88898, + [0x8ADB] = 0xE4B8B8, + [0x8ADC] = 0xE590AB, + [0x8ADD] = 0xE5B2B8, + [0x8ADE] = 0xE5B78C, + [0x8ADF] = 0xE78EA9, + [0x8AE0] = 0xE7998C, + [0x8AE1] = 0xE79CBC, + [0x8AE2] = 0xE5B2A9, + [0x8AE3] = 0xE7BFAB, + [0x8AE4] = 0xE8B48B, + [0x8AE5] = 0xE99B81, + [0x8AE6] = 0xE9A091, + [0x8AE7] = 0xE9A194, + [0x8AE8] = 0xE9A198, + [0x8AE9] = 0xE4BC81, + [0x8AEA] = 0xE4BC8E, + [0x8AEB] = 0xE58DB1, + [0x8AEC] = 0xE5969C, + [0x8AED] = 0xE599A8, + [0x8AEE] = 0xE59FBA, + [0x8AEF] = 0xE5A587, + [0x8AF0] = 0xE5AC89, + [0x8AF1] = 0xE5AF84, + [0x8AF2] = 0xE5B290, + [0x8AF3] = 0xE5B88C, + [0x8AF4] = 0xE5B9BE, + [0x8AF5] = 0xE5BF8C, + [0x8AF6] = 0xE68FAE, + [0x8AF7] = 0xE69CBA, + [0x8AF8] = 0xE69797, + [0x8AF9] = 0xE697A2, + [0x8AFA] = 0xE69C9F, + [0x8AFB] = 0xE6A38B, + [0x8AFC] = 0xE6A384, + [0x8B40] = 0xE6A99F, + [0x8B41] = 0xE5B8B0, + [0x8B42] = 0xE6AF85, + [0x8B43] = 0xE6B097, + [0x8B44] = 0xE6B1BD, + [0x8B45] = 0xE795BF, + [0x8B46] = 0xE7A588, + [0x8B47] = 0xE5ADA3, + [0x8B48] = 0xE7A880, + [0x8B49] = 0xE7B480, + [0x8B4A] = 0xE5BEBD, + [0x8B4B] = 0xE8A68F, + [0x8B4C] = 0xE8A898, + [0x8B4D] = 0xE8B2B4, + [0x8B4E] = 0xE8B5B7, + [0x8B4F] = 0xE8BB8C, + [0x8B50] = 0xE8BC9D, + [0x8B51] = 0xE9A3A2, + [0x8B52] = 0xE9A88E, + [0x8B53] = 0xE9ACBC, + [0x8B54] = 0xE4BA80, + [0x8B55] = 0xE581BD, + [0x8B56] = 0xE58480, + [0x8B57] = 0xE5A693, + [0x8B58] = 0xE5AE9C, + [0x8B59] = 0xE688AF, + [0x8B5A] = 0xE68A80, + [0x8B5B] = 0xE693AC, + [0x8B5C] = 0xE6ACBA, + [0x8B5D] = 0xE78AA0, + [0x8B5E] = 0xE79691, + [0x8B5F] = 0xE7A587, + [0x8B60] = 0xE7BEA9, + [0x8B61] = 0xE89FBB, + [0x8B62] = 0xE8AABC, + [0x8B63] = 0xE8ADB0, + [0x8B64] = 0xE68EAC, + [0x8B65] = 0xE88F8A, + [0x8B66] = 0xE99EA0, + [0x8B67] = 0xE59089, + [0x8B68] = 0xE59083, + [0x8B69] = 0xE596AB, + [0x8B6A] = 0xE6A194, + [0x8B6B] = 0xE6A998, + [0x8B6C] = 0xE8A9B0, + [0x8B6D] = 0xE7A0A7, + [0x8B6E] = 0xE69DB5, + [0x8B6F] = 0xE9BB8D, + [0x8B70] = 0xE58DB4, + [0x8B71] = 0xE5AEA2, + [0x8B72] = 0xE8849A, + [0x8B73] = 0xE89990, + [0x8B74] = 0xE98086, + [0x8B75] = 0xE4B898, + [0x8B76] = 0xE4B985, + [0x8B77] = 0xE4BB87, + [0x8B78] = 0xE4BC91, + [0x8B79] = 0xE58F8A, + [0x8B7A] = 0xE590B8, + [0x8B7B] = 0xE5AEAE, + [0x8B7C] = 0xE5BC93, + [0x8B7D] = 0xE680A5, + [0x8B7E] = 0xE69591, + [0x8B80] = 0xE69CBD, + [0x8B81] = 0xE6B182, + [0x8B82] = 0xE6B1B2, + [0x8B83] = 0xE6B3A3, + [0x8B84] = 0xE781B8, + [0x8B85] = 0xE79083, + [0x8B86] = 0xE7A9B6, + [0x8B87] = 0xE7AAAE, + [0x8B88] = 0xE7AC88, + [0x8B89] = 0xE7B49A, + [0x8B8A] = 0xE7B3BE, + [0x8B8B] = 0xE7B5A6, + [0x8B8C] = 0xE697A7, + [0x8B8D] = 0xE7899B, + [0x8B8E] = 0xE58EBB, + [0x8B8F] = 0xE5B185, + [0x8B90] = 0xE5B7A8, + [0x8B91] = 0xE68B92, + [0x8B92] = 0xE68BA0, + [0x8B93] = 0xE68C99, + [0x8B94] = 0xE6B8A0, + [0x8B95] = 0xE8999A, + [0x8B96] = 0xE8A8B1, + [0x8B97] = 0xE8B79D, + [0x8B98] = 0xE98BB8, + [0x8B99] = 0xE6BC81, + [0x8B9A] = 0xE7A6A6, + [0x8B9B] = 0xE9AD9A, + [0x8B9C] = 0xE4BAA8, + [0x8B9D] = 0xE4BAAB, + [0x8B9E] = 0xE4BAAC, + [0x8B9F] = 0xE4BE9B, + [0x8BA0] = 0xE4BEA0, + [0x8BA1] = 0xE58391, + [0x8BA2] = 0xE58587, + [0x8BA3] = 0xE7ABB6, + [0x8BA4] = 0xE585B1, + [0x8BA5] = 0xE587B6, + [0x8BA6] = 0xE58D94, + [0x8BA7] = 0xE58CA1, + [0x8BA8] = 0xE58DBF, + [0x8BA9] = 0xE58FAB, + [0x8BAA] = 0xE596AC, + [0x8BAB] = 0xE5A283, + [0x8BAC] = 0xE5B3A1, + [0x8BAD] = 0xE5BCB7, + [0x8BAE] = 0xE5BD8A, + [0x8BAF] = 0xE680AF, + [0x8BB0] = 0xE68190, + [0x8BB1] = 0xE681AD, + [0x8BB2] = 0xE68C9F, + [0x8BB3] = 0xE69599, + [0x8BB4] = 0xE6A98B, + [0x8BB5] = 0xE6B381, + [0x8BB6] = 0xE78B82, + [0x8BB7] = 0xE78BAD, + [0x8BB8] = 0xE79FAF, + [0x8BB9] = 0xE883B8, + [0x8BBA] = 0xE88485, + [0x8BBB] = 0xE88888, + [0x8BBC] = 0xE8958E, + [0x8BBD] = 0xE983B7, + [0x8BBE] = 0xE98FA1, + [0x8BBF] = 0xE99FBF, + [0x8BC0] = 0xE9A597, + [0x8BC1] = 0xE9A99A, + [0x8BC2] = 0xE4BBB0, + [0x8BC3] = 0xE5879D, + [0x8BC4] = 0xE5B0AD, + [0x8BC5] = 0xE69A81, + [0x8BC6] = 0xE6A5AD, + [0x8BC7] = 0xE5B180, + [0x8BC8] = 0xE69BB2, + [0x8BC9] = 0xE6A5B5, + [0x8BCA] = 0xE78E89, + [0x8BCB] = 0xE6A190, + [0x8BCC] = 0xE7B281, + [0x8BCD] = 0xE58385, + [0x8BCE] = 0xE58BA4, + [0x8BCF] = 0xE59D87, + [0x8BD0] = 0xE5B7BE, + [0x8BD1] = 0xE98CA6, + [0x8BD2] = 0xE696A4, + [0x8BD3] = 0xE6ACA3, + [0x8BD4] = 0xE6ACBD, + [0x8BD5] = 0xE790B4, + [0x8BD6] = 0xE7A681, + [0x8BD7] = 0xE7A6BD, + [0x8BD8] = 0xE7AD8B, + [0x8BD9] = 0xE7B78A, + [0x8BDA] = 0xE88AB9, + [0x8BDB] = 0xE88F8C, + [0x8BDC] = 0xE8A1BF, + [0x8BDD] = 0xE8A59F, + [0x8BDE] = 0xE8ACB9, + [0x8BDF] = 0xE8BF91, + [0x8BE0] = 0xE98791, + [0x8BE1] = 0xE5909F, + [0x8BE2] = 0xE98A80, + [0x8BE3] = 0xE4B99D, + [0x8BE4] = 0xE580B6, + [0x8BE5] = 0xE58FA5, + [0x8BE6] = 0xE58CBA, + [0x8BE7] = 0xE78B97, + [0x8BE8] = 0xE78E96, + [0x8BE9] = 0xE79FA9, + [0x8BEA] = 0xE88BA6, + [0x8BEB] = 0xE8BAAF, + [0x8BEC] = 0xE9A786, + [0x8BED] = 0xE9A788, + [0x8BEE] = 0xE9A792, + [0x8BEF] = 0xE585B7, + [0x8BF0] = 0xE6849A, + [0x8BF1] = 0xE8999E, + [0x8BF2] = 0xE596B0, + [0x8BF3] = 0xE7A9BA, + [0x8BF4] = 0xE581B6, + [0x8BF5] = 0xE5AF93, + [0x8BF6] = 0xE98187, + [0x8BF7] = 0xE99A85, + [0x8BF8] = 0xE4B8B2, + [0x8BF9] = 0xE6AB9B, + [0x8BFA] = 0xE987A7, + [0x8BFB] = 0xE5B191, + [0x8BFC] = 0xE5B188, + [0x8C40] = 0xE68E98, + [0x8C41] = 0xE7AA9F, + [0x8C42] = 0xE6B293, + [0x8C43] = 0xE99DB4, + [0x8C44] = 0xE8BDA1, + [0x8C45] = 0xE7AAAA, + [0x8C46] = 0xE7868A, + [0x8C47] = 0xE99A88, + [0x8C48] = 0xE7B282, + [0x8C49] = 0xE6A097, + [0x8C4A] = 0xE7B9B0, + [0x8C4B] = 0xE6A191, + [0x8C4C] = 0xE98DAC, + [0x8C4D] = 0xE58BB2, + [0x8C4E] = 0xE5909B, + [0x8C4F] = 0xE896AB, + [0x8C50] = 0xE8A893, + [0x8C51] = 0xE7BEA4, + [0x8C52] = 0xE8BB8D, + [0x8C53] = 0xE983A1, + [0x8C54] = 0xE58DA6, + [0x8C55] = 0xE8A288, + [0x8C56] = 0xE7A581, + [0x8C57] = 0xE4BF82, + [0x8C58] = 0xE582BE, + [0x8C59] = 0xE58891, + [0x8C5A] = 0xE58584, + [0x8C5B] = 0xE59593, + [0x8C5C] = 0xE59CAD, + [0x8C5D] = 0xE78FAA, + [0x8C5E] = 0xE59E8B, + [0x8C5F] = 0xE5A591, + [0x8C60] = 0xE5BDA2, + [0x8C61] = 0xE5BE84, + [0x8C62] = 0xE681B5, + [0x8C63] = 0xE685B6, + [0x8C64] = 0xE685A7, + [0x8C65] = 0xE686A9, + [0x8C66] = 0xE68EB2, + [0x8C67] = 0xE690BA, + [0x8C68] = 0xE695AC, + [0x8C69] = 0xE699AF, + [0x8C6A] = 0xE6A182, + [0x8C6B] = 0xE6B893, + [0x8C6C] = 0xE795A6, + [0x8C6D] = 0xE7A8BD, + [0x8C6E] = 0xE7B3BB, + [0x8C6F] = 0xE7B58C, + [0x8C70] = 0xE7B699, + [0x8C71] = 0xE7B98B, + [0x8C72] = 0xE7BDAB, + [0x8C73] = 0xE88C8E, + [0x8C74] = 0xE88D8A, + [0x8C75] = 0xE89B8D, + [0x8C76] = 0xE8A888, + [0x8C77] = 0xE8A9A3, + [0x8C78] = 0xE8ADA6, + [0x8C79] = 0xE8BBBD, + [0x8C7A] = 0xE9A09A, + [0x8C7B] = 0xE9B68F, + [0x8C7C] = 0xE88AB8, + [0x8C7D] = 0xE8BF8E, + [0x8C7E] = 0xE9AFA8, + [0x8C80] = 0xE58A87, + [0x8C81] = 0xE6889F, + [0x8C82] = 0xE69283, + [0x8C83] = 0xE6BF80, + [0x8C84] = 0xE99A99, + [0x8C85] = 0xE6A181, + [0x8C86] = 0xE58291, + [0x8C87] = 0xE6ACA0, + [0x8C88] = 0xE6B1BA, + [0x8C89] = 0xE6BD94, + [0x8C8A] = 0xE7A9B4, + [0x8C8B] = 0xE7B590, + [0x8C8C] = 0xE8A180, + [0x8C8D] = 0xE8A8A3, + [0x8C8E] = 0xE69C88, + [0x8C8F] = 0xE4BBB6, + [0x8C90] = 0xE580B9, + [0x8C91] = 0xE580A6, + [0x8C92] = 0xE581A5, + [0x8C93] = 0xE585BC, + [0x8C94] = 0xE588B8, + [0x8C95] = 0xE589A3, + [0x8C96] = 0xE596A7, + [0x8C97] = 0xE59C8F, + [0x8C98] = 0xE5A085, + [0x8C99] = 0xE5AB8C, + [0x8C9A] = 0xE5BBBA, + [0x8C9B] = 0xE686B2, + [0x8C9C] = 0xE687B8, + [0x8C9D] = 0xE68BB3, + [0x8C9E] = 0xE68DB2, + [0x8C9F] = 0xE6A49C, + [0x8CA0] = 0xE6A8A9, + [0x8CA1] = 0xE789BD, + [0x8CA2] = 0xE78AAC, + [0x8CA3] = 0xE78CAE, + [0x8CA4] = 0xE7A094, + [0x8CA5] = 0xE7A1AF, + [0x8CA6] = 0xE7B5B9, + [0x8CA7] = 0xE79C8C, + [0x8CA8] = 0xE882A9, + [0x8CA9] = 0xE8A68B, + [0x8CAA] = 0xE8AC99, + [0x8CAB] = 0xE8B3A2, + [0x8CAC] = 0xE8BB92, + [0x8CAD] = 0xE981A3, + [0x8CAE] = 0xE98DB5, + [0x8CAF] = 0xE999BA, + [0x8CB0] = 0xE9A195, + [0x8CB1] = 0xE9A893, + [0x8CB2] = 0xE9B9B8, + [0x8CB3] = 0xE58583, + [0x8CB4] = 0xE58E9F, + [0x8CB5] = 0xE58EB3, + [0x8CB6] = 0xE5B9BB, + [0x8CB7] = 0xE5BCA6, + [0x8CB8] = 0xE6B89B, + [0x8CB9] = 0xE6BA90, + [0x8CBA] = 0xE78E84, + [0x8CBB] = 0xE78FBE, + [0x8CBC] = 0xE7B583, + [0x8CBD] = 0xE888B7, + [0x8CBE] = 0xE8A880, + [0x8CBF] = 0xE8ABBA, + [0x8CC0] = 0xE99990, + [0x8CC1] = 0xE4B98E, + [0x8CC2] = 0xE5808B, + [0x8CC3] = 0xE58FA4, + [0x8CC4] = 0xE591BC, + [0x8CC5] = 0xE59BBA, + [0x8CC6] = 0xE5A791, + [0x8CC7] = 0xE5ADA4, + [0x8CC8] = 0xE5B7B1, + [0x8CC9] = 0xE5BAAB, + [0x8CCA] = 0xE5BCA7, + [0x8CCB] = 0xE688B8, + [0x8CCC] = 0xE69585, + [0x8CCD] = 0xE69EAF, + [0x8CCE] = 0xE6B996, + [0x8CCF] = 0xE78B90, + [0x8CD0] = 0xE7B38A, + [0x8CD1] = 0xE8A2B4, + [0x8CD2] = 0xE882A1, + [0x8CD3] = 0xE883A1, + [0x8CD4] = 0xE88FB0, + [0x8CD5] = 0xE8998E, + [0x8CD6] = 0xE8AA87, + [0x8CD7] = 0xE8B7A8, + [0x8CD8] = 0xE988B7, + [0x8CD9] = 0xE99B87, + [0x8CDA] = 0xE9A1A7, + [0x8CDB] = 0xE9BC93, + [0x8CDC] = 0xE4BA94, + [0x8CDD] = 0xE4BA92, + [0x8CDE] = 0xE4BC8D, + [0x8CDF] = 0xE58D88, + [0x8CE0] = 0xE59189, + [0x8CE1] = 0xE590BE, + [0x8CE2] = 0xE5A8AF, + [0x8CE3] = 0xE5BE8C, + [0x8CE4] = 0xE5BEA1, + [0x8CE5] = 0xE6829F, + [0x8CE6] = 0xE6A2A7, + [0x8CE7] = 0xE6AA8E, + [0x8CE8] = 0xE7919A, + [0x8CE9] = 0xE7A281, + [0x8CEA] = 0xE8AA9E, + [0x8CEB] = 0xE8AAA4, + [0x8CEC] = 0xE8ADB7, + [0x8CED] = 0xE98690, + [0x8CEE] = 0xE4B99E, + [0x8CEF] = 0xE9AF89, + [0x8CF0] = 0xE4BAA4, + [0x8CF1] = 0xE4BDBC, + [0x8CF2] = 0xE4BEAF, + [0x8CF3] = 0xE58099, + [0x8CF4] = 0xE58096, + [0x8CF5] = 0xE58589, + [0x8CF6] = 0xE585AC, + [0x8CF7] = 0xE58A9F, + [0x8CF8] = 0xE58AB9, + [0x8CF9] = 0xE58BBE, + [0x8CFA] = 0xE58E9A, + [0x8CFB] = 0xE58FA3, + [0x8CFC] = 0xE59091, + [0x8D40] = 0xE5908E, + [0x8D41] = 0xE59689, + [0x8D42] = 0xE59D91, + [0x8D43] = 0xE59EA2, + [0x8D44] = 0xE5A5BD, + [0x8D45] = 0xE5AD94, + [0x8D46] = 0xE5AD9D, + [0x8D47] = 0xE5AE8F, + [0x8D48] = 0xE5B7A5, + [0x8D49] = 0xE5B7A7, + [0x8D4A] = 0xE5B7B7, + [0x8D4B] = 0xE5B9B8, + [0x8D4C] = 0xE5BA83, + [0x8D4D] = 0xE5BA9A, + [0x8D4E] = 0xE5BAB7, + [0x8D4F] = 0xE5BC98, + [0x8D50] = 0xE68192, + [0x8D51] = 0xE6858C, + [0x8D52] = 0xE68A97, + [0x8D53] = 0xE68B98, + [0x8D54] = 0xE68EA7, + [0x8D55] = 0xE694BB, + [0x8D56] = 0xE69882, + [0x8D57] = 0xE69983, + [0x8D58] = 0xE69BB4, + [0x8D59] = 0xE69DAD, + [0x8D5A] = 0xE6A0A1, + [0x8D5B] = 0xE6A297, + [0x8D5C] = 0xE6A78B, + [0x8D5D] = 0xE6B19F, + [0x8D5E] = 0xE6B4AA, + [0x8D5F] = 0xE6B5A9, + [0x8D60] = 0xE6B8AF, + [0x8D61] = 0xE6BA9D, + [0x8D62] = 0xE794B2, + [0x8D63] = 0xE79A87, + [0x8D64] = 0xE7A1AC, + [0x8D65] = 0xE7A8BF, + [0x8D66] = 0xE7B3A0, + [0x8D67] = 0xE7B485, + [0x8D68] = 0xE7B498, + [0x8D69] = 0xE7B59E, + [0x8D6A] = 0xE7B6B1, + [0x8D6B] = 0xE88095, + [0x8D6C] = 0xE88083, + [0x8D6D] = 0xE882AF, + [0x8D6E] = 0xE882B1, + [0x8D6F] = 0xE88594, + [0x8D70] = 0xE8868F, + [0x8D71] = 0xE888AA, + [0x8D72] = 0xE88D92, + [0x8D73] = 0xE8A18C, + [0x8D74] = 0xE8A1A1, + [0x8D75] = 0xE8AC9B, + [0x8D76] = 0xE8B2A2, + [0x8D77] = 0xE8B3BC, + [0x8D78] = 0xE9838A, + [0x8D79] = 0xE985B5, + [0x8D7A] = 0xE989B1, + [0x8D7B] = 0xE7A0BF, + [0x8D7C] = 0xE98BBC, + [0x8D7D] = 0xE996A4, + [0x8D7E] = 0xE9998D, + [0x8D80] = 0xE9A085, + [0x8D81] = 0xE9A699, + [0x8D82] = 0xE9AB98, + [0x8D83] = 0xE9B4BB, + [0x8D84] = 0xE5899B, + [0x8D85] = 0xE58AAB, + [0x8D86] = 0xE58FB7, + [0x8D87] = 0xE59088, + [0x8D88] = 0xE5A395, + [0x8D89] = 0xE68BB7, + [0x8D8A] = 0xE6BFA0, + [0x8D8B] = 0xE8B1AA, + [0x8D8C] = 0xE8BD9F, + [0x8D8D] = 0xE9BAB9, + [0x8D8E] = 0xE5858B, + [0x8D8F] = 0xE588BB, + [0x8D90] = 0xE5918A, + [0x8D91] = 0xE59BBD, + [0x8D92] = 0xE7A980, + [0x8D93] = 0xE985B7, + [0x8D94] = 0xE9B5A0, + [0x8D95] = 0xE9BB92, + [0x8D96] = 0xE78D84, + [0x8D97] = 0xE6BC89, + [0x8D98] = 0xE885B0, + [0x8D99] = 0xE79491, + [0x8D9A] = 0xE5BFBD, + [0x8D9B] = 0xE6839A, + [0x8D9C] = 0xE9AAA8, + [0x8D9D] = 0xE78B9B, + [0x8D9E] = 0xE8BEBC, + [0x8D9F] = 0xE6ADA4, + [0x8DA0] = 0xE9A083, + [0x8DA1] = 0xE4BB8A, + [0x8DA2] = 0xE59BB0, + [0x8DA3] = 0xE59DA4, + [0x8DA4] = 0xE5A2BE, + [0x8DA5] = 0xE5A99A, + [0x8DA6] = 0xE681A8, + [0x8DA7] = 0xE68787, + [0x8DA8] = 0xE6988F, + [0x8DA9] = 0xE69886, + [0x8DAA] = 0xE6A0B9, + [0x8DAB] = 0xE6A2B1, + [0x8DAC] = 0xE6B7B7, + [0x8DAD] = 0xE79795, + [0x8DAE] = 0xE7B4BA, + [0x8DAF] = 0xE889AE, + [0x8DB0] = 0xE9AD82, + [0x8DB1] = 0xE4BA9B, + [0x8DB2] = 0xE4BD90, + [0x8DB3] = 0xE58F89, + [0x8DB4] = 0xE59486, + [0x8DB5] = 0xE5B5AF, + [0x8DB6] = 0xE5B7A6, + [0x8DB7] = 0xE5B7AE, + [0x8DB8] = 0xE69FBB, + [0x8DB9] = 0xE6B299, + [0x8DBA] = 0xE791B3, + [0x8DBB] = 0xE7A082, + [0x8DBC] = 0xE8A990, + [0x8DBD] = 0xE98E96, + [0x8DBE] = 0xE8A39F, + [0x8DBF] = 0xE59D90, + [0x8DC0] = 0xE5BAA7, + [0x8DC1] = 0xE68CAB, + [0x8DC2] = 0xE582B5, + [0x8DC3] = 0xE582AC, + [0x8DC4] = 0xE5868D, + [0x8DC5] = 0xE69C80, + [0x8DC6] = 0xE59389, + [0x8DC7] = 0xE5A19E, + [0x8DC8] = 0xE5A6BB, + [0x8DC9] = 0xE5AEB0, + [0x8DCA] = 0xE5BDA9, + [0x8DCB] = 0xE6898D, + [0x8DCC] = 0xE68EA1, + [0x8DCD] = 0xE6A0BD, + [0x8DCE] = 0xE6ADB3, + [0x8DCF] = 0xE6B888, + [0x8DD0] = 0xE781BD, + [0x8DD1] = 0xE98787, + [0x8DD2] = 0xE78A80, + [0x8DD3] = 0xE7A095, + [0x8DD4] = 0xE7A0A6, + [0x8DD5] = 0xE7A5AD, + [0x8DD6] = 0xE6968E, + [0x8DD7] = 0xE7B4B0, + [0x8DD8] = 0xE88F9C, + [0x8DD9] = 0xE8A381, + [0x8DDA] = 0xE8BC89, + [0x8DDB] = 0xE99A9B, + [0x8DDC] = 0xE589A4, + [0x8DDD] = 0xE59CA8, + [0x8DDE] = 0xE69D90, + [0x8DDF] = 0xE7BDAA, + [0x8DE0] = 0xE8B2A1, + [0x8DE1] = 0xE586B4, + [0x8DE2] = 0xE59D82, + [0x8DE3] = 0xE998AA, + [0x8DE4] = 0xE5A0BA, + [0x8DE5] = 0xE6A68A, + [0x8DE6] = 0xE882B4, + [0x8DE7] = 0xE592B2, + [0x8DE8] = 0xE5B48E, + [0x8DE9] = 0xE59FBC, + [0x8DEA] = 0xE7A295, + [0x8DEB] = 0xE9B7BA, + [0x8DEC] = 0xE4BD9C, + [0x8DED] = 0xE5898A, + [0x8DEE] = 0xE5928B, + [0x8DEF] = 0xE690BE, + [0x8DF0] = 0xE698A8, + [0x8DF1] = 0xE69C94, + [0x8DF2] = 0xE69FB5, + [0x8DF3] = 0xE7AA84, + [0x8DF4] = 0xE7AD96, + [0x8DF5] = 0xE7B4A2, + [0x8DF6] = 0xE98CAF, + [0x8DF7] = 0xE6A19C, + [0x8DF8] = 0xE9AEAD, + [0x8DF9] = 0xE7ACB9, + [0x8DFA] = 0xE58C99, + [0x8DFB] = 0xE5868A, + [0x8DFC] = 0xE588B7, + [0x8E40] = 0xE5AF9F, + [0x8E41] = 0xE68BB6, + [0x8E42] = 0xE692AE, + [0x8E43] = 0xE693A6, + [0x8E44] = 0xE69CAD, + [0x8E45] = 0xE6AEBA, + [0x8E46] = 0xE896A9, + [0x8E47] = 0xE99B91, + [0x8E48] = 0xE79A90, + [0x8E49] = 0xE9AF96, + [0x8E4A] = 0xE68D8C, + [0x8E4B] = 0xE98C86, + [0x8E4C] = 0xE9AEAB, + [0x8E4D] = 0xE79ABF, + [0x8E4E] = 0xE69992, + [0x8E4F] = 0xE4B889, + [0x8E50] = 0xE58298, + [0x8E51] = 0xE58F82, + [0x8E52] = 0xE5B1B1, + [0x8E53] = 0xE683A8, + [0x8E54] = 0xE69292, + [0x8E55] = 0xE695A3, + [0x8E56] = 0xE6A19F, + [0x8E57] = 0xE787A6, + [0x8E58] = 0xE78F8A, + [0x8E59] = 0xE794A3, + [0x8E5A] = 0xE7AE97, + [0x8E5B] = 0xE7BA82, + [0x8E5C] = 0xE89A95, + [0x8E5D] = 0xE8AE83, + [0x8E5E] = 0xE8B39B, + [0x8E5F] = 0xE985B8, + [0x8E60] = 0xE9A490, + [0x8E61] = 0xE696AC, + [0x8E62] = 0xE69AAB, + [0x8E63] = 0xE6AE8B, + [0x8E64] = 0xE4BB95, + [0x8E65] = 0xE4BB94, + [0x8E66] = 0xE4BCBA, + [0x8E67] = 0xE4BDBF, + [0x8E68] = 0xE588BA, + [0x8E69] = 0xE58FB8, + [0x8E6A] = 0xE58FB2, + [0x8E6B] = 0xE597A3, + [0x8E6C] = 0xE59B9B, + [0x8E6D] = 0xE5A3AB, + [0x8E6E] = 0xE5A78B, + [0x8E6F] = 0xE5A789, + [0x8E70] = 0xE5A7BF, + [0x8E71] = 0xE5AD90, + [0x8E72] = 0xE5B18D, + [0x8E73] = 0xE5B882, + [0x8E74] = 0xE5B8AB, + [0x8E75] = 0xE5BF97, + [0x8E76] = 0xE6809D, + [0x8E77] = 0xE68C87, + [0x8E78] = 0xE694AF, + [0x8E79] = 0xE5AD9C, + [0x8E7A] = 0xE696AF, + [0x8E7B] = 0xE696BD, + [0x8E7C] = 0xE697A8, + [0x8E7D] = 0xE69E9D, + [0x8E7E] = 0xE6ADA2, + [0x8E80] = 0xE6ADBB, + [0x8E81] = 0xE6B08F, + [0x8E82] = 0xE78D85, + [0x8E83] = 0xE7A589, + [0x8E84] = 0xE7A781, + [0x8E85] = 0xE7B3B8, + [0x8E86] = 0xE7B499, + [0x8E87] = 0xE7B4AB, + [0x8E88] = 0xE882A2, + [0x8E89] = 0xE88482, + [0x8E8A] = 0xE887B3, + [0x8E8B] = 0xE8A696, + [0x8E8C] = 0xE8A99E, + [0x8E8D] = 0xE8A9A9, + [0x8E8E] = 0xE8A9A6, + [0x8E8F] = 0xE8AA8C, + [0x8E90] = 0xE8ABAE, + [0x8E91] = 0xE8B387, + [0x8E92] = 0xE8B39C, + [0x8E93] = 0xE99B8C, + [0x8E94] = 0xE9A3BC, + [0x8E95] = 0xE6ADAF, + [0x8E96] = 0xE4BA8B, + [0x8E97] = 0xE4BCBC, + [0x8E98] = 0xE4BE8D, + [0x8E99] = 0xE58590, + [0x8E9A] = 0xE5AD97, + [0x8E9B] = 0xE5AFBA, + [0x8E9C] = 0xE68588, + [0x8E9D] = 0xE68C81, + [0x8E9E] = 0xE69982, + [0x8E9F] = 0xE6ACA1, + [0x8EA0] = 0xE6BB8B, + [0x8EA1] = 0xE6B2BB, + [0x8EA2] = 0xE788BE, + [0x8EA3] = 0xE792BD, + [0x8EA4] = 0xE79794, + [0x8EA5] = 0xE7A381, + [0x8EA6] = 0xE7A4BA, + [0x8EA7] = 0xE8808C, + [0x8EA8] = 0xE880B3, + [0x8EA9] = 0xE887AA, + [0x8EAA] = 0xE89294, + [0x8EAB] = 0xE8BE9E, + [0x8EAC] = 0xE6B190, + [0x8EAD] = 0xE9B9BF, + [0x8EAE] = 0xE5BC8F, + [0x8EAF] = 0xE8AD98, + [0x8EB0] = 0xE9B4AB, + [0x8EB1] = 0xE7ABBA, + [0x8EB2] = 0xE8BBB8, + [0x8EB3] = 0xE5AE8D, + [0x8EB4] = 0xE99BAB, + [0x8EB5] = 0xE4B883, + [0x8EB6] = 0xE58FB1, + [0x8EB7] = 0xE59FB7, + [0x8EB8] = 0xE5A4B1, + [0x8EB9] = 0xE5AB89, + [0x8EBA] = 0xE5AEA4, + [0x8EBB] = 0xE68289, + [0x8EBC] = 0xE6B9BF, + [0x8EBD] = 0xE6BC86, + [0x8EBE] = 0xE796BE, + [0x8EBF] = 0xE8B3AA, + [0x8EC0] = 0xE5AE9F, + [0x8EC1] = 0xE89480, + [0x8EC2] = 0xE7AFA0, + [0x8EC3] = 0xE581B2, + [0x8EC4] = 0xE69FB4, + [0x8EC5] = 0xE88A9D, + [0x8EC6] = 0xE5B1A1, + [0x8EC7] = 0xE8958A, + [0x8EC8] = 0xE7B89E, + [0x8EC9] = 0xE8888E, + [0x8ECA] = 0xE58699, + [0x8ECB] = 0xE5B084, + [0x8ECC] = 0xE68DA8, + [0x8ECD] = 0xE8B5A6, + [0x8ECE] = 0xE6969C, + [0x8ECF] = 0xE785AE, + [0x8ED0] = 0xE7A4BE, + [0x8ED1] = 0xE7B497, + [0x8ED2] = 0xE88085, + [0x8ED3] = 0xE8AC9D, + [0x8ED4] = 0xE8BB8A, + [0x8ED5] = 0xE981AE, + [0x8ED6] = 0xE89B87, + [0x8ED7] = 0xE982AA, + [0x8ED8] = 0xE5809F, + [0x8ED9] = 0xE58BBA, + [0x8EDA] = 0xE5B0BA, + [0x8EDB] = 0xE69D93, + [0x8EDC] = 0xE781BC, + [0x8EDD] = 0xE788B5, + [0x8EDE] = 0xE9858C, + [0x8EDF] = 0xE98788, + [0x8EE0] = 0xE98CAB, + [0x8EE1] = 0xE88BA5, + [0x8EE2] = 0xE5AF82, + [0x8EE3] = 0xE5BCB1, + [0x8EE4] = 0xE683B9, + [0x8EE5] = 0xE4B8BB, + [0x8EE6] = 0xE58F96, + [0x8EE7] = 0xE5AE88, + [0x8EE8] = 0xE6898B, + [0x8EE9] = 0xE69CB1, + [0x8EEA] = 0xE6AE8A, + [0x8EEB] = 0xE78BA9, + [0x8EEC] = 0xE78FA0, + [0x8EED] = 0xE7A8AE, + [0x8EEE] = 0xE885AB, + [0x8EEF] = 0xE8B6A3, + [0x8EF0] = 0xE98592, + [0x8EF1] = 0xE9A696, + [0x8EF2] = 0xE58492, + [0x8EF3] = 0xE58F97, + [0x8EF4] = 0xE591AA, + [0x8EF5] = 0xE5AFBF, + [0x8EF6] = 0xE68E88, + [0x8EF7] = 0xE6A8B9, + [0x8EF8] = 0xE7B6AC, + [0x8EF9] = 0xE99C80, + [0x8EFA] = 0xE59B9A, + [0x8EFB] = 0xE58F8E, + [0x8EFC] = 0xE591A8, + [0x8F40] = 0xE5AE97, + [0x8F41] = 0xE5B0B1, + [0x8F42] = 0xE5B79E, + [0x8F43] = 0xE4BFAE, + [0x8F44] = 0xE68481, + [0x8F45] = 0xE68BBE, + [0x8F46] = 0xE6B4B2, + [0x8F47] = 0xE7A780, + [0x8F48] = 0xE7A78B, + [0x8F49] = 0xE7B582, + [0x8F4A] = 0xE7B98D, + [0x8F4B] = 0xE7BF92, + [0x8F4C] = 0xE887AD, + [0x8F4D] = 0xE8889F, + [0x8F4E] = 0xE89290, + [0x8F4F] = 0xE8A186, + [0x8F50] = 0xE8A5B2, + [0x8F51] = 0xE8AE90, + [0x8F52] = 0xE8B9B4, + [0x8F53] = 0xE8BCAF, + [0x8F54] = 0xE980B1, + [0x8F55] = 0xE9858B, + [0x8F56] = 0xE985AC, + [0x8F57] = 0xE99B86, + [0x8F58] = 0xE9869C, + [0x8F59] = 0xE4BB80, + [0x8F5A] = 0xE4BD8F, + [0x8F5B] = 0xE58585, + [0x8F5C] = 0xE58D81, + [0x8F5D] = 0xE5BE93, + [0x8F5E] = 0xE6888E, + [0x8F5F] = 0xE69F94, + [0x8F60] = 0xE6B181, + [0x8F61] = 0xE6B88B, + [0x8F62] = 0xE78DA3, + [0x8F63] = 0xE7B8A6, + [0x8F64] = 0xE9878D, + [0x8F65] = 0xE98A83, + [0x8F66] = 0xE58F94, + [0x8F67] = 0xE5A499, + [0x8F68] = 0xE5AEBF, + [0x8F69] = 0xE6B791, + [0x8F6A] = 0xE7A59D, + [0x8F6B] = 0xE7B8AE, + [0x8F6C] = 0xE7B29B, + [0x8F6D] = 0xE5A1BE, + [0x8F6E] = 0xE7869F, + [0x8F6F] = 0xE587BA, + [0x8F70] = 0xE8A193, + [0x8F71] = 0xE8BFB0, + [0x8F72] = 0xE4BF8A, + [0x8F73] = 0xE5B3BB, + [0x8F74] = 0xE698A5, + [0x8F75] = 0xE79EAC, + [0x8F76] = 0xE7ABA3, + [0x8F77] = 0xE8889C, + [0x8F78] = 0xE9A7BF, + [0x8F79] = 0xE58786, + [0x8F7A] = 0xE5BEAA, + [0x8F7B] = 0xE697AC, + [0x8F7C] = 0xE6A5AF, + [0x8F7D] = 0xE6AE89, + [0x8F7E] = 0xE6B7B3, + [0x8F80] = 0xE6BA96, + [0x8F81] = 0xE6BDA4, + [0x8F82] = 0xE79BBE, + [0x8F83] = 0xE7B494, + [0x8F84] = 0xE5B7A1, + [0x8F85] = 0xE981B5, + [0x8F86] = 0xE98687, + [0x8F87] = 0xE9A086, + [0x8F88] = 0xE587A6, + [0x8F89] = 0xE5889D, + [0x8F8A] = 0xE68980, + [0x8F8B] = 0xE69A91, + [0x8F8C] = 0xE69B99, + [0x8F8D] = 0xE6B89A, + [0x8F8E] = 0xE5BAB6, + [0x8F8F] = 0xE7B792, + [0x8F90] = 0xE7BDB2, + [0x8F91] = 0xE69BB8, + [0x8F92] = 0xE896AF, + [0x8F93] = 0xE897B7, + [0x8F94] = 0xE8ABB8, + [0x8F95] = 0xE58AA9, + [0x8F96] = 0xE58F99, + [0x8F97] = 0xE5A5B3, + [0x8F98] = 0xE5BA8F, + [0x8F99] = 0xE5BE90, + [0x8F9A] = 0xE68195, + [0x8F9B] = 0xE98BA4, + [0x8F9C] = 0xE999A4, + [0x8F9D] = 0xE582B7, + [0x8F9E] = 0xE5849F, + [0x8F9F] = 0xE58B9D, + [0x8FA0] = 0xE58CA0, + [0x8FA1] = 0xE58D87, + [0x8FA2] = 0xE58FAC, + [0x8FA3] = 0xE593A8, + [0x8FA4] = 0xE59586, + [0x8FA5] = 0xE594B1, + [0x8FA6] = 0xE59897, + [0x8FA7] = 0xE5A5A8, + [0x8FA8] = 0xE5A6BE, + [0x8FA9] = 0xE5A8BC, + [0x8FAA] = 0xE5AEB5, + [0x8FAB] = 0xE5B086, + [0x8FAC] = 0xE5B08F, + [0x8FAD] = 0xE5B091, + [0x8FAE] = 0xE5B09A, + [0x8FAF] = 0xE5BA84, + [0x8FB0] = 0xE5BA8A, + [0x8FB1] = 0xE5BBA0, + [0x8FB2] = 0xE5BDB0, + [0x8FB3] = 0xE689BF, + [0x8FB4] = 0xE68A84, + [0x8FB5] = 0xE68B9B, + [0x8FB6] = 0xE68E8C, + [0x8FB7] = 0xE68DB7, + [0x8FB8] = 0xE69887, + [0x8FB9] = 0xE6988C, + [0x8FBA] = 0xE698AD, + [0x8FBB] = 0xE699B6, + [0x8FBC] = 0xE69DBE, + [0x8FBD] = 0xE6A2A2, + [0x8FBE] = 0xE6A89F, + [0x8FBF] = 0xE6A8B5, + [0x8FC0] = 0xE6B2BC, + [0x8FC1] = 0xE6B688, + [0x8FC2] = 0xE6B889, + [0x8FC3] = 0xE6B998, + [0x8FC4] = 0xE784BC, + [0x8FC5] = 0xE784A6, + [0x8FC6] = 0xE785A7, + [0x8FC7] = 0xE79787, + [0x8FC8] = 0xE79C81, + [0x8FC9] = 0xE7A19D, + [0x8FCA] = 0xE7A481, + [0x8FCB] = 0xE7A5A5, + [0x8FCC] = 0xE7A7B0, + [0x8FCD] = 0xE7ABA0, + [0x8FCE] = 0xE7AC91, + [0x8FCF] = 0xE7B2A7, + [0x8FD0] = 0xE7B4B9, + [0x8FD1] = 0xE88296, + [0x8FD2] = 0xE88F96, + [0x8FD3] = 0xE8928B, + [0x8FD4] = 0xE89589, + [0x8FD5] = 0xE8A19D, + [0x8FD6] = 0xE8A3B3, + [0x8FD7] = 0xE8A89F, + [0x8FD8] = 0xE8A8BC, + [0x8FD9] = 0xE8A994, + [0x8FDA] = 0xE8A9B3, + [0x8FDB] = 0xE8B1A1, + [0x8FDC] = 0xE8B39E, + [0x8FDD] = 0xE986A4, + [0x8FDE] = 0xE989A6, + [0x8FDF] = 0xE98DBE, + [0x8FE0] = 0xE99098, + [0x8FE1] = 0xE99A9C, + [0x8FE2] = 0xE99E98, + [0x8FE3] = 0xE4B88A, + [0x8FE4] = 0xE4B888, + [0x8FE5] = 0xE4B89E, + [0x8FE6] = 0xE4B997, + [0x8FE7] = 0xE58697, + [0x8FE8] = 0xE589B0, + [0x8FE9] = 0xE59F8E, + [0x8FEA] = 0xE5A0B4, + [0x8FEB] = 0xE5A38C, + [0x8FEC] = 0xE5ACA2, + [0x8FED] = 0xE5B8B8, + [0x8FEE] = 0xE68385, + [0x8FEF] = 0xE693BE, + [0x8FF0] = 0xE69DA1, + [0x8FF1] = 0xE69D96, + [0x8FF2] = 0xE6B584, + [0x8FF3] = 0xE78AB6, + [0x8FF4] = 0xE795B3, + [0x8FF5] = 0xE7A9A3, + [0x8FF6] = 0xE892B8, + [0x8FF7] = 0xE8ADB2, + [0x8FF8] = 0xE986B8, + [0x8FF9] = 0xE98CA0, + [0x8FFA] = 0xE598B1, + [0x8FFB] = 0xE59FB4, + [0x8FFC] = 0xE9A3BE, + [0x9040] = 0xE68BAD, + [0x9041] = 0xE6A48D, + [0x9042] = 0xE6AE96, + [0x9043] = 0xE787AD, + [0x9044] = 0xE7B994, + [0x9045] = 0xE881B7, + [0x9046] = 0xE889B2, + [0x9047] = 0xE8A7A6, + [0x9048] = 0xE9A39F, + [0x9049] = 0xE89D95, + [0x904A] = 0xE8BEB1, + [0x904B] = 0xE5B0BB, + [0x904C] = 0xE4BCB8, + [0x904D] = 0xE4BFA1, + [0x904E] = 0xE4BEB5, + [0x904F] = 0xE59487, + [0x9050] = 0xE5A8A0, + [0x9051] = 0xE5AF9D, + [0x9052] = 0xE5AFA9, + [0x9053] = 0xE5BF83, + [0x9054] = 0xE6858E, + [0x9055] = 0xE68CAF, + [0x9056] = 0xE696B0, + [0x9057] = 0xE6998B, + [0x9058] = 0xE6A3AE, + [0x9059] = 0xE6A69B, + [0x905A] = 0xE6B5B8, + [0x905B] = 0xE6B7B1, + [0x905C] = 0xE794B3, + [0x905D] = 0xE796B9, + [0x905E] = 0xE79C9F, + [0x905F] = 0xE7A59E, + [0x9060] = 0xE7A7A6, + [0x9061] = 0xE7B4B3, + [0x9062] = 0xE887A3, + [0x9063] = 0xE88AAF, + [0x9064] = 0xE896AA, + [0x9065] = 0xE8A6AA, + [0x9066] = 0xE8A8BA, + [0x9067] = 0xE8BAAB, + [0x9068] = 0xE8BE9B, + [0x9069] = 0xE980B2, + [0x906A] = 0xE9879D, + [0x906B] = 0xE99C87, + [0x906C] = 0xE4BABA, + [0x906D] = 0xE4BB81, + [0x906E] = 0xE58883, + [0x906F] = 0xE5A1B5, + [0x9070] = 0xE5A3AC, + [0x9071] = 0xE5B08B, + [0x9072] = 0xE7949A, + [0x9073] = 0xE5B0BD, + [0x9074] = 0xE8858E, + [0x9075] = 0xE8A88A, + [0x9076] = 0xE8BF85, + [0x9077] = 0xE999A3, + [0x9078] = 0xE99DAD, + [0x9079] = 0xE7ACA5, + [0x907A] = 0xE8AB8F, + [0x907B] = 0xE9A088, + [0x907C] = 0xE985A2, + [0x907D] = 0xE59BB3, + [0x907E] = 0xE58EA8, + [0x9080] = 0xE98097, + [0x9081] = 0xE590B9, + [0x9082] = 0xE59E82, + [0x9083] = 0xE5B8A5, + [0x9084] = 0xE68EA8, + [0x9085] = 0xE6B0B4, + [0x9086] = 0xE7828A, + [0x9087] = 0xE79DA1, + [0x9088] = 0xE7B28B, + [0x9089] = 0xE7BFA0, + [0x908A] = 0xE8A1B0, + [0x908B] = 0xE98182, + [0x908C] = 0xE98594, + [0x908D] = 0xE98C90, + [0x908E] = 0xE98C98, + [0x908F] = 0xE99A8F, + [0x9090] = 0xE7919E, + [0x9091] = 0xE9AB84, + [0x9092] = 0xE5B487, + [0x9093] = 0xE5B5A9, + [0x9094] = 0xE695B0, + [0x9095] = 0xE69EA2, + [0x9096] = 0xE8B6A8, + [0x9097] = 0xE99B9B, + [0x9098] = 0xE68DAE, + [0x9099] = 0xE69D89, + [0x909A] = 0xE6A499, + [0x909B] = 0xE88F85, + [0x909C] = 0xE9A097, + [0x909D] = 0xE99B80, + [0x909E] = 0xE8A3BE, + [0x909F] = 0xE6BE84, + [0x90A0] = 0xE691BA, + [0x90A1] = 0xE5AFB8, + [0x90A2] = 0xE4B896, + [0x90A3] = 0xE780AC, + [0x90A4] = 0xE7959D, + [0x90A5] = 0xE698AF, + [0x90A6] = 0xE58784, + [0x90A7] = 0xE588B6, + [0x90A8] = 0xE58BA2, + [0x90A9] = 0xE5A793, + [0x90AA] = 0xE5BE81, + [0x90AB] = 0xE680A7, + [0x90AC] = 0xE68890, + [0x90AD] = 0xE694BF, + [0x90AE] = 0xE695B4, + [0x90AF] = 0xE6989F, + [0x90B0] = 0xE699B4, + [0x90B1] = 0xE6A3B2, + [0x90B2] = 0xE6A096, + [0x90B3] = 0xE6ADA3, + [0x90B4] = 0xE6B885, + [0x90B5] = 0xE789B2, + [0x90B6] = 0xE7949F, + [0x90B7] = 0xE79B9B, + [0x90B8] = 0xE7B2BE, + [0x90B9] = 0xE88196, + [0x90BA] = 0xE5A3B0, + [0x90BB] = 0xE8A3BD, + [0x90BC] = 0xE8A5BF, + [0x90BD] = 0xE8AAA0, + [0x90BE] = 0xE8AA93, + [0x90BF] = 0xE8AB8B, + [0x90C0] = 0xE9809D, + [0x90C1] = 0xE98692, + [0x90C2] = 0xE99D92, + [0x90C3] = 0xE99D99, + [0x90C4] = 0xE69689, + [0x90C5] = 0xE7A88E, + [0x90C6] = 0xE88486, + [0x90C7] = 0xE99ABB, + [0x90C8] = 0xE5B8AD, + [0x90C9] = 0xE6839C, + [0x90CA] = 0xE6889A, + [0x90CB] = 0xE696A5, + [0x90CC] = 0xE69894, + [0x90CD] = 0xE69E90, + [0x90CE] = 0xE79FB3, + [0x90CF] = 0xE7A98D, + [0x90D0] = 0xE7B18D, + [0x90D1] = 0xE7B8BE, + [0x90D2] = 0xE8848A, + [0x90D3] = 0xE8B2AC, + [0x90D4] = 0xE8B5A4, + [0x90D5] = 0xE8B7A1, + [0x90D6] = 0xE8B99F, + [0x90D7] = 0xE7A2A9, + [0x90D8] = 0xE58887, + [0x90D9] = 0xE68B99, + [0x90DA] = 0xE68EA5, + [0x90DB] = 0xE69182, + [0x90DC] = 0xE68A98, + [0x90DD] = 0xE8A8AD, + [0x90DE] = 0xE7AA83, + [0x90DF] = 0xE7AF80, + [0x90E0] = 0xE8AAAC, + [0x90E1] = 0xE99BAA, + [0x90E2] = 0xE7B5B6, + [0x90E3] = 0xE8888C, + [0x90E4] = 0xE89D89, + [0x90E5] = 0xE4BB99, + [0x90E6] = 0xE58588, + [0x90E7] = 0xE58D83, + [0x90E8] = 0xE58DA0, + [0x90E9] = 0xE5AEA3, + [0x90EA] = 0xE5B082, + [0x90EB] = 0xE5B096, + [0x90EC] = 0xE5B79D, + [0x90ED] = 0xE688A6, + [0x90EE] = 0xE68987, + [0x90EF] = 0xE692B0, + [0x90F0] = 0xE6A093, + [0x90F1] = 0xE6A0B4, + [0x90F2] = 0xE6B389, + [0x90F3] = 0xE6B585, + [0x90F4] = 0xE6B497, + [0x90F5] = 0xE69F93, + [0x90F6] = 0xE6BD9C, + [0x90F7] = 0xE7858E, + [0x90F8] = 0xE785BD, + [0x90F9] = 0xE6978B, + [0x90FA] = 0xE7A9BF, + [0x90FB] = 0xE7AEAD, + [0x90FC] = 0xE7B79A, + [0x9140] = 0xE7B98A, + [0x9141] = 0xE7BEA8, + [0x9142] = 0xE885BA, + [0x9143] = 0xE8889B, + [0x9144] = 0xE888B9, + [0x9145] = 0xE896A6, + [0x9146] = 0xE8A9AE, + [0x9147] = 0xE8B38E, + [0x9148] = 0xE8B7B5, + [0x9149] = 0xE981B8, + [0x914A] = 0xE981B7, + [0x914B] = 0xE98AAD, + [0x914C] = 0xE98A91, + [0x914D] = 0xE99683, + [0x914E] = 0xE9AEAE, + [0x914F] = 0xE5898D, + [0x9150] = 0xE59684, + [0x9151] = 0xE6BCB8, + [0x9152] = 0xE784B6, + [0x9153] = 0xE585A8, + [0x9154] = 0xE7A685, + [0x9155] = 0xE7B995, + [0x9156] = 0xE886B3, + [0x9157] = 0xE7B38E, + [0x9158] = 0xE5998C, + [0x9159] = 0xE5A191, + [0x915A] = 0xE5B2A8, + [0x915B] = 0xE68EAA, + [0x915C] = 0xE69BBE, + [0x915D] = 0xE69BBD, + [0x915E] = 0xE6A59A, + [0x915F] = 0xE78B99, + [0x9160] = 0xE7968F, + [0x9161] = 0xE7968E, + [0x9162] = 0xE7A48E, + [0x9163] = 0xE7A596, + [0x9164] = 0xE7A79F, + [0x9165] = 0xE7B297, + [0x9166] = 0xE7B4A0, + [0x9167] = 0xE7B584, + [0x9168] = 0xE89887, + [0x9169] = 0xE8A8B4, + [0x916A] = 0xE998BB, + [0x916B] = 0xE981A1, + [0x916C] = 0xE9BCA0, + [0x916D] = 0xE583A7, + [0x916E] = 0xE589B5, + [0x916F] = 0xE58F8C, + [0x9170] = 0xE58FA2, + [0x9171] = 0xE58089, + [0x9172] = 0xE596AA, + [0x9173] = 0xE5A3AE, + [0x9174] = 0xE5A58F, + [0x9175] = 0xE788BD, + [0x9176] = 0xE5AE8B, + [0x9177] = 0xE5B1A4, + [0x9178] = 0xE58C9D, + [0x9179] = 0xE683A3, + [0x917A] = 0xE683B3, + [0x917B] = 0xE68D9C, + [0x917C] = 0xE68E83, + [0x917D] = 0xE68CBF, + [0x917E] = 0xE68EBB, + [0x9180] = 0xE6938D, + [0x9181] = 0xE697A9, + [0x9182] = 0xE69BB9, + [0x9183] = 0xE5B7A3, + [0x9184] = 0xE6A78D, + [0x9185] = 0xE6A7BD, + [0x9186] = 0xE6BC95, + [0x9187] = 0xE787A5, + [0x9188] = 0xE4BA89, + [0x9189] = 0xE797A9, + [0x918A] = 0xE79BB8, + [0x918B] = 0xE7AA93, + [0x918C] = 0xE7B39F, + [0x918D] = 0xE7B78F, + [0x918E] = 0xE7B69C, + [0x918F] = 0xE881A1, + [0x9190] = 0xE88D89, + [0x9191] = 0xE88D98, + [0x9192] = 0xE891AC, + [0x9193] = 0xE892BC, + [0x9194] = 0xE897BB, + [0x9195] = 0xE8A385, + [0x9196] = 0xE8B5B0, + [0x9197] = 0xE98081, + [0x9198] = 0xE981AD, + [0x9199] = 0xE98E97, + [0x919A] = 0xE99C9C, + [0x919B] = 0xE9A892, + [0x919C] = 0xE5838F, + [0x919D] = 0xE5A297, + [0x919E] = 0xE6868E, + [0x919F] = 0xE88793, + [0x91A0] = 0xE894B5, + [0x91A1] = 0xE8B488, + [0x91A2] = 0xE980A0, + [0x91A3] = 0xE4BF83, + [0x91A4] = 0xE581B4, + [0x91A5] = 0xE58987, + [0x91A6] = 0xE58DB3, + [0x91A7] = 0xE681AF, + [0x91A8] = 0xE68D89, + [0x91A9] = 0xE69D9F, + [0x91AA] = 0xE6B8AC, + [0x91AB] = 0xE8B6B3, + [0x91AC] = 0xE9809F, + [0x91AD] = 0xE4BF97, + [0x91AE] = 0xE5B19E, + [0x91AF] = 0xE8B38A, + [0x91B0] = 0xE6978F, + [0x91B1] = 0xE7B69A, + [0x91B2] = 0xE58D92, + [0x91B3] = 0xE8A296, + [0x91B4] = 0xE585B6, + [0x91B5] = 0xE68F83, + [0x91B6] = 0xE5AD98, + [0x91B7] = 0xE5ADAB, + [0x91B8] = 0xE5B08A, + [0x91B9] = 0xE6908D, + [0x91BA] = 0xE69D91, + [0x91BB] = 0xE9819C, + [0x91BC] = 0xE4BB96, + [0x91BD] = 0xE5A49A, + [0x91BE] = 0xE5A4AA, + [0x91BF] = 0xE6B1B0, + [0x91C0] = 0xE8A991, + [0x91C1] = 0xE594BE, + [0x91C2] = 0xE5A095, + [0x91C3] = 0xE5A6A5, + [0x91C4] = 0xE683B0, + [0x91C5] = 0xE68993, + [0x91C6] = 0xE69F81, + [0x91C7] = 0xE888B5, + [0x91C8] = 0xE6A595, + [0x91C9] = 0xE99980, + [0x91CA] = 0xE9A784, + [0x91CB] = 0xE9A8A8, + [0x91CC] = 0xE4BD93, + [0x91CD] = 0xE5A086, + [0x91CE] = 0xE5AFBE, + [0x91CF] = 0xE88090, + [0x91D0] = 0xE5B2B1, + [0x91D1] = 0xE5B8AF, + [0x91D2] = 0xE5BE85, + [0x91D3] = 0xE680A0, + [0x91D4] = 0xE6858B, + [0x91D5] = 0xE688B4, + [0x91D6] = 0xE69BBF, + [0x91D7] = 0xE6B3B0, + [0x91D8] = 0xE6BB9E, + [0x91D9] = 0xE8838E, + [0x91DA] = 0xE885BF, + [0x91DB] = 0xE88B94, + [0x91DC] = 0xE8A28B, + [0x91DD] = 0xE8B2B8, + [0x91DE] = 0xE98080, + [0x91DF] = 0xE980AE, + [0x91E0] = 0xE99A8A, + [0x91E1] = 0xE9BB9B, + [0x91E2] = 0xE9AF9B, + [0x91E3] = 0xE4BBA3, + [0x91E4] = 0xE58FB0, + [0x91E5] = 0xE5A4A7, + [0x91E6] = 0xE7ACAC, + [0x91E7] = 0xE9868D, + [0x91E8] = 0xE9A18C, + [0x91E9] = 0xE9B7B9, + [0x91EA] = 0xE6BB9D, + [0x91EB] = 0xE780A7, + [0x91EC] = 0xE58D93, + [0x91ED] = 0xE59584, + [0x91EE] = 0xE5AE85, + [0x91EF] = 0xE68998, + [0x91F0] = 0xE68A9E, + [0x91F1] = 0xE68B93, + [0x91F2] = 0xE6B2A2, + [0x91F3] = 0xE6BFAF, + [0x91F4] = 0xE790A2, + [0x91F5] = 0xE8A897, + [0x91F6] = 0xE990B8, + [0x91F7] = 0xE6BF81, + [0x91F8] = 0xE8ABBE, + [0x91F9] = 0xE88CB8, + [0x91FA] = 0xE587A7, + [0x91FB] = 0xE89BB8, + [0x91FC] = 0xE58FAA, + [0x9240] = 0xE58FA9, + [0x9241] = 0xE4BD86, + [0x9242] = 0xE98194, + [0x9243] = 0xE8BEB0, + [0x9244] = 0xE5A5AA, + [0x9245] = 0xE884B1, + [0x9246] = 0xE5B7BD, + [0x9247] = 0xE7ABAA, + [0x9248] = 0xE8BEBF, + [0x9249] = 0xE6A39A, + [0x924A] = 0xE8B0B7, + [0x924B] = 0xE78BB8, + [0x924C] = 0xE9B188, + [0x924D] = 0xE6A8BD, + [0x924E] = 0xE8AAB0, + [0x924F] = 0xE4B8B9, + [0x9250] = 0xE58D98, + [0x9251] = 0xE59886, + [0x9252] = 0xE59DA6, + [0x9253] = 0xE68B85, + [0x9254] = 0xE68EA2, + [0x9255] = 0xE697A6, + [0x9256] = 0xE6AD8E, + [0x9257] = 0xE6B7A1, + [0x9258] = 0xE6B99B, + [0x9259] = 0xE782AD, + [0x925A] = 0xE79FAD, + [0x925B] = 0xE7ABAF, + [0x925C] = 0xE7AEAA, + [0x925D] = 0xE7B6BB, + [0x925E] = 0xE880BD, + [0x925F] = 0xE88386, + [0x9260] = 0xE89B8B, + [0x9261] = 0xE8AA95, + [0x9262] = 0xE98D9B, + [0x9263] = 0xE59BA3, + [0x9264] = 0xE5A387, + [0x9265] = 0xE5BCBE, + [0x9266] = 0xE696AD, + [0x9267] = 0xE69A96, + [0x9268] = 0xE6AA80, + [0x9269] = 0xE6AEB5, + [0x926A] = 0xE794B7, + [0x926B] = 0xE8AB87, + [0x926C] = 0xE580A4, + [0x926D] = 0xE79FA5, + [0x926E] = 0xE59CB0, + [0x926F] = 0xE5BC9B, + [0x9270] = 0xE681A5, + [0x9271] = 0xE699BA, + [0x9272] = 0xE6B1A0, + [0x9273] = 0xE797B4, + [0x9274] = 0xE7A89A, + [0x9275] = 0xE7BDAE, + [0x9276] = 0xE887B4, + [0x9277] = 0xE89C98, + [0x9278] = 0xE98185, + [0x9279] = 0xE9A6B3, + [0x927A] = 0xE7AF89, + [0x927B] = 0xE7959C, + [0x927C] = 0xE7ABB9, + [0x927D] = 0xE7AD91, + [0x927E] = 0xE89384, + [0x9280] = 0xE98090, + [0x9281] = 0xE7A7A9, + [0x9282] = 0xE7AA92, + [0x9283] = 0xE88CB6, + [0x9284] = 0xE5ABA1, + [0x9285] = 0xE79D80, + [0x9286] = 0xE4B8AD, + [0x9287] = 0xE4BBB2, + [0x9288] = 0xE5AE99, + [0x9289] = 0xE5BFA0, + [0x928A] = 0xE68ABD, + [0x928B] = 0xE698BC, + [0x928C] = 0xE69FB1, + [0x928D] = 0xE6B3A8, + [0x928E] = 0xE899AB, + [0x928F] = 0xE8A1B7, + [0x9290] = 0xE8A8BB, + [0x9291] = 0xE9858E, + [0x9292] = 0xE98BB3, + [0x9293] = 0xE9A790, + [0x9294] = 0xE6A897, + [0x9295] = 0xE780A6, + [0x9296] = 0xE78CAA, + [0x9297] = 0xE88BA7, + [0x9298] = 0xE89197, + [0x9299] = 0xE8B2AF, + [0x929A] = 0xE4B881, + [0x929B] = 0xE58586, + [0x929C] = 0xE5878B, + [0x929D] = 0xE5968B, + [0x929E] = 0xE5AFB5, + [0x929F] = 0xE5B896, + [0x92A0] = 0xE5B8B3, + [0x92A1] = 0xE5BA81, + [0x92A2] = 0xE5BC94, + [0x92A3] = 0xE5BCB5, + [0x92A4] = 0xE5BDAB, + [0x92A5] = 0xE5BEB4, + [0x92A6] = 0xE687B2, + [0x92A7] = 0xE68C91, + [0x92A8] = 0xE69AA2, + [0x92A9] = 0xE69C9D, + [0x92AA] = 0xE6BDAE, + [0x92AB] = 0xE78992, + [0x92AC] = 0xE794BA, + [0x92AD] = 0xE79CBA, + [0x92AE] = 0xE881B4, + [0x92AF] = 0xE884B9, + [0x92B0] = 0xE885B8, + [0x92B1] = 0xE89DB6, + [0x92B2] = 0xE8AABF, + [0x92B3] = 0xE8AB9C, + [0x92B4] = 0xE8B685, + [0x92B5] = 0xE8B7B3, + [0x92B6] = 0xE98A9A, + [0x92B7] = 0xE995B7, + [0x92B8] = 0xE9A082, + [0x92B9] = 0xE9B3A5, + [0x92BA] = 0xE58B85, + [0x92BB] = 0xE68D97, + [0x92BC] = 0xE79BB4, + [0x92BD] = 0xE69C95, + [0x92BE] = 0xE6B288, + [0x92BF] = 0xE78F8D, + [0x92C0] = 0xE8B383, + [0x92C1] = 0xE98EAE, + [0x92C2] = 0xE999B3, + [0x92C3] = 0xE6B4A5, + [0x92C4] = 0xE5A29C, + [0x92C5] = 0xE6A48E, + [0x92C6] = 0xE6A78C, + [0x92C7] = 0xE8BFBD, + [0x92C8] = 0xE98E9A, + [0x92C9] = 0xE7979B, + [0x92CA] = 0xE9809A, + [0x92CB] = 0xE5A19A, + [0x92CC] = 0xE6A082, + [0x92CD] = 0xE68EB4, + [0x92CE] = 0xE6A7BB, + [0x92CF] = 0xE4BD83, + [0x92D0] = 0xE6BCAC, + [0x92D1] = 0xE69F98, + [0x92D2] = 0xE8BEBB, + [0x92D3] = 0xE894A6, + [0x92D4] = 0xE7B6B4, + [0x92D5] = 0xE98D94, + [0x92D6] = 0xE6A4BF, + [0x92D7] = 0xE6BDB0, + [0x92D8] = 0xE59DAA, + [0x92D9] = 0xE5A3B7, + [0x92DA] = 0xE5ACAC, + [0x92DB] = 0xE7B4AC, + [0x92DC] = 0xE788AA, + [0x92DD] = 0xE5908A, + [0x92DE] = 0xE987A3, + [0x92DF] = 0xE9B6B4, + [0x92E0] = 0xE4BAAD, + [0x92E1] = 0xE4BD8E, + [0x92E2] = 0xE5819C, + [0x92E3] = 0xE581B5, + [0x92E4] = 0xE58983, + [0x92E5] = 0xE8B29E, + [0x92E6] = 0xE59188, + [0x92E7] = 0xE5A0A4, + [0x92E8] = 0xE5AE9A, + [0x92E9] = 0xE5B89D, + [0x92EA] = 0xE5BA95, + [0x92EB] = 0xE5BAAD, + [0x92EC] = 0xE5BBB7, + [0x92ED] = 0xE5BC9F, + [0x92EE] = 0xE6828C, + [0x92EF] = 0xE68AB5, + [0x92F0] = 0xE68CBA, + [0x92F1] = 0xE68F90, + [0x92F2] = 0xE6A2AF, + [0x92F3] = 0xE6B180, + [0x92F4] = 0xE7A287, + [0x92F5] = 0xE7A68E, + [0x92F6] = 0xE7A88B, + [0x92F7] = 0xE7B7A0, + [0x92F8] = 0xE88987, + [0x92F9] = 0xE8A882, + [0x92FA] = 0xE8ABA6, + [0x92FB] = 0xE8B984, + [0x92FC] = 0xE98093, + [0x9340] = 0xE982B8, + [0x9341] = 0xE984AD, + [0x9342] = 0xE98798, + [0x9343] = 0xE9BC8E, + [0x9344] = 0xE6B3A5, + [0x9345] = 0xE69198, + [0x9346] = 0xE693A2, + [0x9347] = 0xE695B5, + [0x9348] = 0xE6BBB4, + [0x9349] = 0xE79A84, + [0x934A] = 0xE7AC9B, + [0x934B] = 0xE981A9, + [0x934C] = 0xE98F91, + [0x934D] = 0xE6BABA, + [0x934E] = 0xE593B2, + [0x934F] = 0xE5BEB9, + [0x9350] = 0xE692A4, + [0x9351] = 0xE8BD8D, + [0x9352] = 0xE8BFAD, + [0x9353] = 0xE98984, + [0x9354] = 0xE585B8, + [0x9355] = 0xE5A1AB, + [0x9356] = 0xE5A4A9, + [0x9357] = 0xE5B195, + [0x9358] = 0xE5BA97, + [0x9359] = 0xE6B7BB, + [0x935A] = 0xE7BA8F, + [0x935B] = 0xE7949C, + [0x935C] = 0xE8B2BC, + [0x935D] = 0xE8BBA2, + [0x935E] = 0xE9A19B, + [0x935F] = 0xE782B9, + [0x9360] = 0xE4BC9D, + [0x9361] = 0xE6AEBF, + [0x9362] = 0xE6BEB1, + [0x9363] = 0xE794B0, + [0x9364] = 0xE99BBB, + [0x9365] = 0xE5858E, + [0x9366] = 0xE59090, + [0x9367] = 0xE5A0B5, + [0x9368] = 0xE5A197, + [0x9369] = 0xE5A6AC, + [0x936A] = 0xE5B1A0, + [0x936B] = 0xE5BE92, + [0x936C] = 0xE69697, + [0x936D] = 0xE69D9C, + [0x936E] = 0xE6B8A1, + [0x936F] = 0xE799BB, + [0x9370] = 0xE88F9F, + [0x9371] = 0xE8B3AD, + [0x9372] = 0xE98094, + [0x9373] = 0xE983BD, + [0x9374] = 0xE98D8D, + [0x9375] = 0xE7A0A5, + [0x9376] = 0xE7A0BA, + [0x9377] = 0xE58AAA, + [0x9378] = 0xE5BAA6, + [0x9379] = 0xE59C9F, + [0x937A] = 0xE5A5B4, + [0x937B] = 0xE68092, + [0x937C] = 0xE58092, + [0x937D] = 0xE5859A, + [0x937E] = 0xE586AC, + [0x9380] = 0xE5878D, + [0x9381] = 0xE58880, + [0x9382] = 0xE59490, + [0x9383] = 0xE5A194, + [0x9384] = 0xE5A198, + [0x9385] = 0xE5A597, + [0x9386] = 0xE5AE95, + [0x9387] = 0xE5B3B6, + [0x9388] = 0xE5B68B, + [0x9389] = 0xE682BC, + [0x938A] = 0xE68A95, + [0x938B] = 0xE690AD, + [0x938C] = 0xE69DB1, + [0x938D] = 0xE6A183, + [0x938E] = 0xE6A2BC, + [0x938F] = 0xE6A39F, + [0x9390] = 0xE79B97, + [0x9391] = 0xE6B798, + [0x9392] = 0xE6B9AF, + [0x9393] = 0xE6B69B, + [0x9394] = 0xE781AF, + [0x9395] = 0xE78788, + [0x9396] = 0xE5BD93, + [0x9397] = 0xE79798, + [0x9398] = 0xE7A5B7, + [0x9399] = 0xE7AD89, + [0x939A] = 0xE7AD94, + [0x939B] = 0xE7AD92, + [0x939C] = 0xE7B396, + [0x939D] = 0xE7B5B1, + [0x939E] = 0xE588B0, + [0x939F] = 0xE891A3, + [0x93A0] = 0xE895A9, + [0x93A1] = 0xE897A4, + [0x93A2] = 0xE8A88E, + [0x93A3] = 0xE8AC84, + [0x93A4] = 0xE8B186, + [0x93A5] = 0xE8B88F, + [0x93A6] = 0xE98083, + [0x93A7] = 0xE9808F, + [0x93A8] = 0xE99099, + [0x93A9] = 0xE999B6, + [0x93AA] = 0xE9A0AD, + [0x93AB] = 0xE9A8B0, + [0x93AC] = 0xE99798, + [0x93AD] = 0xE5838D, + [0x93AE] = 0xE58B95, + [0x93AF] = 0xE5908C, + [0x93B0] = 0xE5A082, + [0x93B1] = 0xE5B08E, + [0x93B2] = 0xE686A7, + [0x93B3] = 0xE6929E, + [0x93B4] = 0xE6B49E, + [0x93B5] = 0xE79EB3, + [0x93B6] = 0xE7ABA5, + [0x93B7] = 0xE883B4, + [0x93B8] = 0xE89084, + [0x93B9] = 0xE98193, + [0x93BA] = 0xE98A85, + [0x93BB] = 0xE5B3A0, + [0x93BC] = 0xE9B487, + [0x93BD] = 0xE58CBF, + [0x93BE] = 0xE5BE97, + [0x93BF] = 0xE5BEB3, + [0x93C0] = 0xE6B69C, + [0x93C1] = 0xE789B9, + [0x93C2] = 0xE79DA3, + [0x93C3] = 0xE7A6BF, + [0x93C4] = 0xE7AFA4, + [0x93C5] = 0xE6AF92, + [0x93C6] = 0xE78BAC, + [0x93C7] = 0xE8AAAD, + [0x93C8] = 0xE6A083, + [0x93C9] = 0xE6A9A1, + [0x93CA] = 0xE587B8, + [0x93CB] = 0xE7AA81, + [0x93CC] = 0xE6A4B4, + [0x93CD] = 0xE5B18A, + [0x93CE] = 0xE9B3B6, + [0x93CF] = 0xE88BAB, + [0x93D0] = 0xE5AF85, + [0x93D1] = 0xE98589, + [0x93D2] = 0xE7809E, + [0x93D3] = 0xE599B8, + [0x93D4] = 0xE5B1AF, + [0x93D5] = 0xE68387, + [0x93D6] = 0xE695A6, + [0x93D7] = 0xE6B28C, + [0x93D8] = 0xE8B19A, + [0x93D9] = 0xE98181, + [0x93DA] = 0xE9A093, + [0x93DB] = 0xE59191, + [0x93DC] = 0xE69B87, + [0x93DD] = 0xE9888D, + [0x93DE] = 0xE5A588, + [0x93DF] = 0xE982A3, + [0x93E0] = 0xE58685, + [0x93E1] = 0xE4B98D, + [0x93E2] = 0xE587AA, + [0x93E3] = 0xE89699, + [0x93E4] = 0xE8AC8E, + [0x93E5] = 0xE78198, + [0x93E6] = 0xE68DBA, + [0x93E7] = 0xE98D8B, + [0x93E8] = 0xE6A5A2, + [0x93E9] = 0xE9A6B4, + [0x93EA] = 0xE7B884, + [0x93EB] = 0xE795B7, + [0x93EC] = 0xE58D97, + [0x93ED] = 0xE6A5A0, + [0x93EE] = 0xE8BB9F, + [0x93EF] = 0xE99BA3, + [0x93F0] = 0xE6B19D, + [0x93F1] = 0xE4BA8C, + [0x93F2] = 0xE5B0BC, + [0x93F3] = 0xE5BC90, + [0x93F4] = 0xE8BFA9, + [0x93F5] = 0xE58C82, + [0x93F6] = 0xE8B391, + [0x93F7] = 0xE88289, + [0x93F8] = 0xE899B9, + [0x93F9] = 0xE5BBBF, + [0x93FA] = 0xE697A5, + [0x93FB] = 0xE4B9B3, + [0x93FC] = 0xE585A5, + [0x9440] = 0xE5A682, + [0x9441] = 0xE5B0BF, + [0x9442] = 0xE99FAE, + [0x9443] = 0xE4BBBB, + [0x9444] = 0xE5A68A, + [0x9445] = 0xE5BF8D, + [0x9446] = 0xE8AA8D, + [0x9447] = 0xE6BFA1, + [0x9448] = 0xE7A6B0, + [0x9449] = 0xE7A5A2, + [0x944A] = 0xE5AFA7, + [0x944B] = 0xE891B1, + [0x944C] = 0xE78CAB, + [0x944D] = 0xE786B1, + [0x944E] = 0xE5B9B4, + [0x944F] = 0xE5BFB5, + [0x9450] = 0xE68DBB, + [0x9451] = 0xE6929A, + [0x9452] = 0xE78783, + [0x9453] = 0xE7B298, + [0x9454] = 0xE4B983, + [0x9455] = 0xE5BBBC, + [0x9456] = 0xE4B98B, + [0x9457] = 0xE59F9C, + [0x9458] = 0xE59AA2, + [0x9459] = 0xE682A9, + [0x945A] = 0xE6BF83, + [0x945B] = 0xE7B48D, + [0x945C] = 0xE883BD, + [0x945D] = 0xE884B3, + [0x945E] = 0xE886BF, + [0x945F] = 0xE8BEB2, + [0x9460] = 0xE8A697, + [0x9461] = 0xE89AA4, + [0x9462] = 0xE5B7B4, + [0x9463] = 0xE68A8A, + [0x9464] = 0xE692AD, + [0x9465] = 0xE8A687, + [0x9466] = 0xE69DB7, + [0x9467] = 0xE6B3A2, + [0x9468] = 0xE6B4BE, + [0x9469] = 0xE790B6, + [0x946A] = 0xE7A0B4, + [0x946B] = 0xE5A986, + [0x946C] = 0xE7BDB5, + [0x946D] = 0xE88AAD, + [0x946E] = 0xE9A6AC, + [0x946F] = 0xE4BFB3, + [0x9470] = 0xE5BB83, + [0x9471] = 0xE68B9D, + [0x9472] = 0xE68E92, + [0x9473] = 0xE69597, + [0x9474] = 0xE69DAF, + [0x9475] = 0xE79B83, + [0x9476] = 0xE7898C, + [0x9477] = 0xE8838C, + [0x9478] = 0xE882BA, + [0x9479] = 0xE8BCA9, + [0x947A] = 0xE9858D, + [0x947B] = 0xE5808D, + [0x947C] = 0xE59FB9, + [0x947D] = 0xE5AA92, + [0x947E] = 0xE6A285, + [0x9480] = 0xE6A5B3, + [0x9481] = 0xE785A4, + [0x9482] = 0xE78BBD, + [0x9483] = 0xE8B2B7, + [0x9484] = 0xE5A3B2, + [0x9485] = 0xE8B3A0, + [0x9486] = 0xE999AA, + [0x9487] = 0xE98099, + [0x9488] = 0xE89DBF, + [0x9489] = 0xE7A7A4, + [0x948A] = 0xE79FA7, + [0x948B] = 0xE890A9, + [0x948C] = 0xE4BCAF, + [0x948D] = 0xE589A5, + [0x948E] = 0xE58D9A, + [0x948F] = 0xE68B8D, + [0x9490] = 0xE69F8F, + [0x9491] = 0xE6B38A, + [0x9492] = 0xE799BD, + [0x9493] = 0xE7AE94, + [0x9494] = 0xE7B295, + [0x9495] = 0xE888B6, + [0x9496] = 0xE89684, + [0x9497] = 0xE8BFAB, + [0x9498] = 0xE69B9D, + [0x9499] = 0xE6BCA0, + [0x949A] = 0xE78886, + [0x949B] = 0xE7B89B, + [0x949C] = 0xE88EAB, + [0x949D] = 0xE9A781, + [0x949E] = 0xE9BAA6, + [0x949F] = 0xE587BD, + [0x94A0] = 0xE7AEB1, + [0x94A1] = 0xE7A1B2, + [0x94A2] = 0xE7AEB8, + [0x94A3] = 0xE88287, + [0x94A4] = 0xE7AD88, + [0x94A5] = 0xE6ABA8, + [0x94A6] = 0xE5B9A1, + [0x94A7] = 0xE8828C, + [0x94A8] = 0xE79591, + [0x94A9] = 0xE795A0, + [0x94AA] = 0xE585AB, + [0x94AB] = 0xE989A2, + [0x94AC] = 0xE6BA8C, + [0x94AD] = 0xE799BA, + [0x94AE] = 0xE98697, + [0x94AF] = 0xE9ABAA, + [0x94B0] = 0xE4BC90, + [0x94B1] = 0xE7BDB0, + [0x94B2] = 0xE68A9C, + [0x94B3] = 0xE7AD8F, + [0x94B4] = 0xE996A5, + [0x94B5] = 0xE9B3A9, + [0x94B6] = 0xE599BA, + [0x94B7] = 0xE5A199, + [0x94B8] = 0xE89BA4, + [0x94B9] = 0xE99ABC, + [0x94BA] = 0xE4BCB4, + [0x94BB] = 0xE588A4, + [0x94BC] = 0xE58D8A, + [0x94BD] = 0xE58F8D, + [0x94BE] = 0xE58F9B, + [0x94BF] = 0xE5B886, + [0x94C0] = 0xE690AC, + [0x94C1] = 0xE69691, + [0x94C2] = 0xE69DBF, + [0x94C3] = 0xE6B0BE, + [0x94C4] = 0xE6B18E, + [0x94C5] = 0xE78988, + [0x94C6] = 0xE78AAF, + [0x94C7] = 0xE78FAD, + [0x94C8] = 0xE79594, + [0x94C9] = 0xE7B981, + [0x94CA] = 0xE888AC, + [0x94CB] = 0xE897A9, + [0x94CC] = 0xE8B2A9, + [0x94CD] = 0xE7AF84, + [0x94CE] = 0xE98786, + [0x94CF] = 0xE785A9, + [0x94D0] = 0xE9A092, + [0x94D1] = 0xE9A3AF, + [0x94D2] = 0xE68CBD, + [0x94D3] = 0xE699A9, + [0x94D4] = 0xE795AA, + [0x94D5] = 0xE79BA4, + [0x94D6] = 0xE7A390, + [0x94D7] = 0xE89583, + [0x94D8] = 0xE89BAE, + [0x94D9] = 0xE58CAA, + [0x94DA] = 0xE58D91, + [0x94DB] = 0xE590A6, + [0x94DC] = 0xE5A683, + [0x94DD] = 0xE5BA87, + [0x94DE] = 0xE5BDBC, + [0x94DF] = 0xE682B2, + [0x94E0] = 0xE68989, + [0x94E1] = 0xE689B9, + [0x94E2] = 0xE68AAB, + [0x94E3] = 0xE69690, + [0x94E4] = 0xE6AF94, + [0x94E5] = 0xE6B38C, + [0x94E6] = 0xE796B2, + [0x94E7] = 0xE79AAE, + [0x94E8] = 0xE7A291, + [0x94E9] = 0xE7A798, + [0x94EA] = 0xE7B78B, + [0x94EB] = 0xE7BDB7, + [0x94EC] = 0xE882A5, + [0x94ED] = 0xE8A2AB, + [0x94EE] = 0xE8AAB9, + [0x94EF] = 0xE8B2BB, + [0x94F0] = 0xE981BF, + [0x94F1] = 0xE99D9E, + [0x94F2] = 0xE9A39B, + [0x94F3] = 0xE6A88B, + [0x94F4] = 0xE7B0B8, + [0x94F5] = 0xE58299, + [0x94F6] = 0xE5B0BE, + [0x94F7] = 0xE5BEAE, + [0x94F8] = 0xE69E87, + [0x94F9] = 0xE6AF98, + [0x94FA] = 0xE790B5, + [0x94FB] = 0xE79C89, + [0x94FC] = 0xE7BE8E, + [0x9540] = 0xE9BCBB, + [0x9541] = 0xE69F8A, + [0x9542] = 0xE7A897, + [0x9543] = 0xE58CB9, + [0x9544] = 0xE7968B, + [0x9545] = 0xE9ABAD, + [0x9546] = 0xE5BDA6, + [0x9547] = 0xE8869D, + [0x9548] = 0xE88FB1, + [0x9549] = 0xE88298, + [0x954A] = 0xE5BCBC, + [0x954B] = 0xE5BF85, + [0x954C] = 0xE795A2, + [0x954D] = 0xE7AD86, + [0x954E] = 0xE980BC, + [0x954F] = 0xE6A1A7, + [0x9550] = 0xE5A7AB, + [0x9551] = 0xE5AA9B, + [0x9552] = 0xE7B490, + [0x9553] = 0xE799BE, + [0x9554] = 0xE8ACAC, + [0x9555] = 0xE4BFB5, + [0x9556] = 0xE5BDAA, + [0x9557] = 0xE6A899, + [0x9558] = 0xE6B0B7, + [0x9559] = 0xE6BC82, + [0x955A] = 0xE793A2, + [0x955B] = 0xE7A5A8, + [0x955C] = 0xE8A1A8, + [0x955D] = 0xE8A995, + [0x955E] = 0xE8B1B9, + [0x955F] = 0xE5BB9F, + [0x9560] = 0xE68F8F, + [0x9561] = 0xE79785, + [0x9562] = 0xE7A792, + [0x9563] = 0xE88B97, + [0x9564] = 0xE98CA8, + [0x9565] = 0xE98BB2, + [0x9566] = 0xE8929C, + [0x9567] = 0xE89BAD, + [0x9568] = 0xE9B0AD, + [0x9569] = 0xE59381, + [0x956A] = 0xE5BDAC, + [0x956B] = 0xE6968C, + [0x956C] = 0xE6B59C, + [0x956D] = 0xE78095, + [0x956E] = 0xE8B2A7, + [0x956F] = 0xE8B393, + [0x9570] = 0xE9A0BB, + [0x9571] = 0xE6958F, + [0x9572] = 0xE793B6, + [0x9573] = 0xE4B88D, + [0x9574] = 0xE4BB98, + [0x9575] = 0xE59FA0, + [0x9576] = 0xE5A4AB, + [0x9577] = 0xE5A9A6, + [0x9578] = 0xE5AF8C, + [0x9579] = 0xE586A8, + [0x957A] = 0xE5B883, + [0x957B] = 0xE5BA9C, + [0x957C] = 0xE68096, + [0x957D] = 0xE689B6, + [0x957E] = 0xE695B7, + [0x9580] = 0xE696A7, + [0x9581] = 0xE699AE, + [0x9582] = 0xE6B5AE, + [0x9583] = 0xE788B6, + [0x9584] = 0xE7ACA6, + [0x9585] = 0xE88590, + [0x9586] = 0xE8869A, + [0x9587] = 0xE88A99, + [0x9588] = 0xE8AD9C, + [0x9589] = 0xE8B2A0, + [0x958A] = 0xE8B3A6, + [0x958B] = 0xE8B5B4, + [0x958C] = 0xE9989C, + [0x958D] = 0xE99984, + [0x958E] = 0xE4BEAE, + [0x958F] = 0xE692AB, + [0x9590] = 0xE6ADA6, + [0x9591] = 0xE8889E, + [0x9592] = 0xE891A1, + [0x9593] = 0xE895AA, + [0x9594] = 0xE983A8, + [0x9595] = 0xE5B081, + [0x9596] = 0xE6A593, + [0x9597] = 0xE9A2A8, + [0x9598] = 0xE891BA, + [0x9599] = 0xE89597, + [0x959A] = 0xE4BC8F, + [0x959B] = 0xE589AF, + [0x959C] = 0xE5BEA9, + [0x959D] = 0xE5B985, + [0x959E] = 0xE69C8D, + [0x959F] = 0xE7A68F, + [0x95A0] = 0xE885B9, + [0x95A1] = 0xE8A487, + [0x95A2] = 0xE8A686, + [0x95A3] = 0xE6B7B5, + [0x95A4] = 0xE5BC97, + [0x95A5] = 0xE68995, + [0x95A6] = 0xE6B2B8, + [0x95A7] = 0xE4BB8F, + [0x95A8] = 0xE789A9, + [0x95A9] = 0xE9AE92, + [0x95AA] = 0xE58886, + [0x95AB] = 0xE590BB, + [0x95AC] = 0xE599B4, + [0x95AD] = 0xE5A2B3, + [0x95AE] = 0xE686A4, + [0x95AF] = 0xE689AE, + [0x95B0] = 0xE7849A, + [0x95B1] = 0xE5A5AE, + [0x95B2] = 0xE7B289, + [0x95B3] = 0xE7B39E, + [0x95B4] = 0xE7B49B, + [0x95B5] = 0xE99BB0, + [0x95B6] = 0xE69687, + [0x95B7] = 0xE8819E, + [0x95B8] = 0xE4B899, + [0x95B9] = 0xE4BDB5, + [0x95BA] = 0xE585B5, + [0x95BB] = 0xE5A180, + [0x95BC] = 0xE5B9A3, + [0x95BD] = 0xE5B9B3, + [0x95BE] = 0xE5BC8A, + [0x95BF] = 0xE69F84, + [0x95C0] = 0xE4B8A6, + [0x95C1] = 0xE894BD, + [0x95C2] = 0xE99689, + [0x95C3] = 0xE9999B, + [0x95C4] = 0xE7B1B3, + [0x95C5] = 0xE9A081, + [0x95C6] = 0xE583BB, + [0x95C7] = 0xE5A381, + [0x95C8] = 0xE79996, + [0x95C9] = 0xE7A2A7, + [0x95CA] = 0xE588A5, + [0x95CB] = 0xE79EA5, + [0x95CC] = 0xE89491, + [0x95CD] = 0xE7AE86, + [0x95CE] = 0xE5818F, + [0x95CF] = 0xE5A489, + [0x95D0] = 0xE78987, + [0x95D1] = 0xE7AF87, + [0x95D2] = 0xE7B7A8, + [0x95D3] = 0xE8BEBA, + [0x95D4] = 0xE8BF94, + [0x95D5] = 0xE9818D, + [0x95D6] = 0xE4BEBF, + [0x95D7] = 0xE58B89, + [0x95D8] = 0xE5A8A9, + [0x95D9] = 0xE5BC81, + [0x95DA] = 0xE99EAD, + [0x95DB] = 0xE4BF9D, + [0x95DC] = 0xE88897, + [0x95DD] = 0xE98BAA, + [0x95DE] = 0xE59C83, + [0x95DF] = 0xE68D95, + [0x95E0] = 0xE6ADA9, + [0x95E1] = 0xE794AB, + [0x95E2] = 0xE8A39C, + [0x95E3] = 0xE8BC94, + [0x95E4] = 0xE7A982, + [0x95E5] = 0xE58B9F, + [0x95E6] = 0xE5A293, + [0x95E7] = 0xE68595, + [0x95E8] = 0xE6888A, + [0x95E9] = 0xE69AAE, + [0x95EA] = 0xE6AF8D, + [0x95EB] = 0xE7B0BF, + [0x95EC] = 0xE88FA9, + [0x95ED] = 0xE580A3, + [0x95EE] = 0xE4BFB8, + [0x95EF] = 0xE58C85, + [0x95F0] = 0xE59186, + [0x95F1] = 0xE5A0B1, + [0x95F2] = 0xE5A589, + [0x95F3] = 0xE5AE9D, + [0x95F4] = 0xE5B3B0, + [0x95F5] = 0xE5B3AF, + [0x95F6] = 0xE5B4A9, + [0x95F7] = 0xE5BA96, + [0x95F8] = 0xE68AB1, + [0x95F9] = 0xE68DA7, + [0x95FA] = 0xE694BE, + [0x95FB] = 0xE696B9, + [0x95FC] = 0xE69C8B, + [0x9640] = 0xE6B395, + [0x9641] = 0xE6B3A1, + [0x9642] = 0xE783B9, + [0x9643] = 0xE7A0B2, + [0x9644] = 0xE7B8AB, + [0x9645] = 0xE8839E, + [0x9646] = 0xE88AB3, + [0x9647] = 0xE8908C, + [0x9648] = 0xE893AC, + [0x9649] = 0xE89C82, + [0x964A] = 0xE8A492, + [0x964B] = 0xE8A8AA, + [0x964C] = 0xE8B18A, + [0x964D] = 0xE982A6, + [0x964E] = 0xE98B92, + [0x964F] = 0xE9A3BD, + [0x9650] = 0xE9B3B3, + [0x9651] = 0xE9B5AC, + [0x9652] = 0xE4B98F, + [0x9653] = 0xE4BAA1, + [0x9654] = 0xE5828D, + [0x9655] = 0xE58996, + [0x9656] = 0xE59D8A, + [0x9657] = 0xE5A6A8, + [0x9658] = 0xE5B8BD, + [0x9659] = 0xE5BF98, + [0x965A] = 0xE5BF99, + [0x965B] = 0xE688BF, + [0x965C] = 0xE69AB4, + [0x965D] = 0xE69C9B, + [0x965E] = 0xE69F90, + [0x965F] = 0xE6A392, + [0x9660] = 0xE58692, + [0x9661] = 0xE7B4A1, + [0x9662] = 0xE882AA, + [0x9663] = 0xE886A8, + [0x9664] = 0xE8AC80, + [0x9665] = 0xE8B28C, + [0x9666] = 0xE8B2BF, + [0x9667] = 0xE989BE, + [0x9668] = 0xE998B2, + [0x9669] = 0xE590A0, + [0x966A] = 0xE9A0AC, + [0x966B] = 0xE58C97, + [0x966C] = 0xE58395, + [0x966D] = 0xE58D9C, + [0x966E] = 0xE5A2A8, + [0x966F] = 0xE692B2, + [0x9670] = 0xE69CB4, + [0x9671] = 0xE789A7, + [0x9672] = 0xE79DA6, + [0x9673] = 0xE7A986, + [0x9674] = 0xE987A6, + [0x9675] = 0xE58B83, + [0x9676] = 0xE6B2A1, + [0x9677] = 0xE6AE86, + [0x9678] = 0xE5A080, + [0x9679] = 0xE5B98C, + [0x967A] = 0xE5A594, + [0x967B] = 0xE69CAC, + [0x967C] = 0xE7BFBB, + [0x967D] = 0xE587A1, + [0x967E] = 0xE79B86, + [0x9680] = 0xE691A9, + [0x9681] = 0xE7A3A8, + [0x9682] = 0xE9AD94, + [0x9683] = 0xE9BABB, + [0x9684] = 0xE59F8B, + [0x9685] = 0xE5A6B9, + [0x9686] = 0xE698A7, + [0x9687] = 0xE69E9A, + [0x9688] = 0xE6AF8E, + [0x9689] = 0xE593A9, + [0x968A] = 0xE6A799, + [0x968B] = 0xE5B995, + [0x968C] = 0xE8869C, + [0x968D] = 0xE69E95, + [0x968E] = 0xE9AEAA, + [0x968F] = 0xE69FBE, + [0x9690] = 0xE9B192, + [0x9691] = 0xE6A19D, + [0x9692] = 0xE4BAA6, + [0x9693] = 0xE4BFA3, + [0x9694] = 0xE58F88, + [0x9695] = 0xE68AB9, + [0x9696] = 0xE69CAB, + [0x9697] = 0xE6B2AB, + [0x9698] = 0xE8BF84, + [0x9699] = 0xE4BEAD, + [0x969A] = 0xE7B9AD, + [0x969B] = 0xE9BABF, + [0x969C] = 0xE4B887, + [0x969D] = 0xE685A2, + [0x969E] = 0xE6BA80, + [0x969F] = 0xE6BCAB, + [0x96A0] = 0xE89493, + [0x96A1] = 0xE591B3, + [0x96A2] = 0xE69CAA, + [0x96A3] = 0xE9AD85, + [0x96A4] = 0xE5B7B3, + [0x96A5] = 0xE7AE95, + [0x96A6] = 0xE5B2AC, + [0x96A7] = 0xE5AF86, + [0x96A8] = 0xE89C9C, + [0x96A9] = 0xE6B98A, + [0x96AA] = 0xE89391, + [0x96AB] = 0xE7A894, + [0x96AC] = 0xE88488, + [0x96AD] = 0xE5A699, + [0x96AE] = 0xE7B28D, + [0x96AF] = 0xE6B091, + [0x96B0] = 0xE79CA0, + [0x96B1] = 0xE58B99, + [0x96B2] = 0xE5A4A2, + [0x96B3] = 0xE784A1, + [0x96B4] = 0xE7899F, + [0x96B5] = 0xE79F9B, + [0x96B6] = 0xE99CA7, + [0x96B7] = 0xE9B5A1, + [0x96B8] = 0xE6A48B, + [0x96B9] = 0xE5A9BF, + [0x96BA] = 0xE5A898, + [0x96BB] = 0xE586A5, + [0x96BC] = 0xE5908D, + [0x96BD] = 0xE591BD, + [0x96BE] = 0xE6988E, + [0x96BF] = 0xE79B9F, + [0x96C0] = 0xE8BFB7, + [0x96C1] = 0xE98A98, + [0x96C2] = 0xE9B3B4, + [0x96C3] = 0xE5A7AA, + [0x96C4] = 0xE7899D, + [0x96C5] = 0xE6BB85, + [0x96C6] = 0xE5858D, + [0x96C7] = 0xE6A389, + [0x96C8] = 0xE7B6BF, + [0x96C9] = 0xE7B7AC, + [0x96CA] = 0xE99DA2, + [0x96CB] = 0xE9BABA, + [0x96CC] = 0xE691B8, + [0x96CD] = 0xE6A8A1, + [0x96CE] = 0xE88C82, + [0x96CF] = 0xE5A684, + [0x96D0] = 0xE5AD9F, + [0x96D1] = 0xE6AF9B, + [0x96D2] = 0xE78C9B, + [0x96D3] = 0xE79BB2, + [0x96D4] = 0xE7B6B2, + [0x96D5] = 0xE88097, + [0x96D6] = 0xE89299, + [0x96D7] = 0xE584B2, + [0x96D8] = 0xE69CA8, + [0x96D9] = 0xE9BB99, + [0x96DA] = 0xE79BAE, + [0x96DB] = 0xE69DA2, + [0x96DC] = 0xE58BBF, + [0x96DD] = 0xE9A485, + [0x96DE] = 0xE5B0A4, + [0x96DF] = 0xE688BB, + [0x96E0] = 0xE7B1BE, + [0x96E1] = 0xE8B2B0, + [0x96E2] = 0xE5958F, + [0x96E3] = 0xE682B6, + [0x96E4] = 0xE7B48B, + [0x96E5] = 0xE99680, + [0x96E6] = 0xE58C81, + [0x96E7] = 0xE4B99F, + [0x96E8] = 0xE586B6, + [0x96E9] = 0xE5A49C, + [0x96EA] = 0xE788BA, + [0x96EB] = 0xE880B6, + [0x96EC] = 0xE9878E, + [0x96ED] = 0xE5BCA5, + [0x96EE] = 0xE79FA2, + [0x96EF] = 0xE58E84, + [0x96F0] = 0xE5BDB9, + [0x96F1] = 0xE7B484, + [0x96F2] = 0xE896AC, + [0x96F3] = 0xE8A8B3, + [0x96F4] = 0xE8BA8D, + [0x96F5] = 0xE99D96, + [0x96F6] = 0xE69FB3, + [0x96F7] = 0xE896AE, + [0x96F8] = 0xE99193, + [0x96F9] = 0xE68489, + [0x96FA] = 0xE68488, + [0x96FB] = 0xE6B2B9, + [0x96FC] = 0xE79992, + [0x9740] = 0xE8ABAD, + [0x9741] = 0xE8BCB8, + [0x9742] = 0xE594AF, + [0x9743] = 0xE4BD91, + [0x9744] = 0xE584AA, + [0x9745] = 0xE58B87, + [0x9746] = 0xE58F8B, + [0x9747] = 0xE5AEA5, + [0x9748] = 0xE5B9BD, + [0x9749] = 0xE682A0, + [0x974A] = 0xE68682, + [0x974B] = 0xE68F96, + [0x974C] = 0xE69C89, + [0x974D] = 0xE69F9A, + [0x974E] = 0xE6B9A7, + [0x974F] = 0xE6B68C, + [0x9750] = 0xE78CB6, + [0x9751] = 0xE78CB7, + [0x9752] = 0xE794B1, + [0x9753] = 0xE7A590, + [0x9754] = 0xE8A395, + [0x9755] = 0xE8AA98, + [0x9756] = 0xE9818A, + [0x9757] = 0xE98291, + [0x9758] = 0xE983B5, + [0x9759] = 0xE99B84, + [0x975A] = 0xE89E8D, + [0x975B] = 0xE5A495, + [0x975C] = 0xE4BA88, + [0x975D] = 0xE4BD99, + [0x975E] = 0xE4B88E, + [0x975F] = 0xE8AA89, + [0x9760] = 0xE8BCBF, + [0x9761] = 0xE9A090, + [0x9762] = 0xE582AD, + [0x9763] = 0xE5B9BC, + [0x9764] = 0xE5A696, + [0x9765] = 0xE5AEB9, + [0x9766] = 0xE5BAB8, + [0x9767] = 0xE68F9A, + [0x9768] = 0xE68FBA, + [0x9769] = 0xE69381, + [0x976A] = 0xE69B9C, + [0x976B] = 0xE6A58A, + [0x976C] = 0xE6A798, + [0x976D] = 0xE6B48B, + [0x976E] = 0xE6BAB6, + [0x976F] = 0xE78694, + [0x9770] = 0xE794A8, + [0x9771] = 0xE7AAAF, + [0x9772] = 0xE7BE8A, + [0x9773] = 0xE88080, + [0x9774] = 0xE89189, + [0x9775] = 0xE89389, + [0x9776] = 0xE8A681, + [0x9777] = 0xE8ACA1, + [0x9778] = 0xE8B88A, + [0x9779] = 0xE981A5, + [0x977A] = 0xE999BD, + [0x977B] = 0xE9A48A, + [0x977C] = 0xE685BE, + [0x977D] = 0xE68A91, + [0x977E] = 0xE6ACB2, + [0x9780] = 0xE6B283, + [0x9781] = 0xE6B5B4, + [0x9782] = 0xE7BF8C, + [0x9783] = 0xE7BFBC, + [0x9784] = 0xE6B780, + [0x9785] = 0xE7BE85, + [0x9786] = 0xE89EBA, + [0x9787] = 0xE8A3B8, + [0x9788] = 0xE69DA5, + [0x9789] = 0xE88EB1, + [0x978A] = 0xE9A0BC, + [0x978B] = 0xE99BB7, + [0x978C] = 0xE6B49B, + [0x978D] = 0xE7B5A1, + [0x978E] = 0xE890BD, + [0x978F] = 0xE985AA, + [0x9790] = 0xE4B9B1, + [0x9791] = 0xE58DB5, + [0x9792] = 0xE5B590, + [0x9793] = 0xE6AC84, + [0x9794] = 0xE6BFAB, + [0x9795] = 0xE8978D, + [0x9796] = 0xE898AD, + [0x9797] = 0xE8A6A7, + [0x9798] = 0xE588A9, + [0x9799] = 0xE5908F, + [0x979A] = 0xE5B1A5, + [0x979B] = 0xE69D8E, + [0x979C] = 0xE6A2A8, + [0x979D] = 0xE79086, + [0x979E] = 0xE79283, + [0x979F] = 0xE797A2, + [0x97A0] = 0xE8A38F, + [0x97A1] = 0xE8A3A1, + [0x97A2] = 0xE9878C, + [0x97A3] = 0xE99BA2, + [0x97A4] = 0xE999B8, + [0x97A5] = 0xE5BE8B, + [0x97A6] = 0xE78E87, + [0x97A7] = 0xE7AB8B, + [0x97A8] = 0xE8918E, + [0x97A9] = 0xE68EA0, + [0x97AA] = 0xE795A5, + [0x97AB] = 0xE58A89, + [0x97AC] = 0xE6B581, + [0x97AD] = 0xE6BA9C, + [0x97AE] = 0xE79089, + [0x97AF] = 0xE79599, + [0x97B0] = 0xE7A1AB, + [0x97B1] = 0xE7B292, + [0x97B2] = 0xE99A86, + [0x97B3] = 0xE7AB9C, + [0x97B4] = 0xE9BE8D, + [0x97B5] = 0xE4BEB6, + [0x97B6] = 0xE685AE, + [0x97B7] = 0xE69785, + [0x97B8] = 0xE8999C, + [0x97B9] = 0xE4BA86, + [0x97BA] = 0xE4BAAE, + [0x97BB] = 0xE5839A, + [0x97BC] = 0xE4B8A1, + [0x97BD] = 0xE5878C, + [0x97BE] = 0xE5AFAE, + [0x97BF] = 0xE69699, + [0x97C0] = 0xE6A281, + [0x97C1] = 0xE6B6BC, + [0x97C2] = 0xE78C9F, + [0x97C3] = 0xE79982, + [0x97C4] = 0xE79EAD, + [0x97C5] = 0xE7A89C, + [0x97C6] = 0xE7B3A7, + [0x97C7] = 0xE889AF, + [0x97C8] = 0xE8AB92, + [0x97C9] = 0xE981BC, + [0x97CA] = 0xE9878F, + [0x97CB] = 0xE999B5, + [0x97CC] = 0xE9A098, + [0x97CD] = 0xE58A9B, + [0x97CE] = 0xE7B791, + [0x97CF] = 0xE580AB, + [0x97D0] = 0xE58E98, + [0x97D1] = 0xE69E97, + [0x97D2] = 0xE6B78B, + [0x97D3] = 0xE78790, + [0x97D4] = 0xE790B3, + [0x97D5] = 0xE887A8, + [0x97D6] = 0xE8BCAA, + [0x97D7] = 0xE99AA3, + [0x97D8] = 0xE9B197, + [0x97D9] = 0xE9BA9F, + [0x97DA] = 0xE791A0, + [0x97DB] = 0xE5A181, + [0x97DC] = 0xE6B699, + [0x97DD] = 0xE7B4AF, + [0x97DE] = 0xE9A19E, + [0x97DF] = 0xE4BBA4, + [0x97E0] = 0xE4BCB6, + [0x97E1] = 0xE4BE8B, + [0x97E2] = 0xE586B7, + [0x97E3] = 0xE58AB1, + [0x97E4] = 0xE5B6BA, + [0x97E5] = 0xE6809C, + [0x97E6] = 0xE78EB2, + [0x97E7] = 0xE7A4BC, + [0x97E8] = 0xE88B93, + [0x97E9] = 0xE988B4, + [0x97EA] = 0xE99AB7, + [0x97EB] = 0xE99BB6, + [0x97EC] = 0xE99C8A, + [0x97ED] = 0xE9BA97, + [0x97EE] = 0xE9BDA2, + [0x97EF] = 0xE69AA6, + [0x97F0] = 0xE6ADB4, + [0x97F1] = 0xE58897, + [0x97F2] = 0xE58AA3, + [0x97F3] = 0xE78388, + [0x97F4] = 0xE8A382, + [0x97F5] = 0xE5BB89, + [0x97F6] = 0xE6818B, + [0x97F7] = 0xE68690, + [0x97F8] = 0xE6BCA3, + [0x97F9] = 0xE78589, + [0x97FA] = 0xE7B0BE, + [0x97FB] = 0xE7B7B4, + [0x97FC] = 0xE881AF, + [0x9840] = 0xE893AE, + [0x9841] = 0xE980A3, + [0x9842] = 0xE98CAC, + [0x9843] = 0xE59182, + [0x9844] = 0xE9ADAF, + [0x9845] = 0xE6AB93, + [0x9846] = 0xE78289, + [0x9847] = 0xE8B382, + [0x9848] = 0xE8B7AF, + [0x9849] = 0xE99CB2, + [0x984A] = 0xE58AB4, + [0x984B] = 0xE5A981, + [0x984C] = 0xE5BB8A, + [0x984D] = 0xE5BC84, + [0x984E] = 0xE69C97, + [0x984F] = 0xE6A5BC, + [0x9850] = 0xE6A694, + [0x9851] = 0xE6B5AA, + [0x9852] = 0xE6BC8F, + [0x9853] = 0xE789A2, + [0x9854] = 0xE78BBC, + [0x9855] = 0xE7AFAD, + [0x9856] = 0xE88081, + [0x9857] = 0xE881BE, + [0x9858] = 0xE89D8B, + [0x9859] = 0xE9838E, + [0x985A] = 0xE585AD, + [0x985B] = 0xE9BA93, + [0x985C] = 0xE7A684, + [0x985D] = 0xE8828B, + [0x985E] = 0xE98CB2, + [0x985F] = 0xE8AB96, + [0x9860] = 0xE580AD, + [0x9861] = 0xE5928C, + [0x9862] = 0xE8A9B1, + [0x9863] = 0xE6ADAA, + [0x9864] = 0xE8B384, + [0x9865] = 0xE88487, + [0x9866] = 0xE68391, + [0x9867] = 0xE69EA0, + [0x9868] = 0xE9B7B2, + [0x9869] = 0xE4BA99, + [0x986A] = 0xE4BA98, + [0x986B] = 0xE9B090, + [0x986C] = 0xE8A9AB, + [0x986D] = 0xE89781, + [0x986E] = 0xE895A8, + [0x986F] = 0xE6A480, + [0x9870] = 0xE6B9BE, + [0x9871] = 0xE7A297, + [0x9872] = 0xE88595, +} + +unicode.sjis_encode = unicode.tableaux_invert(unicode.sjis_decode) + +---Decodes 1 or 2 bytes from buffer from SJIS to UTF8 +function unicode.sjis_dec(buf, pos, bigendian) + local fmt = "I", utf8cp)) + return pos + 2, char(b1) .. char(b2) .. char(b3) + end +end + + +-- Code Page 437, native US-English Windows OEM code page +unicode.cp437_decode = { + [0x80] = 0x00c7, + [0x81] = 0x00fc, + [0x82] = 0x00e9, + [0x83] = 0x00e2, + [0x84] = 0x00e4, + [0x85] = 0x00e0, + [0x86] = 0x00e5, + [0x87] = 0x00e7, + [0x88] = 0x00ea, + [0x89] = 0x00eb, + [0x8a] = 0x00e8, + [0x8b] = 0x00ef, + [0x8c] = 0x00ee, + [0x8d] = 0x00ec, + [0x8e] = 0x00c4, + [0x8f] = 0x00c5, + [0x90] = 0x00c9, + [0x91] = 0x00e6, + [0x92] = 0x00c6, + [0x93] = 0x00f4, + [0x94] = 0x00f6, + [0x95] = 0x00f2, + [0x96] = 0x00fb, + [0x97] = 0x00f9, + [0x98] = 0x00ff, + [0x99] = 0x00d6, + [0x9a] = 0x00dc, + [0x9b] = 0x00a2, + [0x9c] = 0x00a3, + [0x9d] = 0x00a5, + [0x9e] = 0x20a7, + [0x9f] = 0x0192, + [0xa0] = 0x00e1, + [0xa1] = 0x00ed, + [0xa2] = 0x00f3, + [0xa3] = 0x00fa, + [0xa4] = 0x00f1, + [0xa5] = 0x00d1, + [0xa6] = 0x00aa, + [0xa7] = 0x00ba, + [0xa8] = 0x00bf, + [0xa9] = 0x2310, + [0xaa] = 0x00ac, + [0xab] = 0x00bd, + [0xac] = 0x00bc, + [0xad] = 0x00a1, + [0xae] = 0x00ab, + [0xaf] = 0x00bb, + [0xb0] = 0x2591, + [0xb1] = 0x2592, + [0xb2] = 0x2593, + [0xb3] = 0x2502, + [0xb4] = 0x2524, + [0xb5] = 0x2561, + [0xb6] = 0x2562, + [0xb7] = 0x2556, + [0xb8] = 0x2555, + [0xb9] = 0x2563, + [0xba] = 0x2551, + [0xbb] = 0x2557, + [0xbc] = 0x255d, + [0xbd] = 0x255c, + [0xbe] = 0x255b, + [0xbf] = 0x2510, + [0xc0] = 0x2514, + [0xc1] = 0x2534, + [0xc2] = 0x252c, + [0xc3] = 0x251c, + [0xc4] = 0x2500, + [0xc5] = 0x253c, + [0xc6] = 0x255e, + [0xc7] = 0x255f, + [0xc8] = 0x255a, + [0xc9] = 0x2554, + [0xca] = 0x2569, + [0xcb] = 0x2566, + [0xcc] = 0x2560, + [0xcd] = 0x2550, + [0xce] = 0x256c, + [0xcf] = 0x2567, + [0xd0] = 0x2568, + [0xd1] = 0x2564, + [0xd2] = 0x2565, + [0xd3] = 0x2559, + [0xd4] = 0x2558, + [0xd5] = 0x2552, + [0xd6] = 0x2553, + [0xd7] = 0x256b, + [0xd8] = 0x256a, + [0xd9] = 0x2518, + [0xda] = 0x250c, + [0xdb] = 0x2588, + [0xdc] = 0x2584, + [0xdd] = 0x258c, + [0xde] = 0x2590, + [0xdf] = 0x2580, + [0xe0] = 0x03b1, + [0xe1] = 0x00df, + [0xe2] = 0x0393, + [0xe3] = 0x03c0, + [0xe4] = 0x03a3, + [0xe5] = 0x03c3, + [0xe6] = 0x00b5, + [0xe7] = 0x03c4, + [0xe8] = 0x03a6, + [0xe9] = 0x0398, + [0xea] = 0x03a9, + [0xeb] = 0x03b4, + [0xec] = 0x221e, + [0xed] = 0x03c6, + [0xee] = 0x03b5, + [0xef] = 0x2229, + [0xf0] = 0x2261, + [0xf1] = 0x00b1, + [0xf2] = 0x2265, + [0xf3] = 0x2264, + [0xf4] = 0x2320, + [0xf5] = 0x2321, + [0xf6] = 0x00f7, + [0xf7] = 0x2248, + [0xf8] = 0x00b0, + [0xf9] = 0x2219, + [0xfa] = 0x00b7, + [0xfb] = 0x221a, + [0xfc] = 0x207f, + [0xfd] = 0x00b2, + [0xfe] = 0x25a0, + [0xff] = 0x00a0, +} +unicode.cp437_encode = unicode.tableaux_invert(unicode.cp437_decode) + +---Encode a Unicode code point to CP437 +-- +-- Returns nil if the code point cannot be found in CP437 +--@param cp The Unicode code point as a number +--@return A string containing the related CP437 character +function unicode.cp437_enc(cp) + if cp < 0x80 then + return char(cp) + else + local bv = unicode.cp437_encode[cp] + if bv == nil then + return nil + else + return char(bv) + end + end +end + +---Decodes a CP437 character +--@param buf A string containing the character +--@param pos The index in the string where the character begins +--@return pos The index in the string where the character ended +--@return cp The code point of the character as a number +function unicode.cp437_dec(buf, pos) + pos = pos or 1 + local bv = byte(buf, pos) + if bv < 0x80 then + return pos + 1, bv + else + return pos + 1, unicode.cp437_decode[bv] + end +end + +---Helper function for the common case of UTF-16 to UTF-8 transcoding, such as +--from a Windows/SMB unicode string to a printable ASCII (subset of UTF-8) +--string. +--@param from A string in UTF-16, little-endian +--@return The string in UTF-8 +function unicode.utf16to8(from) + return unicode.transcode(from, unicode.utf16_dec, unicode.utf8_enc, false, nil) +end + +---Helper function for the common case of UTF-8 to UTF-16 transcoding, such as +--from a printable ASCII (subset of UTF-8) string to a Windows/SMB unicode +--string. +--@param from A string in UTF-8 +--@return The string in UTF-16, little-endian +function unicode.utf8to16(from) + return unicode.transcode(from, unicode.utf8_dec, unicode.utf16_enc, nil, false) +end + +return unicode