From b0e24bb076a34b30e4b354ad2c0219c45ebb363e Mon Sep 17 00:00:00 2001 From: Jakub <106778416+MarekZegare4@users.noreply.github.com> Date: Fri, 2 Oct 2026 19:24:36 +0200 Subject: [PATCH] feat(eink): landscape and portrait builds, 8x13 font in landscape The L1 e-ink solo build splits in two, one per screen shape, so each screen can be laid out for a single shape. Settings > Rotation now only turns the screen upside down, and the joystick turns with it. Landscape writes in misc-fixed 8x13 at the panel's own resolution (EINK_LARGE_FONT); portrait keeps the 6x9. All drawing moves into EinkGfxDisplay, which the panel driver and the simulator share; the FreeSans fonts and the CRC32 library go. Co-Authored-By: Claude Opus 5.5 --- examples/companion_radio/Features.h | 7 + .../companion_radio/ui-new/SettingsScreen.h | 4 +- examples/companion_radio/ui-new/UITask.cpp | 10 + solo/wio-tracker-l1-eink/platformio.ini | 24 +- src/helpers/ui/DisplayDriver.h | 7 +- src/helpers/ui/EinkGfxDisplay.h | 87 + src/helpers/ui/EinkGfxDisplayImpl.h | 95 + src/helpers/ui/GxEPDDisplay.cpp | 217 +- src/helpers/ui/GxEPDDisplay.h | 88 +- src/helpers/ui/MiscFixed8x13Font.h | 2170 +++++++++++++++++ src/helpers/ui/MiscFixedRenderer.h | 73 +- 11 files changed, 2459 insertions(+), 323 deletions(-) create mode 100644 src/helpers/ui/EinkGfxDisplay.h create mode 100644 src/helpers/ui/EinkGfxDisplayImpl.h create mode 100644 src/helpers/ui/MiscFixed8x13Font.h diff --git a/examples/companion_radio/Features.h b/examples/companion_radio/Features.h index 4f28996c..330fc1f0 100644 --- a/examples/companion_radio/Features.h +++ b/examples/companion_radio/Features.h @@ -46,6 +46,13 @@ // would split the build the day this is flipped to 1. #define FEAT_RX_POWERSAVE 0 +// The display rotation at which the joystick's own up reads as up. An e-ink +// panel turned from it turns the joystick with it (UITask), on top of the +// Joystick setting. Unset, the build's own rotation: only a flip turns it. +#if defined(DISPLAY_ROTATION) && !defined(JOYSTICK_UPRIGHT_ROTATION) + #define JOYSTICK_UPRIGHT_ROTATION DISPLAY_ROTATION +#endif + namespace Features { #if defined(EINK_DISPLAY_MODEL) diff --git a/examples/companion_radio/ui-new/SettingsScreen.h b/examples/companion_radio/ui-new/SettingsScreen.h index e62b4155..bf430064 100644 --- a/examples/companion_radio/ui-new/SettingsScreen.h +++ b/examples/companion_radio/ui-new/SettingsScreen.h @@ -538,7 +538,7 @@ class SettingsScreen : public UIScreen { #endif #if FEAT_DISPLAY_ROTATION_SETTING } else if (item == ROTATION) { - val("Rotation", rotLabel(p ? p->display_rotation : 0)); + val("Rotation", rotLabel(p ? p->display_rotation - DISPLAY_ROTATION : 0)); #endif #if FEAT_JOYSTICK_ROTATION_SETTING } else if (item == JOY_ROTATION) { @@ -1040,7 +1040,7 @@ public: #endif #if FEAT_DISPLAY_ROTATION_SETTING if (_selected == ROTATION && p && (left || right || enter)) { - p->display_rotation = (p->display_rotation + (left ? 3 : 1)) & 3; + p->display_rotation ^= 2; // the build's shape, either way up _task->applyRotation(); _dirty = true; return true; diff --git a/examples/companion_radio/ui-new/UITask.cpp b/examples/companion_radio/ui-new/UITask.cpp index b17206e0..5300dc6e 100644 --- a/examples/companion_radio/ui-new/UITask.cpp +++ b/examples/companion_radio/ui-new/UITask.cpp @@ -2803,6 +2803,9 @@ void UITask::loop() { if (status_screen) ((StatusScreen*)status_screen)->sample(); // Status history lines, once a minute #if UI_HAS_JOYSTICK uint8_t joy_rot = _node_prefs ? _node_prefs->joystick_rotation : JOYSTICK_ROTATION; +#if FEAT_DISPLAY_ROTATION_SETTING && defined(JOYSTICK_UPRIGHT_ROTATION) + if (_node_prefs) joy_rot += (JOYSTICK_UPRIGHT_ROTATION - _node_prefs->display_rotation) & 3; +#endif int ev = user_btn.check(); if (ev == BUTTON_EVENT_CLICK) { if (back_btn.isPressed() && !_unlock_kb) { @@ -3606,6 +3609,13 @@ void UITask::applyBrightness() { void UITask::applyRotation() { if (_display != NULL && _node_prefs != NULL) { +#if FEAT_DISPLAY_ROTATION_SETTING && defined(DISPLAY_ROTATION) + // Each build is laid out for one shape and only turns it upside down: a + // rotation of the other shape (a fresh device's 0, another build's, or + // from before the split) comes back to this build's own. + uint8_t& rot = _node_prefs->display_rotation; + if ((rot ^ DISPLAY_ROTATION) & 1) rot = DISPLAY_ROTATION & 3; +#endif _display->setDisplayRotation(_node_prefs->display_rotation); _next_refresh = 0; } diff --git a/solo/wio-tracker-l1-eink/platformio.ini b/solo/wio-tracker-l1-eink/platformio.ini index 4e81ed88..81d958d2 100644 --- a/solo/wio-tracker-l1-eink/platformio.ini +++ b/solo/wio-tracker-l1-eink/platformio.ini @@ -4,8 +4,14 @@ ; variants in variants/, so this repo's Solo-specific additions don't get ; mixed in with configs other MeshCore forks/upstream also carry. ; -; Dual BLE+USB with added Solo -[env:WioTrackerL1Eink_companion_solo_dual] +; Two builds, one per orientation: each screen is laid out for one shape, and +; Settings > Rotation only turns it upside down. Landscape writes in the 8x13 +; font at the panel's own resolution (EINK_LARGE_FONT); portrait keeps the 6x9, +; whose narrow width wants the smaller cell. The joystick reads upright with the +; panel at rotation 1 (landscape) and turns with it (JOYSTICK_UPRIGHT_ROTATION). +; +; Both: Dual BLE+USB with added Solo. +[eink_solo] extends = WioTrackerL1Eink ; Optimise for size, not speed: the nRF52 Arduino core defaults to -Ofast ; (≈ -O3 + -ffast-math), which bloats flash by ~200 KB on this feature-rich @@ -14,10 +20,22 @@ extends = WioTrackerL1Eink ; The offline queue (messages held for the phone app while it's away) at 128, ; not the board's 256: on the nRF52 the 256 x 177 B left ~5 KB of heap next to ; the on-device UI (which keeps its own history), too little for a sign buffer. -build_unflags = -Ofast -D OFFLINE_QUEUE_SIZE=256 +build_unflags = -Ofast -D OFFLINE_QUEUE_SIZE=256 -D DISPLAY_ROTATION=1 build_flags = ${WioTrackerL1Eink.build_flags} -D OFFLINE_QUEUE_SIZE=128 -D DUAL_SERIAL=1 -D ENABLE_SCREENSHOT + -D JOYSTICK_UPRIGHT_ROTATION=1 -Os extra_scripts = post:create-uf2.py + +[env:WioTrackerL1Eink_landscape_solo_dual] +extends = eink_solo +build_flags = ${eink_solo.build_flags} + -D DISPLAY_ROTATION=1 + -D EINK_LARGE_FONT=1 + +[env:WioTrackerL1Eink_portrait_solo_dual] +extends = eink_solo +build_flags = ${eink_solo.build_flags} + -D DISPLAY_ROTATION=0 diff --git a/src/helpers/ui/DisplayDriver.h b/src/helpers/ui/DisplayDriver.h index 098efc5a..0cb3709b 100644 --- a/src/helpers/ui/DisplayDriver.h +++ b/src/helpers/ui/DisplayDriver.h @@ -81,8 +81,11 @@ public: #else bool isLandscape() const { return false; } #endif - // separator line thickness: 2px on landscape e-ink, 1px everywhere else - int sepH() const { return isLandscape() ? 2 : 1; } + // How many panel pixels draw one layout pixel: 2 where a driver doubles + // everything (landscape e-ink without its large font), else 1. + virtual int pixelScale() const { return 1; } + // separator line thickness: one layout pixel + int sepH() const { return pixelScale(); } virtual void drawTextCentered(int mid_x, int y, const char* str) { char tmp[256]; translateUTF8ToBlocks(tmp, str, sizeof(tmp)); int w = getTextWidth(tmp); diff --git a/src/helpers/ui/EinkGfxDisplay.h b/src/helpers/ui/EinkGfxDisplay.h new file mode 100644 index 00000000..e271a73f --- /dev/null +++ b/src/helpers/ui/EinkGfxDisplay.h @@ -0,0 +1,87 @@ +#pragma once + +#include +#include "DisplayDriver.h" + +class Adafruit_GFX; + +// Everything an e-ink panel draws, on top of any Adafruit_GFX: text in the +// misc-fixed font, rects, bitmaps, and a hash of each frame so an unchanged +// one never costs a refresh. GxEPDDisplay puts it on a real panel; the +// simulator's SimEinkDisplay on a canvas, so the two render identically. +// +// The bodies live in EinkGfxDisplayImpl.h, which exactly one .cpp includes +// (GxEPDDisplay.cpp on a board, the sim's target.cpp): it pulls in the font +// tables. + +// EINK_LARGE_FONT: a landscape panel writes in the 8x13 at its own resolution. +// Without it a landscape panel doubles the 6x9 (every pixel 2x2) -- for small +// dense panels where 8x13 would be too fine. A portrait panel always uses the +// 6x9: its narrow width wants the smaller cell. +#ifndef EINK_LARGE_FONT + #define EINK_LARGE_FONT 0 +#endif + +class EinkGfxDisplay : public DisplayDriver { + Adafruit_GFX& _gfx; + const uint16_t _ink, _paper; // LIGHT and DARK in the panel's colours + uint16_t _curr; + const GFXfont* _font; + int _cell_w = 6, _cell_h = 9; // the font's cell, before _px and the text size + int _px = 1; // pixel doubling (landscape without EINK_LARGE_FONT) + int _text_sz = 1; + int _cx = 0, _cy = 0; // cursor, top of the text row + uint32_t _hash = 0, _shown_hash = 0; + bool _force = true; + + void mix(const void* p, size_t n) { + const uint8_t* b = (const uint8_t*)p; + while (n--) { _hash ^= *b++; _hash *= 16777619u; } // FNV-1a + } + template void mix(T v) { mix(&v, sizeof(v)); } + +protected: + EinkGfxDisplay(int w, int h, Adafruit_GFX& gfx, uint16_t ink, uint16_t paper); + + // After a size or rotation change: picks the font for the new shape. + void updateLayout(); + // At the end of a frame: whether it differs from the one on the panel + // (and from now on counts as shown). + bool frameChanged() { + if (!_force && _hash == _shown_hash) return false; + _shown_hash = _hash; + _force = false; + return true; + } + void forceRedraw() { _force = true; } + +public: + // Size 4 is the huge built-in font (6x8 cell x 7), only for the stacked + // HH / MM clock on a portrait panel. Sizes 1-3 are the misc-fixed font at + // that multiple, as on the OLEDs. + static const int BIG_TEXT_SCALE = 7; + int getCharWidth() const override { + return _text_sz == 4 ? 6 * BIG_TEXT_SCALE : _cell_w * _px * _text_sz; + } + int getLineHeight() const override { + return _text_sz == 4 ? 8 * BIG_TEXT_SCALE : _cell_h * _px * _text_sz; + } + int pixelScale() const override { return _px; } + bool isSingleFont() const override { return true; } + void translateUTF8ToBlocks(char* dest, const char* src, size_t dest_size) override { + strncpy(dest, src, dest_size - 1); + dest[dest_size - 1] = '\0'; + } + bool isEink() override { return true; } + + void startFrame(Color bkg = DARK) override; + void setTextSize(int sz) override; + void setColor(Color c) override; + void setCursor(int x, int y) override; + void print(const char* str) override; + void fillRect(int x, int y, int w, int h) override; + void drawRect(int x, int y, int w, int h) override; + void drawXbm(int x, int y, const uint8_t* bits, int w, int h) override; + uint16_t getTextWidth(const char* str) override; + uint16_t getCodepointWidth(uint32_t cp) override; +}; diff --git a/src/helpers/ui/EinkGfxDisplayImpl.h b/src/helpers/ui/EinkGfxDisplayImpl.h new file mode 100644 index 00000000..778587f3 --- /dev/null +++ b/src/helpers/ui/EinkGfxDisplayImpl.h @@ -0,0 +1,95 @@ +#pragma once +// EinkGfxDisplay's bodies. Include from exactly one .cpp (see EinkGfxDisplay.h): +// the font tables below are static arrays. + +#include "EinkGfxDisplay.h" +#include "MiscFixedRenderer.h" +#include "MiscFixed8x13Font.h" + +EinkGfxDisplay::EinkGfxDisplay(int w, int h, Adafruit_GFX& gfx, uint16_t ink, uint16_t paper) + : DisplayDriver(w, h), _gfx(gfx), _ink(ink), _paper(paper), _curr(ink), _font(&MiscFixed) { + updateLayout(); +} + +void EinkGfxDisplay::updateLayout() { + const bool landscape = width() >= height(); + _font = (EINK_LARGE_FONT && landscape) ? &MiscFixed8x13 : &MiscFixed; + _px = (!EINK_LARGE_FONT && landscape) ? 2 : 1; + _cell_w = miscFixedCellW(*_font); + _cell_h = _font->yAdvance; + _vw_dirty = true; + _force = true; +} + +void EinkGfxDisplay::startFrame(Color bkg) { + _gfx.fillScreen(_paper); + _curr = _ink; + _text_sz = 1; + _hash = 2166136261u; +} + +void EinkGfxDisplay::setTextSize(int sz) { + _text_sz = sz; + _vw_dirty = true; + mix(sz); +} + +void EinkGfxDisplay::setColor(Color c) { + mix(c); + _curr = (c == DARK) ? _paper : _ink; // DARK is the paper, LIGHT the ink +} + +void EinkGfxDisplay::setCursor(int x, int y) { + mix(x); + mix(y); + _cx = x; + _cy = y; +} + +void EinkGfxDisplay::print(const char* str) { + mix(str, strlen(str)); + if (_text_sz == 4) { // the built-in font, its cursor at the cell's top left + _gfx.setFont(NULL); + _gfx.setTextSize(BIG_TEXT_SCALE); + _gfx.setTextColor(_curr); + _gfx.setCursor(_cx, _cy); + for (const char* p = str; *p; p++) _gfx.write((uint8_t)*p); + _cx = _gfx.getCursorX(); + return; + } + _gfx.setCursor(_cx, _cy); + miscFixedPrint(_gfx, str, _px * _text_sz, _curr, *_font); + _cx = _gfx.getCursorX(); + _cy = _gfx.getCursorY(); +} + +uint16_t EinkGfxDisplay::getTextWidth(const char* str) { + if (_text_sz == 4) return strlen(str) * getCharWidth(); + return miscFixedTextWidth(str, _px * _text_sz, *_font); +} + +uint16_t EinkGfxDisplay::getCodepointWidth(uint32_t cp) { + if (_text_sz == 4) return getCharWidth(); + return miscFixedXAdvance(cp, _px * _text_sz, *_font); +} + +void EinkGfxDisplay::fillRect(int x, int y, int w, int h) { + mix(x); mix(y); mix(w); mix(h); + _gfx.fillRect(x, y, w, h, _curr); +} + +void EinkGfxDisplay::drawRect(int x, int y, int w, int h) { + mix(x); mix(y); mix(w); mix(h); + _gfx.drawRect(x, y, w, h, _curr); + if (_px == 2 && w > 2 && h > 2) _gfx.drawRect(x + 1, y + 1, w - 2, h - 2, _curr); +} + +void EinkGfxDisplay::drawXbm(int x, int y, const uint8_t* bits, int w, int h) { + mix(x); mix(y); mix(w); mix(h); + mix((uintptr_t)bits); + const int widthInBytes = (w + 7) / 8; + for (int by = 0; by < h; by++) + for (int bx = 0; bx < w; bx++) + if (pgm_read_byte(bits + by * widthInBytes + bx / 8) & (0x80 >> (bx & 7))) + _gfx.drawPixel(x + bx, y + by, _curr); +} diff --git a/src/helpers/ui/GxEPDDisplay.cpp b/src/helpers/ui/GxEPDDisplay.cpp index 3a0a86d4..7548a69e 100644 --- a/src/helpers/ui/GxEPDDisplay.cpp +++ b/src/helpers/ui/GxEPDDisplay.cpp @@ -1,5 +1,5 @@ #include "GxEPDDisplay.h" -#include "LemonIcons.h" +#include "EinkGfxDisplayImpl.h" #ifdef EXP_PIN_BACKLIGHT #include @@ -14,68 +14,6 @@ SPIClass SPI1 = SPIClass(FSPI); #endif -// GFX fonts use the baseline as the cursor origin. UI code assumes top-of-cell -// coordinates (same convention as the OLED driver). Add the font ascender so -// the two conventions match. -static int fontAscender(int sz, bool single_font, int scale) { - if (sz == 3) return 26; // FreeSans18pt7b: proportional, baseline origin - if (sz == 1 && single_font) return 7 * scale; // misc-fixed 6x9 GFX font: baseline origin, ascent 7px×scale - return 0; // GFX built-in font: cursor is top-left of cell -} - -// y is the GFX baseline (display.getCursorY()), which equals original_y + 8*sc. -// Pixels are placed at y + yo*sc + row*sc — identical to how GFX would render -// a scaled GFX font, but bypassing GFX so multi-byte UTF-8 is decoded correctly. -int16_t GxEPDDisplay::drawGlyph(int16_t x, int16_t y, uint32_t cp, int sc) { - for (uint8_t i = 0; i < lemonIconCount; i++) { - if (pgm_read_dword(&lemonIconCPs[i]) == cp) { - const GFXglyph* g = &lemonIconGlyphs[i]; - uint8_t w = pgm_read_byte(&g->width), h = pgm_read_byte(&g->height); - int8_t xo = (int8_t)pgm_read_byte(&g->xOffset), yo = (int8_t)pgm_read_byte(&g->yOffset); - uint8_t xa = pgm_read_byte(&g->xAdvance); - uint16_t bo = pgm_read_word(&g->bitmapOffset); - uint8_t bits = 0, bit = 0; - for (uint8_t row = 0; row < h; row++) - for (uint8_t col = 0; col < w; col++) { - if (!bit) { bits = pgm_read_byte(&lemonIconBitmaps[bo++]); bit = 0x80; } - if (bits & bit) { - if (sc == 1) display.drawPixel(x + xo + col, y + yo + row, _curr_color); - else display.fillRect(x + xo*sc + col*sc, y + yo*sc + row*sc, sc, sc, _curr_color); - } - bit >>= 1; - } - return x + xa * sc; - } - } - if (cp < MiscFixed.first || cp > MiscFixed.last) { - if (cp >= 0x20) display.fillRect(x + sc, y - 7*sc, 4*sc, 6*sc, _curr_color); - return x + 6 * sc; - } - const GFXglyph* g = &MiscFixedGlyphs[cp - MiscFixed.first]; - uint8_t w = pgm_read_byte(&g->width), h = pgm_read_byte(&g->height); - int8_t xo = (int8_t)pgm_read_byte(&g->xOffset), yo = (int8_t)pgm_read_byte(&g->yOffset); - uint8_t xa = pgm_read_byte(&g->xAdvance); - uint16_t bo = pgm_read_word(&g->bitmapOffset); - uint8_t bits = 0, bit = 0; - for (uint8_t row = 0; row < h; row++) - for (uint8_t col = 0; col < w; col++) { - if (!bit) { bits = pgm_read_byte(&MiscFixedBitmaps[bo++]); bit = 0x80; } - if (bits & bit) { - if (sc == 1) display.drawPixel(x + xo + col, y + yo + row, _curr_color); - else display.fillRect(x + xo*sc + col*sc, y + yo*sc + row*sc, sc, sc, _curr_color); - } - bit >>= 1; - } - return x + xa * sc; -} - -uint8_t GxEPDDisplay::glyphXAdvance(uint32_t cp, int sc) { - uint8_t xa; - if (cp < MiscFixed.first || cp > MiscFixed.last) xa = 6; - else xa = pgm_read_byte(&MiscFixedGlyphs[cp - MiscFixed.first].xAdvance); - return xa * sc; -} - bool GxEPDDisplay::begin() { display.epd2.selectSPI(SPI1, SPISettings(4000000, MSBFIRST, SPI_MODE0)); #ifdef ESP32 @@ -89,7 +27,6 @@ bool GxEPDDisplay::begin() { // and callBusyPump()/setBusyPumpFn() (DisplayDriver.h). display.epd2.setBusyCallback(busyCallbackTrampoline, this); display.setRotation(DISPLAY_ROTATION); - setTextSize(1); display.setPartialWindow(0, 0, display.width(), display.height()); display.fillScreen(GxEPD_WHITE); display.display(true); @@ -122,162 +59,17 @@ void GxEPDDisplay::turnOff() { void GxEPDDisplay::clear() { display.fillScreen(GxEPD_WHITE); - display.setTextColor(GxEPD_BLACK); - display_crc.reset(); -} - -void GxEPDDisplay::startFrame(Color bkg) { - display.fillScreen(GxEPD_WHITE); - display.setTextColor(_curr_color = GxEPD_BLACK); - _text_sz = 1; - int sc = scale(); - display.setFont(_single_font ? &MiscFixed : NULL); - display.setTextSize(sc); - display_crc.reset(); -} - -void GxEPDDisplay::setTextSize(int sz) { - _text_sz = sz; - _vw_dirty = true; - display_crc.update(sz); - // Size 1 scales with orientation: 1× in portrait (≈OLED width), 2× in landscape. - // Size 2 always uses 2× built-in (12×16) — fixed because layout Y-positions are hardcoded. - // Size 3 always uses FreeSans18pt for large headings. - int sc = scale(); - switch (sz) { - case 4: - // Huge clock digits: built-in font scaled up. Cursor stays top-left - // (fontAscender returns 0 for the built-in font), so layout maths is plain. - display.setFont(NULL); - display.setTextSize(BIG_TEXT_SCALE); - break; - case 3: - display.setFont(&FreeSans18pt7b); - display.setTextSize(1); - break; - case 2: - display.setFont(NULL); - display.setTextSize(scale() * 2); - break; - default: - display.setFont(_single_font ? &MiscFixed : NULL); - display.setTextSize(sc); - break; - } -} - -void GxEPDDisplay::setColor(Color c) { - display_crc.update(c); - // e-ink: DARK background = white paper, LIGHT foreground = black ink - if (c == DARK) { - display.setTextColor(_curr_color = GxEPD_WHITE); - } else { - display.setTextColor(_curr_color = GxEPD_BLACK); - } -} - -void GxEPDDisplay::setCursor(int x, int y) { - display_crc.update(x); - display_crc.update(y); - // Offset y by the font ascender: callers pass top-of-cell y, GFX fonts - // expect baseline y. Without this, text would be clipped at the top. - int sc = scale(); - display.setCursor(x, y + fontAscender(_text_sz, _single_font, sc)); -} - -void GxEPDDisplay::print(const char* str) { - display_crc.update(str, strlen(str)); - // misc-fixed path only for sz=1 — setTextSize(2/3) switches GFX to other fonts. - if (_single_font && _text_sz == 1) { - int16_t cx = display.getCursorX(); - int16_t cy = display.getCursorY(); - const int sc = scale(); - const uint8_t* p = (const uint8_t*)str; - while (*p) { - uint32_t cp = decodeCodepoint(p); - if (cp == '\n') { cy += MiscFixed.yAdvance * sc; cx = 0; } - else { cx = drawGlyph(cx, cy, cp, sc); } - } - display.setCursor(cx, cy); - return; - } - int sc = scale(); - for (const char* p = str; *p; p++) { - if ((uint8_t)*p == 0xDB) { - int cx = display.getCursorX(); - int cy = display.getCursorY(); - // Default GFX font: cursor is top-left of cell (fontAscender=0), so cy=original_y. - // Draw block at cy (not cy-8*sc — that formula assumes Lemon's baseline offset). - display.fillRect(cx, cy, 5 * sc, 8 * sc, _curr_color); - display.setCursor(cx + 6 * sc, cy); - } else { - char tmp[2] = {*p, 0}; - display.print(tmp); - } - } -} - -void GxEPDDisplay::fillRect(int x, int y, int w, int h) { - display_crc.update(x); - display_crc.update(y); - display_crc.update(w); - display_crc.update(h); - display.fillRect(x, y, w, h, _curr_color); -} - -void GxEPDDisplay::drawRect(int x, int y, int w, int h) { - display_crc.update(x); - display_crc.update(y); - display_crc.update(w); - display_crc.update(h); - display.drawRect(x, y, w, h, _curr_color); - if (scale() == 2 && w > 2 && h > 2) - display.drawRect(x + 1, y + 1, w - 2, h - 2, _curr_color); -} - -void GxEPDDisplay::drawXbm(int x, int y, const uint8_t* bits, int w, int h) { - display_crc.update(x); - display_crc.update(y); - display_crc.update(w); - display_crc.update(h); - display_crc.update((uintptr_t)bits); - uint16_t widthInBytes = (w + 7) / 8; - for (uint16_t by = 0; by < h; by++) { - for (uint16_t bx = 0; bx < w; bx++) { - uint16_t byteOffset = (by * widthInBytes) + (bx / 8); - uint8_t bitMask = 0x80 >> (bx & 7); - if (pgm_read_byte(bits + byteOffset) & bitMask) { - display.drawPixel(x + bx, y + by, _curr_color); - } - } - } -} - -uint16_t GxEPDDisplay::getTextWidth(const char* str) { - if (_single_font && _text_sz == 1) { - uint16_t total = 0; - const int sc = scale(); - const uint8_t* p = (const uint8_t*)str; - while (*p) total += glyphXAdvance(decodeCodepoint(p), sc); - return total; - } - display.setTextWrap(false); - int16_t x1, y1; - uint16_t w, h; - display.getTextBounds(str, 0, 0, &x1, &y1, &w, &h); - display.setTextWrap(true); - return w; + forceRedraw(); } void GxEPDDisplay::setDisplayRotation(uint8_t rot) { display.setRotation(rot & 3); setDimensions(display.width(), display.height()); - last_display_crc_value = -1; // force redraw on next endFrame + updateLayout(); } void GxEPDDisplay::endFrame() { - uint32_t crc = display_crc.finalize(); - if (crc != last_display_crc_value) { + if (frameChanged()) { bool partial = true; if (_full_refresh_interval > 0 && ++_partial_count >= _full_refresh_interval) { partial = false; @@ -301,6 +93,5 @@ void GxEPDDisplay::endFrame() { // is a separate job and stays with the periodic full refresh above. if (partial) display.writeInverseForRedrive(); display.display(partial); - last_display_crc_value = crc; } } diff --git a/src/helpers/ui/GxEPDDisplay.h b/src/helpers/ui/GxEPDDisplay.h index f99bd612..ffb5e96b 100644 --- a/src/helpers/ui/GxEPDDisplay.h +++ b/src/helpers/ui/GxEPDDisplay.h @@ -16,13 +16,8 @@ #include #include #include -#include -#include -#include -#include -#include "DisplayDriver.h" -#include "MiscFixedFont.h" +#include "EinkGfxDisplay.h" // This driver calls callBusyPump() during its BUSY-pin waits; app code keys // its setBusyPumpFn() wiring off this so it isn't compiled for displays (or @@ -34,10 +29,12 @@ #endif // Panel native dimensions before rotation. Derived from the model class when -// EINK_DISPLAY_MODEL is set; override with EINK_PANEL_W/H for other panels. +// EINK_DISPLAY_MODEL is set (its visible width: some controllers carry a few +// columns more than the glass shows); override with EINK_PANEL_W/H for other +// panels. #if defined(EINK_DISPLAY_MODEL) #ifndef EINK_PANEL_W - #define EINK_PANEL_W EINK_DISPLAY_MODEL::WIDTH + #define EINK_PANEL_W EINK_DISPLAY_MODEL::WIDTH_VISIBLE #endif #ifndef EINK_PANEL_H #define EINK_PANEL_H EINK_DISPLAY_MODEL::HEIGHT @@ -53,26 +50,23 @@ #define EINK_DISP_W ((DISPLAY_ROTATION & 1) ? EINK_PANEL_H : EINK_PANEL_W) #define EINK_DISP_H ((DISPLAY_ROTATION & 1) ? EINK_PANEL_W : EINK_PANEL_H) -class GxEPDDisplay : public DisplayDriver { +// The panel object, as a base so it's built before EinkGfxDisplay draws on it. +struct GxEPDPanel { #if defined(EINK_DISPLAY_MODEL) GxEPD2_BW display; + GxEPDPanel() : display(EINK_DISPLAY_MODEL(PIN_DISPLAY_CS, PIN_DISPLAY_DC, PIN_DISPLAY_RST, PIN_DISPLAY_BUSY)) {} #else GxEPD2_BW display; + GxEPDPanel() : display(GxEPD2_150_BN(DISP_CS, DISP_DC, DISP_RST, DISP_BUSY)) {} #endif +}; + +class GxEPDDisplay : private GxEPDPanel, public EinkGfxDisplay { bool _init = false; bool _isOn = false; - bool _single_font = true; // e-ink is single-font too now (misc-fixed 6x9), matching the OLED driver - uint16_t _curr_color; - CRC32 display_crc; - int last_display_crc_value = 0; - int _text_sz = 1; uint8_t _full_refresh_interval = 0; uint8_t _partial_count = 0; - int16_t drawGlyph(int16_t x, int16_t y, uint32_t cp, int sc); - uint8_t glyphXAdvance(uint32_t cp, int sc); - int scale() const { return (width() >= height()) ? 2 : 1; } - // GxEPD2_EPD::setBusyCallback() wants a plain function pointer with a // void* param, not a member function -- this trampolines back into the // instance so callBusyPump() (DisplayDriver.h) can reach whatever board @@ -86,78 +80,24 @@ class GxEPDDisplay : public DisplayDriver { } public: -#if defined(EINK_DISPLAY_MODEL) - GxEPDDisplay() : DisplayDriver(EINK_DISP_W, EINK_DISP_H), - display(EINK_DISPLAY_MODEL(PIN_DISPLAY_CS, PIN_DISPLAY_DC, PIN_DISPLAY_RST, PIN_DISPLAY_BUSY)) {} -#else - GxEPDDisplay() : DisplayDriver(EINK_DISP_W, EINK_DISP_H), - display(GxEPD2_150_BN(DISP_CS, DISP_DC, DISP_RST, DISP_BUSY)) {} -#endif + GxEPDDisplay() : EinkGfxDisplay(EINK_DISP_W, EINK_DISP_H, display, GxEPD_BLACK, GxEPD_WHITE) {} #ifdef ENABLE_SCREENSHOT const uint8_t* getBuffer() override { return display.getBuffer(); } uint16_t getBufferSize() override { return display.getBufferSize(); } uint8_t getDisplayType() override { return 1; } // 1 = e-ink - // Return GxEPD2's own reported dimensions (uses WIDTH_VISIBLE, not the full physical WIDTH - // stored in DisplayDriver). After setRotation(1): width()=HEIGHT, height()=WIDTH_VISIBLE. + // GxEPD2's own dimensions after rotation, of the visible area. int screenshotWidth() override { return (int)display.width(); } int screenshotHeight() override { return (int)display.height(); } uint8_t screenshotRotation() override { return (uint8_t)display.getRotation(); } #endif - // Line height and approx. char width for each font size: - // 1 = FreeSans9pt (lineH=16, charW≈9) - // 2 = FreeSansBold12pt (lineH=20, charW≈12) - // 3 = FreeSans18pt (lineH=28, charW≈17) - // Built-in font scale used for size 4 (huge clock digits): 6×8 cell × 7 = 42×56. - static const int BIG_TEXT_SCALE = 7; - // Size 1 scales with orientation (portrait 1×, landscape 2×); size 2 is always 12×16; - // size 3 is FreeSans18pt (~17×28); size 4 is the built-in font at 7× (~42×56), - // used only for the stacked HH/MM clock on portrait e-ink. Landscape = width >= height. - int getCharWidth() const override { - int sc = scale(); - if (_text_sz == 4) return 6 * BIG_TEXT_SCALE; - if (_text_sz == 3) return 17; - if (_text_sz == 2) return 12 * sc; - return 6 * sc; // misc-fixed 6x9 is 6px wide - } - int getLineHeight() const override { - int sc = scale(); - if (_text_sz == 4) return 8 * BIG_TEXT_SCALE; - if (_text_sz == 3) return 28; - if (_text_sz == 2) return 16 * sc; - return (_single_font ? 9 : 8) * sc; // misc-fixed 6x9 box height - } - void setSingleFont(bool) override { } // single-font: ignore toggles, stay misc-fixed 6x9 - bool isSingleFont() const override { return _single_font; } - void translateUTF8ToBlocks(char* dest, const char* src, size_t dest_size) override { - if (_single_font) { - strncpy(dest, src, dest_size - 1); - dest[dest_size - 1] = '\0'; - } else { - translateUTF8Static(dest, src, dest_size); - } - } bool begin(); bool isOn() override { return _isOn; } - bool isEink() override { return true; } void turnOn() override; void turnOff() override; void clear() override; - void startFrame(Color bkg = DARK) override; - void setTextSize(int sz) override; - void setColor(Color c) override; - void setCursor(int x, int y) override; - void print(const char* str) override; - void fillRect(int x, int y, int w, int h) override; - void drawRect(int x, int y, int w, int h) override; - void drawXbm(int x, int y, const uint8_t* bits, int w, int h) override; - uint16_t getTextWidth(const char* str) override; - uint16_t getCodepointWidth(uint32_t cp) override { - if (_single_font && _text_sz == 1) return glyphXAdvance(cp, scale()); - return DisplayDriver::getCodepointWidth(cp); - } void setDisplayRotation(uint8_t rot) override; void setFullRefreshInterval(uint8_t n) override { _full_refresh_interval = n; _partial_count = 0; } void endFrame() override; diff --git a/src/helpers/ui/MiscFixed8x13Font.h b/src/helpers/ui/MiscFixed8x13Font.h new file mode 100644 index 00000000..0b5df5f5 --- /dev/null +++ b/src/helpers/ui/MiscFixed8x13Font.h @@ -0,0 +1,2170 @@ +// MiscFixed8x13 font, converted from 8x13.bdf by bdf2gfx.py +// Range: U+0020-U+04FF (1112 glyphs defined, rest placeholders) +// Metrics: ascent=11 descent=2 yAdvance=13 +#pragma once +#include + +static const uint8_t MiscFixed8x13Bitmaps[] PROGMEM = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x24, 0x24, 0x24, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x24, 0x7E, 0x24, 0x7E, 0x24, + 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x3C, 0x50, 0x50, 0x38, 0x14, 0x14, 0x78, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x22, 0x52, 0x24, 0x08, 0x08, 0x10, 0x24, 0x2A, 0x44, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x30, 0x48, 0x48, 0x30, 0x4A, 0x44, 0x3A, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x08, 0x08, 0x10, 0x10, 0x10, + 0x08, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x20, 0x10, 0x10, 0x08, 0x08, 0x08, 0x10, 0x10, 0x20, + 0x00, 0x00, 0x00, 0x00, 0x24, 0x18, 0x7E, 0x18, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x10, 0x10, 0x7C, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x30, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, + 0x38, 0x10, 0x00, 0x00, 0x00, 0x02, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x18, 0x24, 0x42, 0x42, 0x42, 0x42, 0x42, 0x24, 0x18, 0x00, 0x00, 0x00, 0x00, 0x10, + 0x30, 0x50, 0x10, 0x10, 0x10, 0x10, 0x10, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42, 0x42, 0x02, + 0x04, 0x18, 0x20, 0x40, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x02, 0x04, 0x08, 0x1C, 0x02, 0x02, + 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x04, 0x0C, 0x14, 0x24, 0x44, 0x44, 0x7E, 0x04, 0x04, 0x00, + 0x00, 0x00, 0x00, 0x7E, 0x40, 0x40, 0x5C, 0x62, 0x02, 0x02, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, + 0x1C, 0x20, 0x40, 0x40, 0x5C, 0x62, 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x02, 0x04, + 0x08, 0x08, 0x10, 0x10, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42, 0x42, 0x42, 0x3C, 0x42, + 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42, 0x42, 0x46, 0x3A, 0x02, 0x02, 0x04, 0x38, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x38, 0x10, 0x00, 0x00, 0x10, 0x38, 0x10, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x10, 0x38, 0x10, 0x00, 0x00, 0x38, 0x30, 0x40, 0x00, 0x00, 0x00, 0x02, 0x04, + 0x08, 0x10, 0x20, 0x10, 0x08, 0x04, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x00, + 0x00, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x20, 0x10, 0x08, 0x04, 0x08, 0x10, 0x20, + 0x40, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42, 0x42, 0x02, 0x04, 0x08, 0x08, 0x00, 0x08, 0x00, 0x00, + 0x00, 0x00, 0x3C, 0x42, 0x42, 0x4E, 0x52, 0x56, 0x4A, 0x40, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x18, + 0x24, 0x42, 0x42, 0x42, 0x7E, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00, 0x78, 0x44, 0x42, 0x44, + 0x78, 0x44, 0x42, 0x44, 0x78, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x78, 0x44, 0x42, 0x42, 0x42, 0x42, 0x42, 0x44, 0x78, 0x00, + 0x00, 0x00, 0x00, 0x7E, 0x40, 0x40, 0x40, 0x78, 0x40, 0x40, 0x40, 0x7E, 0x00, 0x00, 0x00, 0x00, + 0x7E, 0x40, 0x40, 0x40, 0x78, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42, 0x40, + 0x40, 0x40, 0x4E, 0x42, 0x46, 0x3A, 0x00, 0x00, 0x00, 0x00, 0x42, 0x42, 0x42, 0x42, 0x7E, 0x42, + 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x7C, + 0x00, 0x00, 0x00, 0x00, 0x1F, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x44, 0x38, 0x00, 0x00, 0x00, + 0x00, 0x42, 0x44, 0x48, 0x50, 0x60, 0x50, 0x48, 0x44, 0x42, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x82, 0x82, 0xC6, 0xAA, 0x92, + 0x92, 0x82, 0x82, 0x82, 0x00, 0x00, 0x00, 0x00, 0x42, 0x42, 0x62, 0x52, 0x4A, 0x46, 0x42, 0x42, + 0x42, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, + 0x00, 0x00, 0x7C, 0x42, 0x42, 0x42, 0x7C, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x3C, + 0x42, 0x42, 0x42, 0x42, 0x42, 0x52, 0x4A, 0x3C, 0x02, 0x00, 0x00, 0x00, 0x7C, 0x42, 0x42, 0x42, + 0x7C, 0x50, 0x48, 0x44, 0x42, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42, 0x40, 0x40, 0x3C, 0x02, 0x02, + 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, + 0x82, 0x82, 0x44, 0x44, 0x44, 0x28, 0x28, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x82, 0x82, 0x82, + 0x82, 0x92, 0x92, 0x92, 0xAA, 0x44, 0x00, 0x00, 0x00, 0x00, 0x82, 0x82, 0x44, 0x28, 0x10, 0x28, + 0x44, 0x82, 0x82, 0x00, 0x00, 0x00, 0x00, 0x82, 0x82, 0x44, 0x28, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x00, 0x00, 0x00, 0x00, 0x7E, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x40, 0x7E, 0x00, 0x00, 0x00, + 0x00, 0x3C, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, + 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x78, 0x08, 0x08, 0x08, 0x08, + 0x08, 0x08, 0x08, 0x78, 0x00, 0x00, 0x00, 0x00, 0x10, 0x28, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, + 0x00, 0x10, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3C, 0x02, 0x3E, 0x42, 0x46, 0x3A, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x40, 0x5C, + 0x62, 0x42, 0x42, 0x62, 0x5C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42, 0x40, 0x40, + 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x3A, 0x46, 0x42, 0x42, 0x46, 0x3A, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42, 0x7E, 0x40, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, + 0x1C, 0x22, 0x20, 0x20, 0x7C, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3A, 0x44, 0x44, 0x38, 0x40, 0x3C, 0x42, 0x3C, 0x00, 0x00, 0x40, 0x40, 0x40, 0x5C, 0x62, 0x42, + 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x30, 0x10, 0x10, 0x10, 0x10, 0x7C, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x0C, 0x04, 0x04, 0x04, 0x04, 0x44, 0x44, 0x38, 0x00, + 0x00, 0x40, 0x40, 0x40, 0x44, 0x48, 0x70, 0x48, 0x44, 0x42, 0x00, 0x00, 0x00, 0x00, 0x30, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEC, 0x92, + 0x92, 0x92, 0x92, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x62, 0x42, 0x42, 0x42, + 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42, 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x62, 0x42, 0x62, 0x5C, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3A, 0x46, 0x42, 0x46, 0x3A, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5C, + 0x22, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42, 0x30, 0x0C, + 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0x7C, 0x20, 0x20, 0x20, 0x22, 0x1C, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x44, 0x44, 0x44, 0x44, 0x3A, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x44, 0x44, 0x44, 0x28, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x82, 0x82, 0x92, 0x92, 0xAA, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x24, 0x18, + 0x18, 0x24, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x42, 0x42, 0x46, 0x3A, 0x02, + 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x04, 0x08, 0x10, 0x20, 0x7E, 0x00, 0x00, 0x00, + 0x00, 0x0E, 0x10, 0x10, 0x08, 0x30, 0x08, 0x10, 0x10, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x70, 0x08, 0x08, 0x10, 0x0C, + 0x10, 0x08, 0x08, 0x70, 0x00, 0x00, 0x00, 0x00, 0x24, 0x54, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x10, 0x00, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x10, + 0x38, 0x54, 0x50, 0x50, 0x54, 0x38, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x22, 0x20, 0x70, + 0x20, 0x20, 0x20, 0x62, 0xDC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x3C, 0x24, 0x24, 0x3C, + 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x82, 0x44, 0x28, 0x7C, 0x10, 0x7C, 0x10, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x10, 0x00, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x18, + 0x24, 0x20, 0x18, 0x24, 0x24, 0x18, 0x04, 0x24, 0x18, 0x00, 0x00, 0x00, 0x24, 0x24, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x44, 0x92, 0xAA, 0xA2, 0xAA, 0x92, + 0x44, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x04, 0x3C, 0x44, 0x3C, 0x00, 0x7C, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x24, 0x48, 0x90, 0x48, 0x24, 0x12, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x44, 0x92, 0xAA, 0xAA, 0xB2, + 0xAA, 0x44, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x24, 0x24, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x10, 0x10, 0x7C, 0x10, 0x10, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x30, 0x48, + 0x08, 0x30, 0x40, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x48, 0x10, 0x08, 0x48, + 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x42, 0x42, 0x42, 0x66, 0x5A, 0x40, + 0x00, 0x00, 0x00, 0x3E, 0x74, 0x74, 0x74, 0x34, 0x14, 0x14, 0x14, 0x14, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x18, 0x00, 0x20, 0x60, 0x20, 0x20, 0x20, 0x70, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x48, 0x48, 0x30, 0x00, 0x78, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x48, 0x24, 0x12, 0x24, 0x48, 0x90, 0x00, 0x00, 0x00, 0x00, + 0x40, 0xC0, 0x40, 0x40, 0x42, 0xE6, 0x0A, 0x12, 0x1A, 0x06, 0x00, 0x00, 0x00, 0x40, 0xC0, 0x40, + 0x40, 0x4C, 0xF2, 0x02, 0x0C, 0x10, 0x1E, 0x00, 0x00, 0x00, 0x60, 0x90, 0x20, 0x10, 0x92, 0x66, + 0x0A, 0x12, 0x1A, 0x06, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x10, 0x10, 0x20, 0x40, 0x42, 0x42, + 0x3C, 0x00, 0x00, 0x00, 0x10, 0x08, 0x00, 0x18, 0x24, 0x42, 0x42, 0x7E, 0x42, 0x42, 0x00, 0x00, + 0x00, 0x08, 0x10, 0x00, 0x18, 0x24, 0x42, 0x42, 0x7E, 0x42, 0x42, 0x00, 0x00, 0x00, 0x18, 0x24, + 0x00, 0x18, 0x24, 0x42, 0x42, 0x7E, 0x42, 0x42, 0x00, 0x00, 0x00, 0x32, 0x4C, 0x00, 0x18, 0x24, + 0x42, 0x42, 0x7E, 0x42, 0x42, 0x00, 0x00, 0x00, 0x24, 0x24, 0x00, 0x18, 0x24, 0x42, 0x42, 0x7E, + 0x42, 0x42, 0x00, 0x00, 0x00, 0x18, 0x24, 0x18, 0x18, 0x24, 0x42, 0x42, 0x7E, 0x42, 0x42, 0x00, + 0x00, 0x00, 0x00, 0x6E, 0x90, 0x90, 0x90, 0x9C, 0xF0, 0x90, 0x90, 0x9E, 0x00, 0x00, 0x00, 0x00, + 0x3C, 0x42, 0x40, 0x40, 0x40, 0x40, 0x40, 0x42, 0x3C, 0x08, 0x10, 0x00, 0x10, 0x08, 0x00, 0x7E, + 0x40, 0x40, 0x78, 0x40, 0x40, 0x7E, 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x7E, 0x40, 0x40, 0x78, + 0x40, 0x40, 0x7E, 0x00, 0x00, 0x00, 0x18, 0x24, 0x00, 0x7E, 0x40, 0x40, 0x78, 0x40, 0x40, 0x7E, + 0x00, 0x00, 0x00, 0x24, 0x24, 0x00, 0x7E, 0x40, 0x40, 0x78, 0x40, 0x40, 0x7E, 0x00, 0x00, 0x00, + 0x20, 0x10, 0x00, 0x7C, 0x10, 0x10, 0x10, 0x10, 0x10, 0x7C, 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, + 0x7C, 0x10, 0x10, 0x10, 0x10, 0x10, 0x7C, 0x00, 0x00, 0x00, 0x18, 0x24, 0x00, 0x7C, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x7C, 0x00, 0x00, 0x00, 0x44, 0x44, 0x00, 0x7C, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x7C, 0x00, 0x00, 0x00, 0x00, 0x78, 0x44, 0x42, 0x42, 0xE2, 0x42, 0x42, 0x44, 0x78, 0x00, 0x00, + 0x00, 0x64, 0x98, 0x00, 0x82, 0xC2, 0xA2, 0x92, 0x8A, 0x86, 0x82, 0x00, 0x00, 0x00, 0x20, 0x10, + 0x00, 0x7C, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7C, 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x7C, 0x82, + 0x82, 0x82, 0x82, 0x82, 0x7C, 0x00, 0x00, 0x00, 0x18, 0x24, 0x00, 0x7C, 0x82, 0x82, 0x82, 0x82, + 0x82, 0x7C, 0x00, 0x00, 0x00, 0x64, 0x98, 0x00, 0x7C, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7C, 0x00, + 0x00, 0x00, 0x44, 0x44, 0x00, 0x7C, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7C, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x42, 0x24, 0x18, 0x18, 0x24, 0x42, 0x00, 0x00, 0x00, 0x00, 0x02, 0x3C, 0x46, 0x4A, + 0x4A, 0x52, 0x52, 0x52, 0x62, 0x3C, 0x40, 0x00, 0x00, 0x20, 0x10, 0x00, 0x42, 0x42, 0x42, 0x42, + 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3C, + 0x00, 0x00, 0x00, 0x18, 0x24, 0x00, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, + 0x24, 0x24, 0x00, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, + 0x44, 0x44, 0x28, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x40, 0x7C, 0x42, 0x42, 0x42, + 0x7C, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x38, 0x44, 0x44, 0x48, 0x50, 0x4C, 0x42, 0x42, + 0x5C, 0x00, 0x00, 0x00, 0x00, 0x10, 0x08, 0x00, 0x3C, 0x02, 0x3E, 0x42, 0x46, 0x3A, 0x00, 0x00, + 0x00, 0x00, 0x04, 0x08, 0x00, 0x3C, 0x02, 0x3E, 0x42, 0x46, 0x3A, 0x00, 0x00, 0x00, 0x00, 0x18, + 0x24, 0x00, 0x3C, 0x02, 0x3E, 0x42, 0x46, 0x3A, 0x00, 0x00, 0x00, 0x00, 0x32, 0x4C, 0x00, 0x3C, + 0x02, 0x3E, 0x42, 0x46, 0x3A, 0x00, 0x00, 0x00, 0x00, 0x24, 0x24, 0x00, 0x3C, 0x02, 0x3E, 0x42, + 0x46, 0x3A, 0x00, 0x00, 0x00, 0x18, 0x24, 0x18, 0x00, 0x3C, 0x02, 0x3E, 0x42, 0x46, 0x3A, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6C, 0x12, 0x7C, 0x90, 0x92, 0x6C, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3C, 0x42, 0x40, 0x40, 0x42, 0x3C, 0x08, 0x10, 0x00, 0x00, 0x10, 0x08, 0x00, + 0x3C, 0x42, 0x7E, 0x40, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x3C, 0x42, 0x7E, + 0x40, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x18, 0x24, 0x00, 0x3C, 0x42, 0x7E, 0x40, 0x42, 0x3C, + 0x00, 0x00, 0x00, 0x00, 0x24, 0x24, 0x00, 0x3C, 0x42, 0x7E, 0x40, 0x42, 0x3C, 0x00, 0x00, 0x00, + 0x00, 0x20, 0x10, 0x00, 0x30, 0x10, 0x10, 0x10, 0x10, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x10, 0x20, + 0x00, 0x30, 0x10, 0x10, 0x10, 0x10, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x30, 0x48, 0x00, 0x30, 0x10, + 0x10, 0x10, 0x10, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x48, 0x48, 0x00, 0x30, 0x10, 0x10, 0x10, 0x10, + 0x7C, 0x00, 0x00, 0x00, 0x24, 0x18, 0x28, 0x04, 0x3C, 0x42, 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, + 0x00, 0x00, 0x32, 0x4C, 0x00, 0x5C, 0x62, 0x42, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00, 0x20, + 0x10, 0x00, 0x3C, 0x42, 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x3C, + 0x42, 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x18, 0x24, 0x00, 0x3C, 0x42, 0x42, 0x42, + 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x32, 0x4C, 0x00, 0x3C, 0x42, 0x42, 0x42, 0x42, 0x3C, 0x00, + 0x00, 0x00, 0x00, 0x24, 0x24, 0x00, 0x3C, 0x42, 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x10, 0x10, 0x00, 0x7C, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, + 0x3C, 0x46, 0x4A, 0x52, 0x62, 0x3C, 0x40, 0x00, 0x00, 0x00, 0x20, 0x10, 0x00, 0x44, 0x44, 0x44, + 0x44, 0x44, 0x3A, 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x44, 0x44, 0x44, 0x44, 0x44, 0x3A, + 0x00, 0x00, 0x00, 0x00, 0x18, 0x24, 0x00, 0x44, 0x44, 0x44, 0x44, 0x44, 0x3A, 0x00, 0x00, 0x00, + 0x00, 0x28, 0x28, 0x00, 0x44, 0x44, 0x44, 0x44, 0x44, 0x3A, 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, + 0x00, 0x42, 0x42, 0x42, 0x46, 0x3A, 0x02, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x40, 0x40, 0x5C, 0x62, + 0x42, 0x42, 0x62, 0x5C, 0x40, 0x40, 0x00, 0x00, 0x24, 0x24, 0x00, 0x42, 0x42, 0x42, 0x46, 0x3A, + 0x02, 0x42, 0x3C, 0x00, 0x7E, 0x00, 0x18, 0x24, 0x42, 0x42, 0x7E, 0x42, 0x42, 0x42, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x7E, 0x00, 0x3C, 0x02, 0x3E, 0x42, 0x46, 0x3A, 0x00, 0x00, 0x00, 0x42, 0x3C, + 0x00, 0x18, 0x24, 0x42, 0x42, 0x7E, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00, 0x42, 0x3C, 0x00, 0x3C, + 0x02, 0x3E, 0x42, 0x46, 0x3A, 0x00, 0x00, 0x00, 0x00, 0x18, 0x24, 0x42, 0x42, 0x42, 0x7E, 0x42, + 0x42, 0x42, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x02, 0x3E, 0x42, 0x46, 0x3A, 0x04, + 0x03, 0x00, 0x08, 0x10, 0x00, 0x3C, 0x42, 0x40, 0x40, 0x40, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, + 0x08, 0x10, 0x00, 0x3C, 0x42, 0x40, 0x40, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x18, 0x24, 0x00, 0x3C, + 0x42, 0x40, 0x40, 0x40, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x18, 0x24, 0x00, 0x3C, 0x42, 0x40, + 0x40, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x18, 0x00, 0x3C, 0x42, 0x40, 0x40, 0x40, 0x40, 0x42, 0x3C, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x3C, 0x42, 0x40, 0x40, 0x42, 0x3C, 0x00, 0x00, 0x00, + 0x24, 0x18, 0x00, 0x3C, 0x42, 0x40, 0x40, 0x40, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x24, 0x18, + 0x00, 0x3C, 0x42, 0x40, 0x40, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x24, 0x18, 0x00, 0x78, 0x44, 0x42, + 0x42, 0x42, 0x44, 0x78, 0x00, 0x00, 0x00, 0x24, 0x18, 0x02, 0x02, 0x3A, 0x46, 0x42, 0x42, 0x46, + 0x3A, 0x00, 0x00, 0x00, 0x00, 0x78, 0x44, 0x42, 0x42, 0xF2, 0x42, 0x42, 0x44, 0x78, 0x00, 0x00, + 0x00, 0x00, 0x04, 0x1E, 0x04, 0x74, 0x8C, 0x84, 0x84, 0x8C, 0x74, 0x00, 0x00, 0x00, 0x7E, 0x00, + 0x7E, 0x40, 0x40, 0x78, 0x40, 0x40, 0x40, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x3C, + 0x42, 0x7E, 0x40, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x42, 0x3C, 0x00, 0x7E, 0x40, 0x40, 0x78, 0x40, + 0x40, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x42, 0x3C, 0x00, 0x3C, 0x42, 0x7E, 0x40, 0x42, 0x3C, 0x00, + 0x00, 0x00, 0x18, 0x00, 0x7E, 0x40, 0x40, 0x78, 0x40, 0x40, 0x40, 0x7E, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x18, 0x00, 0x3C, 0x42, 0x7E, 0x40, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x40, 0x40, + 0x40, 0x78, 0x40, 0x40, 0x40, 0x7E, 0x10, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42, 0x7E, + 0x40, 0x42, 0x3C, 0x10, 0x1C, 0x00, 0x24, 0x18, 0x00, 0x7E, 0x40, 0x40, 0x78, 0x40, 0x40, 0x7E, + 0x00, 0x00, 0x00, 0x00, 0x24, 0x18, 0x00, 0x3C, 0x42, 0x7E, 0x40, 0x42, 0x3C, 0x00, 0x00, 0x00, + 0x18, 0x24, 0x00, 0x3C, 0x42, 0x40, 0x4E, 0x42, 0x46, 0x3A, 0x00, 0x00, 0x00, 0x00, 0x18, 0x24, + 0x00, 0x3A, 0x44, 0x44, 0x38, 0x40, 0x3C, 0x42, 0x3C, 0x00, 0x42, 0x3C, 0x00, 0x3C, 0x42, 0x40, + 0x4E, 0x42, 0x46, 0x3A, 0x00, 0x00, 0x00, 0x00, 0x42, 0x3C, 0x00, 0x3A, 0x44, 0x44, 0x38, 0x40, + 0x3C, 0x42, 0x3C, 0x00, 0x18, 0x00, 0x3C, 0x42, 0x40, 0x40, 0x4E, 0x42, 0x46, 0x3A, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x18, 0x00, 0x3A, 0x44, 0x44, 0x38, 0x40, 0x3C, 0x42, 0x3C, 0x00, 0x00, 0x3C, + 0x42, 0x40, 0x40, 0x40, 0x4E, 0x42, 0x46, 0x3A, 0x08, 0x10, 0x00, 0x08, 0x10, 0x18, 0x00, 0x3A, + 0x44, 0x44, 0x38, 0x40, 0x3C, 0x42, 0x3C, 0x00, 0x18, 0x24, 0x00, 0x42, 0x42, 0x42, 0x7E, 0x42, + 0x42, 0x42, 0x00, 0x00, 0x00, 0x0C, 0x12, 0x40, 0x40, 0x40, 0x5C, 0x62, 0x42, 0x42, 0x42, 0x00, + 0x00, 0x00, 0x00, 0x42, 0x42, 0xFF, 0x42, 0x7E, 0x42, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00, + 0x40, 0xF8, 0x40, 0x5C, 0x62, 0x42, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x64, 0x98, 0x00, 0x7C, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x64, 0x98, 0x00, 0x30, 0x10, 0x10, + 0x10, 0x10, 0x7C, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x7C, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x7C, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x30, 0x10, 0x10, 0x10, 0x10, 0x7C, 0x00, 0x00, 0x00, + 0x44, 0x38, 0x00, 0x7C, 0x10, 0x10, 0x10, 0x10, 0x10, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x44, 0x38, + 0x00, 0x30, 0x10, 0x10, 0x10, 0x10, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x7C, 0x10, 0x18, 0x00, 0x00, 0x00, 0x30, 0x00, 0x30, 0x10, 0x10, 0x10, 0x10, + 0x7C, 0x10, 0x18, 0x00, 0x10, 0x00, 0x7C, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x7C, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x10, 0x10, 0x10, 0x10, 0x7C, 0x00, 0x00, 0x00, 0x00, 0xEE, + 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x52, 0xEC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x00, 0xC6, + 0x42, 0x42, 0x42, 0x42, 0xF2, 0x12, 0x0C, 0x00, 0x0C, 0x12, 0x00, 0x1E, 0x04, 0x04, 0x04, 0x04, + 0x44, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x12, 0x00, 0x0C, 0x04, 0x04, 0x04, 0x04, 0x44, 0x44, + 0x38, 0x00, 0x00, 0x42, 0x44, 0x48, 0x50, 0x60, 0x50, 0x48, 0x44, 0x42, 0x20, 0xC0, 0x00, 0x00, + 0x40, 0x40, 0x40, 0x44, 0x48, 0x70, 0x48, 0x44, 0x42, 0x20, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x42, 0x44, 0x78, 0x44, 0x42, 0x42, 0x00, 0x00, 0x00, 0x08, 0x10, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x40, 0x40, 0x7E, 0x00, 0x00, 0x08, 0x10, 0x00, 0x30, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x7C, + 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x7E, 0x08, 0x10, 0x00, + 0x00, 0x30, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x7C, 0x10, 0x20, 0x48, 0x30, 0x00, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x7E, 0x00, 0x00, 0x48, 0x30, 0x00, 0x30, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x40, 0x48, 0x48, 0x40, 0x40, 0x40, + 0x7E, 0x00, 0x00, 0x00, 0x00, 0x30, 0x10, 0x10, 0x12, 0x12, 0x10, 0x10, 0x10, 0x7C, 0x00, 0x00, + 0x00, 0x00, 0x40, 0x40, 0x40, 0x60, 0xC0, 0x40, 0x40, 0x40, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x30, + 0x10, 0x10, 0x18, 0x30, 0x10, 0x10, 0x10, 0x7C, 0x00, 0x00, 0x00, 0x08, 0x10, 0x42, 0x42, 0x62, + 0x52, 0x4A, 0x46, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x5C, 0x62, 0x42, 0x42, + 0x42, 0x42, 0x00, 0x00, 0x00, 0x00, 0x42, 0x42, 0x62, 0x52, 0x4A, 0x46, 0x42, 0x42, 0x42, 0x20, + 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x62, 0x42, 0x42, 0x42, 0x42, 0x20, 0x40, 0x00, 0x24, + 0x18, 0x42, 0x42, 0x62, 0x52, 0x4A, 0x46, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00, 0x24, 0x18, 0x00, + 0x5C, 0x62, 0x42, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0xC0, 0x40, 0x80, 0x00, 0x5C, 0x62, 0x42, + 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00, 0x42, 0x42, 0x62, 0x52, 0x4A, 0x46, 0x42, 0x42, 0x42, + 0x02, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x62, 0x42, 0x42, 0x42, 0x42, 0x02, 0x0C, 0x00, + 0x00, 0x7C, 0x00, 0x7C, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, + 0x00, 0x3C, 0x42, 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x44, 0x38, 0x00, 0x7C, 0x82, 0x82, + 0x82, 0x82, 0x82, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x42, 0x3C, 0x00, 0x3C, 0x42, 0x42, 0x42, 0x42, + 0x3C, 0x00, 0x00, 0x00, 0x24, 0x48, 0x00, 0x7C, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7C, 0x00, 0x00, + 0x00, 0x00, 0x12, 0x24, 0x00, 0x3C, 0x42, 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x7E, + 0x90, 0x90, 0x90, 0x9C, 0x90, 0x90, 0x90, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6C, + 0x92, 0x9C, 0x90, 0x92, 0x6C, 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x7C, 0x42, 0x42, 0x7C, 0x48, + 0x44, 0x42, 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x5C, 0x22, 0x20, 0x20, 0x20, 0x20, 0x00, + 0x00, 0x00, 0x00, 0x7C, 0x42, 0x42, 0x42, 0x7C, 0x50, 0x48, 0x44, 0x42, 0x20, 0x40, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x5C, 0x22, 0x20, 0x20, 0x20, 0x20, 0x10, 0x20, 0x00, 0x24, 0x18, 0x00, 0x7C, + 0x42, 0x42, 0x7C, 0x48, 0x44, 0x42, 0x00, 0x00, 0x00, 0x00, 0x24, 0x18, 0x00, 0x5C, 0x22, 0x20, + 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x3C, 0x42, 0x40, 0x3C, 0x02, 0x42, 0x3C, + 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x3C, 0x42, 0x30, 0x0C, 0x42, 0x3C, 0x00, 0x00, 0x00, + 0x18, 0x24, 0x00, 0x3C, 0x42, 0x40, 0x3C, 0x02, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x18, 0x24, + 0x00, 0x3C, 0x42, 0x30, 0x0C, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42, 0x40, 0x40, 0x3C, + 0x02, 0x02, 0x42, 0x3C, 0x08, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42, 0x30, 0x0C, 0x42, + 0x3C, 0x08, 0x10, 0x00, 0x24, 0x18, 0x00, 0x3C, 0x42, 0x40, 0x3C, 0x02, 0x42, 0x3C, 0x00, 0x00, + 0x00, 0x00, 0x24, 0x18, 0x00, 0x3C, 0x42, 0x30, 0x0C, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0xFE, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x08, 0x10, 0x00, 0x00, 0x00, 0x20, 0x20, 0x7C, + 0x20, 0x20, 0x20, 0x22, 0x1C, 0x08, 0x10, 0x00, 0x28, 0x10, 0x00, 0xFE, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x00, 0x00, 0x00, 0x48, 0x30, 0x00, 0x20, 0x20, 0x7C, 0x20, 0x20, 0x22, 0x1C, 0x00, + 0x00, 0x00, 0x00, 0xFE, 0x10, 0x10, 0x7C, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x20, 0x7C, 0x20, 0x7C, 0x20, 0x20, 0x22, 0x1C, 0x00, 0x00, 0x00, 0x32, 0x4C, 0x00, 0x42, + 0x42, 0x42, 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x32, 0x4C, 0x00, 0x44, 0x44, 0x44, + 0x44, 0x44, 0x3A, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3C, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x44, 0x44, 0x44, 0x44, 0x44, 0x3A, 0x00, 0x00, 0x00, + 0x42, 0x3C, 0x00, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x44, 0x38, + 0x00, 0x44, 0x44, 0x44, 0x44, 0x44, 0x3A, 0x00, 0x00, 0x00, 0x18, 0x24, 0x18, 0x42, 0x42, 0x42, + 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x18, 0x24, 0x18, 0x00, 0x44, 0x44, 0x44, 0x44, 0x44, + 0x3A, 0x00, 0x00, 0x00, 0x12, 0x24, 0x00, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, + 0x00, 0x00, 0x12, 0x24, 0x00, 0x44, 0x44, 0x44, 0x44, 0x44, 0x3A, 0x00, 0x00, 0x00, 0x00, 0x42, + 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3C, 0x08, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, + 0x44, 0x44, 0x44, 0x44, 0x3A, 0x08, 0x0C, 0x00, 0x10, 0x28, 0x00, 0x82, 0x82, 0x92, 0x92, 0x92, + 0xAA, 0x44, 0x00, 0x00, 0x00, 0x00, 0x10, 0x28, 0x00, 0x82, 0x82, 0x92, 0x92, 0xAA, 0x44, 0x00, + 0x00, 0x00, 0x18, 0x24, 0x00, 0x82, 0x44, 0x28, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, + 0x18, 0x24, 0x00, 0x42, 0x42, 0x42, 0x46, 0x3A, 0x02, 0x42, 0x3C, 0x00, 0x44, 0x44, 0x00, 0x82, + 0x44, 0x28, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x7E, 0x04, 0x08, 0x10, + 0x20, 0x40, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x7E, 0x04, 0x08, 0x10, 0x20, 0x7E, + 0x00, 0x00, 0x00, 0x18, 0x00, 0x7E, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x7E, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x18, 0x00, 0x7E, 0x04, 0x08, 0x10, 0x20, 0x7E, 0x00, 0x00, 0x00, 0x24, 0x18, 0x00, + 0x7E, 0x04, 0x08, 0x10, 0x20, 0x40, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x24, 0x18, 0x00, 0x7E, 0x04, + 0x08, 0x10, 0x20, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x18, 0x24, 0x20, 0x20, 0x60, 0x20, 0x20, 0x20, + 0x20, 0x00, 0x00, 0x00, 0x00, 0x40, 0xF0, 0x40, 0x5C, 0x62, 0x42, 0x42, 0x62, 0x5C, 0x00, 0x00, + 0x00, 0x00, 0xFC, 0xA2, 0x22, 0x22, 0x3C, 0x22, 0x22, 0x22, 0x3C, 0x00, 0x00, 0x00, 0x00, 0xFC, + 0x40, 0x40, 0x40, 0x7C, 0x42, 0x42, 0x42, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x40, 0x40, 0x5C, + 0x62, 0x42, 0x42, 0x62, 0x5C, 0x00, 0x00, 0x00, 0x00, 0x20, 0x60, 0x20, 0x2C, 0x32, 0x22, 0x22, + 0x32, 0x2C, 0x00, 0x00, 0x00, 0x00, 0x20, 0x60, 0x20, 0x3C, 0x22, 0x22, 0x22, 0x22, 0x1C, 0x00, + 0x00, 0x00, 0x00, 0x3C, 0x42, 0x02, 0x02, 0x02, 0x02, 0x02, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x02, + 0x3C, 0x44, 0x40, 0x40, 0x40, 0x40, 0x40, 0x44, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3A, 0x44, 0x40, 0x40, 0x44, 0x38, 0x00, 0x00, 0x00, 0x00, 0x78, 0x44, 0x42, 0x42, 0xF2, 0x42, + 0x42, 0x44, 0x78, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xA2, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x3C, + 0x00, 0x00, 0x00, 0x00, 0x3E, 0x02, 0x02, 0x3A, 0x46, 0x42, 0x42, 0x46, 0x3A, 0x00, 0x00, 0x00, + 0x00, 0x78, 0x08, 0x08, 0x28, 0x58, 0x48, 0x48, 0x58, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x3C, 0x42, 0x42, 0x42, 0x24, 0x18, 0x04, 0x38, 0x00, 0x00, 0x7E, 0x02, 0x02, 0x02, 0x1E, + 0x02, 0x02, 0x02, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42, 0x02, 0x02, 0x02, 0x7E, 0x42, 0x42, + 0x3C, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42, 0x40, 0x40, 0x38, 0x40, 0x40, 0x42, 0x3C, 0x00, 0x00, + 0x00, 0x00, 0x3E, 0x20, 0x20, 0x20, 0x3C, 0x20, 0x20, 0x20, 0xA0, 0x40, 0x00, 0x00, 0x00, 0x0C, + 0x12, 0x10, 0x10, 0x3C, 0x10, 0x10, 0x10, 0x10, 0x90, 0x60, 0x01, 0x02, 0x3E, 0x42, 0x40, 0x40, + 0x40, 0x4E, 0x42, 0x46, 0x3A, 0x00, 0x00, 0x00, 0x00, 0x82, 0x82, 0x44, 0x44, 0x28, 0x28, 0x10, + 0x28, 0x28, 0x10, 0x00, 0x00, 0x00, 0x40, 0x40, 0x40, 0x52, 0x6A, 0x4A, 0x4A, 0x4A, 0x44, 0x00, + 0x00, 0x00, 0x00, 0x30, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x0C, 0x00, 0x00, 0x00, 0x00, + 0x7C, 0x10, 0x10, 0x10, 0x38, 0x10, 0x10, 0x10, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x44, 0x4A, 0x50, + 0x60, 0x60, 0x50, 0x48, 0x44, 0x42, 0x00, 0x00, 0x00, 0x00, 0x30, 0x48, 0x40, 0x44, 0x48, 0x70, + 0x48, 0x44, 0x42, 0x00, 0x00, 0x00, 0x00, 0x30, 0x10, 0x10, 0x38, 0x10, 0x10, 0x10, 0x10, 0x7C, + 0x00, 0x00, 0x00, 0x00, 0x24, 0x58, 0x30, 0x50, 0x10, 0x28, 0x28, 0x4A, 0x44, 0x00, 0x00, 0x00, + 0x00, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x42, 0x42, + 0x62, 0x52, 0x4A, 0x46, 0x42, 0x42, 0x42, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x62, + 0x42, 0x42, 0x42, 0x42, 0x02, 0x02, 0x00, 0x00, 0x3C, 0x42, 0x42, 0x42, 0x7E, 0x42, 0x42, 0x42, + 0x3C, 0x00, 0x00, 0x00, 0x01, 0x3D, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x3D, 0x42, 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x36, + 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x32, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, + 0x4A, 0x4A, 0x4A, 0x4A, 0x32, 0x02, 0x00, 0x00, 0x00, 0x7C, 0xA2, 0xA2, 0x22, 0x3C, 0x20, 0x20, + 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x40, 0x58, 0x64, 0x44, 0x44, 0x64, 0x58, 0x40, + 0x40, 0x00, 0x00, 0x40, 0x40, 0x7C, 0x42, 0x42, 0x7C, 0x48, 0x44, 0x44, 0x04, 0x02, 0x00, 0x00, + 0x3C, 0x42, 0x02, 0x02, 0x3C, 0x40, 0x40, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3C, 0x42, 0x0C, 0x30, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x20, 0x10, 0x08, 0x04, 0x08, + 0x10, 0x20, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x30, 0x48, 0x48, 0x38, 0x08, 0x08, 0x08, 0x08, 0x08, + 0x0A, 0x04, 0x00, 0x00, 0x00, 0x20, 0x20, 0x7C, 0x20, 0x20, 0x20, 0x24, 0x1A, 0x02, 0x0C, 0x00, + 0x00, 0x7E, 0x90, 0x90, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x1C, 0x22, 0x20, + 0x20, 0x7C, 0x20, 0x20, 0x20, 0x22, 0x1C, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x12, 0x0C, 0x02, 0x02, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, + 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x44, 0x44, 0x44, 0x44, 0x44, 0x3A, 0x00, 0x00, + 0x00, 0x00, 0x24, 0x24, 0x24, 0x42, 0x42, 0x42, 0x42, 0x24, 0x18, 0x00, 0x00, 0x00, 0x00, 0x48, + 0x44, 0x44, 0x42, 0x42, 0x42, 0x42, 0x44, 0x38, 0x00, 0x00, 0x00, 0x00, 0xC2, 0x22, 0x14, 0x14, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x02, 0x05, 0x04, 0x44, 0x44, 0x44, 0x4C, + 0x34, 0x04, 0x44, 0x38, 0x00, 0x00, 0x7E, 0x02, 0x04, 0x08, 0x7E, 0x20, 0x40, 0x40, 0x7E, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x04, 0x7E, 0x10, 0x20, 0x7E, 0x00, 0x00, 0x00, 0x00, + 0x7E, 0x02, 0x04, 0x08, 0x1C, 0x02, 0x02, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x40, 0x20, + 0x10, 0x38, 0x40, 0x40, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x40, 0x20, 0x10, + 0x38, 0x40, 0x40, 0x42, 0x3C, 0x00, 0x00, 0x7E, 0x02, 0x04, 0x08, 0x1C, 0x02, 0x0C, 0x30, 0x42, + 0x3C, 0x00, 0x00, 0x00, 0x3C, 0x42, 0x42, 0x02, 0x04, 0x7E, 0x20, 0x40, 0x7E, 0x00, 0x00, 0x00, + 0x00, 0x7E, 0x42, 0x78, 0x04, 0x02, 0x02, 0x02, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x78, 0x40, 0x70, 0x08, 0x48, 0x70, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x7C, 0x10, 0x18, + 0x04, 0x04, 0x44, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0x64, 0x44, 0x48, 0x50, + 0x60, 0x40, 0x40, 0x00, 0x00, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, + 0x00, 0x00, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x00, 0x00, 0x00, 0x00, 0x10, + 0x10, 0x10, 0x7C, 0x10, 0x7C, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x00, 0x10, 0x00, 0x00, 0x0A, 0x04, 0xC0, 0xAE, 0xA2, 0xA2, 0xA4, 0xA4, 0xA8, + 0xA8, 0xCE, 0x00, 0x00, 0x00, 0x00, 0xCA, 0xA4, 0xA0, 0xAE, 0xA2, 0xA4, 0xA8, 0xA8, 0xCE, 0x00, + 0x00, 0x00, 0x00, 0x2A, 0x24, 0x20, 0x6E, 0xA2, 0xA4, 0xA8, 0xA8, 0x6E, 0x00, 0x00, 0x00, 0x00, + 0x8E, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x92, 0xEC, 0x00, 0x00, 0x00, 0x00, 0x80, 0x82, 0x80, + 0x86, 0x82, 0x82, 0x82, 0x82, 0xEA, 0x0A, 0x04, 0x00, 0x00, 0x80, 0x82, 0x80, 0x86, 0x82, 0x82, + 0x82, 0x82, 0x6A, 0x0A, 0x04, 0x00, 0x00, 0x97, 0x91, 0xD1, 0xB1, 0x91, 0x91, 0x91, 0x95, 0x92, + 0x00, 0x00, 0x00, 0x00, 0x90, 0x91, 0xD0, 0xB3, 0x91, 0x91, 0x91, 0x91, 0x95, 0x05, 0x02, 0x00, + 0x00, 0x00, 0x01, 0x00, 0xE3, 0x91, 0x91, 0x91, 0x91, 0x95, 0x05, 0x02, 0x00, 0x24, 0x18, 0x00, + 0x18, 0x24, 0x42, 0x42, 0x7E, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00, 0x24, 0x18, 0x00, 0x3C, 0x02, + 0x3E, 0x42, 0x46, 0x3A, 0x00, 0x00, 0x00, 0x24, 0x18, 0x00, 0x7C, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x7C, 0x00, 0x00, 0x00, 0x00, 0x48, 0x30, 0x00, 0x30, 0x10, 0x10, 0x10, 0x10, 0x7C, 0x00, 0x00, + 0x00, 0x24, 0x18, 0x00, 0x7C, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x24, + 0x18, 0x00, 0x3C, 0x42, 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x24, 0x18, 0x00, 0x42, 0x42, + 0x42, 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x24, 0x18, 0x00, 0x44, 0x44, 0x44, 0x44, + 0x44, 0x3A, 0x00, 0x00, 0x3C, 0x00, 0x24, 0x00, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3C, 0x00, + 0x00, 0x00, 0x3C, 0x00, 0x24, 0x00, 0x44, 0x44, 0x44, 0x44, 0x44, 0x3A, 0x00, 0x00, 0x04, 0x08, + 0x22, 0x00, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x08, 0x10, 0x44, 0x00, + 0x44, 0x44, 0x44, 0x44, 0x44, 0x3A, 0x00, 0x00, 0x14, 0x08, 0x22, 0x00, 0x42, 0x42, 0x42, 0x42, + 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x28, 0x10, 0x44, 0x00, 0x44, 0x44, 0x44, 0x44, 0x44, 0x3A, + 0x00, 0x00, 0x10, 0x08, 0x22, 0x00, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, + 0x20, 0x10, 0x44, 0x00, 0x44, 0x44, 0x44, 0x44, 0x44, 0x3A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x3C, 0x42, 0x02, 0x7E, 0x42, 0x3C, 0x00, 0x00, 0x3C, 0x00, 0x24, 0x00, 0x18, 0x24, 0x42, + 0x42, 0x7E, 0x42, 0x42, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x24, 0x00, 0x3C, 0x02, 0x3E, 0x42, 0x46, + 0x3A, 0x00, 0x00, 0x3C, 0x00, 0x18, 0x00, 0x18, 0x24, 0x42, 0x42, 0x7E, 0x42, 0x42, 0x00, 0x00, + 0x00, 0x3C, 0x00, 0x18, 0x00, 0x3C, 0x02, 0x3E, 0x42, 0x46, 0x3A, 0x00, 0x00, 0x00, 0x00, 0x3C, + 0x00, 0x7E, 0x90, 0x90, 0xFC, 0x90, 0x90, 0x9E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x6C, + 0x12, 0x7C, 0x90, 0x92, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42, 0x40, 0x40, 0x4E, 0x42, 0x47, + 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3A, 0x44, 0x44, 0x38, 0x40, 0x3C, 0x47, + 0x3C, 0x00, 0x24, 0x18, 0x00, 0x3C, 0x42, 0x40, 0x4E, 0x42, 0x46, 0x3A, 0x00, 0x00, 0x00, 0x00, + 0x24, 0x18, 0x00, 0x3A, 0x44, 0x44, 0x38, 0x40, 0x3C, 0x42, 0x3C, 0x00, 0x24, 0x18, 0x00, 0x44, + 0x48, 0x50, 0x60, 0x50, 0x48, 0x44, 0x00, 0x00, 0x00, 0x24, 0x18, 0x40, 0x40, 0x44, 0x48, 0x70, + 0x48, 0x44, 0x42, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3C, + 0x10, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42, 0x42, 0x42, 0x42, 0x3C, 0x10, 0x08, 0x00, + 0x00, 0x3C, 0x00, 0x3C, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3C, 0x10, 0x08, 0x00, 0x00, 0x00, 0x3C, + 0x00, 0x3C, 0x42, 0x42, 0x42, 0x42, 0x3C, 0x10, 0x08, 0x24, 0x18, 0x00, 0x7E, 0x04, 0x08, 0x1C, + 0x02, 0x02, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x24, 0x18, 0x00, 0x7E, 0x02, 0x04, 0x08, 0x1C, 0x02, + 0x02, 0x42, 0x3C, 0x00, 0x00, 0x12, 0x0C, 0x00, 0x0C, 0x04, 0x04, 0x04, 0x04, 0x44, 0x44, 0x38, + 0x00, 0x00, 0xCE, 0xA2, 0xA2, 0xA4, 0xA4, 0xA4, 0xA8, 0xA8, 0xCE, 0x00, 0x00, 0x00, 0x00, 0xC0, + 0xA0, 0xA0, 0xAE, 0xA2, 0xA4, 0xA8, 0xA8, 0xCE, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0x20, 0x6E, + 0xA2, 0xA4, 0xA8, 0xA8, 0x6E, 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x3C, 0x42, 0x40, 0x4E, 0x42, + 0x46, 0x3A, 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x3A, 0x44, 0x44, 0x38, 0x40, 0x3C, 0x42, + 0x3C, 0x00, 0x00, 0x48, 0x48, 0x48, 0x4A, 0x7A, 0x4A, 0x4A, 0x4A, 0x44, 0x00, 0x00, 0x00, 0x00, + 0x5C, 0x62, 0x42, 0x44, 0x48, 0x50, 0x60, 0x40, 0x40, 0x00, 0x00, 0x10, 0x08, 0x42, 0x42, 0x62, + 0x52, 0x4A, 0x46, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00, 0x10, 0x08, 0x00, 0x5C, 0x62, 0x42, + 0x42, 0x42, 0x42, 0x00, 0x00, 0x08, 0x10, 0x00, 0x18, 0x24, 0x18, 0x24, 0x42, 0x7E, 0x42, 0x42, + 0x00, 0x00, 0x08, 0x10, 0x18, 0x24, 0x18, 0x3C, 0x02, 0x3E, 0x42, 0x46, 0x3A, 0x00, 0x00, 0x00, + 0x08, 0x10, 0x00, 0x7E, 0x90, 0x90, 0xFC, 0x90, 0x90, 0x9E, 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, + 0x00, 0x6C, 0x12, 0x7C, 0x90, 0x92, 0x6C, 0x00, 0x00, 0x00, 0x08, 0x10, 0x02, 0x3C, 0x46, 0x4A, + 0x52, 0x52, 0x62, 0x3C, 0x40, 0x00, 0x00, 0x00, 0x08, 0x10, 0x02, 0x3C, 0x46, 0x4A, 0x52, 0x62, + 0x3C, 0x40, 0x00, 0x00, 0x48, 0x24, 0x00, 0x18, 0x24, 0x42, 0x42, 0x7E, 0x42, 0x42, 0x00, 0x00, + 0x00, 0x00, 0x48, 0x24, 0x00, 0x3C, 0x02, 0x3E, 0x42, 0x46, 0x3A, 0x00, 0x00, 0x00, 0x3C, 0x42, + 0x00, 0x18, 0x24, 0x42, 0x42, 0x7E, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42, 0x00, 0x3C, + 0x02, 0x3E, 0x42, 0x46, 0x3A, 0x00, 0x00, 0x00, 0x48, 0x24, 0x00, 0x7E, 0x40, 0x40, 0x78, 0x40, + 0x40, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x48, 0x24, 0x00, 0x3C, 0x42, 0x7E, 0x40, 0x42, 0x3C, 0x00, + 0x00, 0x00, 0x3C, 0x42, 0x00, 0x7E, 0x40, 0x40, 0x78, 0x40, 0x40, 0x7E, 0x00, 0x00, 0x00, 0x00, + 0x3C, 0x42, 0x00, 0x3C, 0x42, 0x7E, 0x40, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x48, 0x24, 0x00, 0x7C, + 0x10, 0x10, 0x10, 0x10, 0x10, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x48, 0x24, 0x00, 0x18, 0x08, 0x08, + 0x08, 0x08, 0x3E, 0x00, 0x00, 0x00, 0x38, 0x44, 0x00, 0x7C, 0x10, 0x10, 0x10, 0x10, 0x10, 0x7C, + 0x00, 0x00, 0x00, 0x00, 0x38, 0x44, 0x00, 0x30, 0x10, 0x10, 0x10, 0x10, 0x7C, 0x00, 0x00, 0x00, + 0x90, 0x48, 0x00, 0x7C, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x48, 0x24, + 0x00, 0x3C, 0x42, 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x38, 0x44, 0x00, 0x7C, 0x82, 0x82, + 0x82, 0x82, 0x82, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42, 0x00, 0x3C, 0x42, 0x42, 0x42, 0x42, + 0x3C, 0x00, 0x00, 0x00, 0x48, 0x24, 0x00, 0x7C, 0x42, 0x42, 0x7C, 0x48, 0x44, 0x42, 0x00, 0x00, + 0x00, 0x00, 0x48, 0x24, 0x00, 0x5C, 0x22, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x3C, 0x42, + 0x00, 0x7C, 0x42, 0x42, 0x7C, 0x48, 0x44, 0x42, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42, 0x00, 0x5C, + 0x22, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x48, 0x24, 0x00, 0x42, 0x42, 0x42, 0x42, 0x42, + 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x48, 0x24, 0x00, 0x44, 0x44, 0x44, 0x44, 0x44, 0x3A, 0x00, + 0x00, 0x00, 0x3C, 0x42, 0x00, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, + 0x38, 0x44, 0x00, 0x44, 0x44, 0x44, 0x44, 0x44, 0x3A, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42, 0x40, + 0x40, 0x3C, 0x02, 0x02, 0x42, 0x3C, 0x08, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42, 0x30, + 0x0C, 0x42, 0x3C, 0x08, 0x10, 0x00, 0x00, 0xFE, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x08, 0x10, 0x00, 0x00, 0x00, 0x20, 0x20, 0x7C, 0x20, 0x20, 0x20, 0x22, 0x1C, 0x08, 0x10, 0x00, + 0x00, 0x7E, 0x02, 0x04, 0x08, 0x1C, 0x02, 0x02, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x7E, 0x02, 0x04, 0x08, 0x1C, 0x02, 0x02, 0x42, 0x3C, 0x00, 0x24, 0x18, 0x42, 0x42, 0x42, 0x7E, + 0x42, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x24, 0x18, 0x40, 0x40, 0x5C, 0x62, 0x42, 0x42, 0x42, + 0x42, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x62, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x02, 0x02, + 0x00, 0x00, 0x24, 0x42, 0x42, 0x42, 0x3C, 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x14, + 0x22, 0x22, 0x22, 0x1C, 0x22, 0x22, 0x22, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x02, 0x04, 0x08, + 0x10, 0x20, 0x40, 0x40, 0x7E, 0x02, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x04, 0x08, 0x10, + 0x20, 0x7E, 0x02, 0x0C, 0x00, 0x18, 0x00, 0x18, 0x24, 0x42, 0x42, 0x7E, 0x42, 0x42, 0x42, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x3C, 0x02, 0x3E, 0x42, 0x46, 0x3A, 0x00, 0x00, 0x00, 0x00, + 0x7E, 0x40, 0x40, 0x40, 0x78, 0x40, 0x40, 0x40, 0x7E, 0x02, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3C, 0x42, 0x7E, 0x40, 0x42, 0x3E, 0x02, 0x0C, 0x7C, 0x00, 0x28, 0x00, 0x7C, 0x82, 0x82, 0x82, + 0x82, 0x82, 0x7C, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x24, 0x00, 0x3C, 0x42, 0x42, 0x42, 0x42, 0x3C, + 0x00, 0x00, 0x7C, 0x34, 0x58, 0x00, 0x7C, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7C, 0x00, 0x00, 0x7E, + 0x00, 0x14, 0x28, 0x00, 0x3C, 0x42, 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, 0x10, 0x00, 0x7C, 0x82, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x3C, 0x42, + 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, 0x7C, 0x00, 0x10, 0x00, 0x7C, 0x82, 0x82, 0x82, 0x82, 0x82, + 0x7C, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x18, 0x00, 0x3C, 0x42, 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, + 0x00, 0x7C, 0x00, 0x82, 0x44, 0x28, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3C, 0x00, 0x42, 0x42, 0x42, 0x46, 0x3A, 0x02, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5C, + 0x62, 0x42, 0x7C, 0x40, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3A, 0x46, 0x42, 0x42, + 0x46, 0x3A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x62, 0x42, 0x42, 0x62, 0x5C, 0x00, + 0x00, 0x00, 0x38, 0x44, 0x40, 0x40, 0x5C, 0x62, 0x42, 0x42, 0x62, 0x5C, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3C, 0x42, 0x02, 0x02, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3C, 0x42, 0x40, 0x44, 0x4A, 0x3C, 0x10, 0x00, 0x00, 0x00, 0x04, 0x04, 0x04, 0x34, 0x4C, 0x44, + 0x44, 0x4C, 0x34, 0x04, 0x02, 0x00, 0x02, 0x05, 0x04, 0x04, 0x34, 0x4C, 0x44, 0x44, 0x4C, 0x34, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42, 0x7E, 0x02, 0x42, 0x3C, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42, 0x02, 0x7E, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x38, 0x44, 0x06, 0x7D, 0x45, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42, + 0x38, 0x40, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42, 0x1C, 0x02, 0x42, + 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x46, 0x19, 0x04, 0x44, 0x38, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42, 0x5C, 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x04, 0x04, 0x04, 0x3E, 0x04, 0x04, 0x44, 0x38, 0x00, 0x00, 0x00, 0x00, 0x03, 0x34, + 0x4C, 0x44, 0x4C, 0x34, 0x04, 0x44, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3A, 0x46, 0x42, 0x46, + 0x3A, 0x02, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42, 0x40, 0x46, 0x42, 0x3C, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x44, 0x28, 0x28, 0x10, 0x28, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x22, 0x55, 0x08, 0x08, 0x14, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x42, 0x42, 0x42, 0x42, 0x46, 0x3A, 0x02, 0x02, 0x00, 0x3C, 0x40, 0x40, 0x40, 0x5C, 0x62, 0x42, + 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x3C, 0x40, 0x40, 0x40, 0x5C, 0x62, 0x42, 0x42, 0x42, 0x42, + 0x12, 0x0C, 0x00, 0x00, 0x00, 0x10, 0x00, 0x30, 0x10, 0x7C, 0x10, 0x10, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x30, 0x10, 0x10, 0x10, 0x10, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x7C, 0x10, 0x10, 0x10, 0x10, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x30, 0x10, 0x10, 0x34, 0x58, + 0x10, 0x10, 0x10, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x30, 0x10, 0x10, 0x30, 0x50, 0x3C, 0x10, 0x10, + 0x7C, 0x00, 0x00, 0x00, 0x00, 0x30, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x0C, + 0x00, 0x00, 0x60, 0x20, 0x20, 0x3E, 0x22, 0x24, 0x2C, 0x22, 0x72, 0x02, 0x1C, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x82, 0x92, 0x92, 0x92, 0x92, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, + 0x92, 0x92, 0x92, 0x92, 0x6E, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEC, 0x92, 0x92, 0x92, + 0x92, 0x82, 0x02, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2C, 0x32, 0x22, 0x22, 0x22, 0x22, 0x20, + 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0x64, 0x44, 0x44, 0x44, 0x45, 0x02, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x42, 0x62, 0x52, 0x4A, 0x46, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3C, 0x42, 0x7E, 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x48, 0x4E, + 0x48, 0x48, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x82, 0x92, 0x92, 0x92, 0x6C, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x7C, 0x92, 0x92, 0x92, 0x92, 0x7C, 0x10, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x04, 0x04, 0x44, 0x3A, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, + 0x04, 0x04, 0x04, 0x04, 0x04, 0x44, 0x3A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, + 0x08, 0x08, 0x48, 0x38, 0x08, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x22, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x22, 0x20, 0x20, 0x20, 0x20, 0x24, 0x18, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x22, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x1C, 0x22, 0x02, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, + 0x42, 0x42, 0x7C, 0x44, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x44, 0x7C, 0x42, + 0x42, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42, 0x30, 0x0C, 0x02, 0x3C, 0x40, + 0x30, 0x00, 0x04, 0x0A, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x28, 0x10, 0x00, 0x00, 0x04, + 0x0A, 0x08, 0x08, 0x08, 0x08, 0x1C, 0x08, 0x08, 0x28, 0x10, 0x00, 0x00, 0x10, 0x28, 0x08, 0x08, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x0A, 0x04, 0x00, 0x00, 0x04, 0x0A, 0x08, 0x08, 0x08, 0x08, 0x08, + 0x1C, 0x2A, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x44, 0x04, 0x04, 0x04, 0x3E, + 0x04, 0x04, 0x00, 0x00, 0x00, 0x20, 0x20, 0x7C, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x1C, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x44, 0x44, 0xFE, 0x44, 0x44, 0x3A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x66, 0x24, 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x42, + 0x42, 0x42, 0x44, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x28, 0x28, 0x44, 0x44, + 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0xAA, 0x92, 0x92, 0x82, 0x82, 0x00, 0x00, + 0x00, 0x00, 0x04, 0x0A, 0x08, 0x10, 0x10, 0x28, 0x28, 0x44, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x82, 0x44, 0x28, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, + 0x04, 0x08, 0x10, 0x20, 0x7C, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x04, 0x08, 0x12, + 0x25, 0x7E, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x02, 0x04, 0x08, 0x1C, 0x02, 0x02, 0x42, + 0x3C, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x02, 0x04, 0x08, 0x1C, 0x02, 0x3E, 0x43, 0x3C, 0x00, 0x00, + 0x1C, 0x22, 0x02, 0x02, 0x02, 0x0C, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x22, 0x20, + 0x20, 0x20, 0x18, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0x0C, 0x02, 0x02, + 0x02, 0x22, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42, 0x40, 0x40, 0x40, 0x40, + 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42, 0x5A, 0x5A, 0x42, 0x3C, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x7C, 0x42, 0x7C, 0x42, 0x42, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x38, 0x44, 0x42, 0x3A, 0x42, 0x44, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x3C, 0x42, + 0x40, 0x46, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x42, 0x7E, 0x42, 0x42, + 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x0C, 0x04, 0x04, 0x07, 0x0C, 0x14, 0x24, 0x18, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x22, 0x12, 0x0E, 0x12, 0x22, 0x02, 0x02, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x40, 0x40, 0x40, 0x40, 0x40, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x03, 0x04, 0x04, 0x34, + 0x4C, 0x44, 0x4C, 0x34, 0x04, 0x04, 0x04, 0x00, 0x00, 0x1C, 0x22, 0x02, 0x02, 0x02, 0x0C, 0x08, + 0x1C, 0x08, 0x08, 0x00, 0x00, 0x00, 0x1C, 0x22, 0x20, 0x20, 0x20, 0x18, 0x08, 0x1C, 0x08, 0x08, + 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x57, 0xB1, 0x92, 0x92, 0xB4, 0x57, 0x00, 0x00, 0x00, 0x00, + 0x10, 0x10, 0x10, 0x57, 0xB1, 0x92, 0x96, 0xB1, 0x51, 0x06, 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, + 0x57, 0xB1, 0x92, 0x92, 0xB5, 0x57, 0x02, 0x02, 0x00, 0x00, 0x40, 0x40, 0x40, 0xF3, 0x44, 0x42, + 0x41, 0x41, 0x36, 0x00, 0x00, 0x00, 0x02, 0x45, 0x44, 0x44, 0xF4, 0x44, 0x44, 0x44, 0x44, 0x24, + 0x14, 0x08, 0x00, 0x00, 0x40, 0x40, 0x40, 0xF6, 0x49, 0x48, 0x4A, 0x4D, 0x36, 0x04, 0x00, 0x00, + 0x00, 0x38, 0x44, 0x40, 0x40, 0xF4, 0x5A, 0x52, 0x52, 0x52, 0x02, 0x0C, 0x00, 0x00, 0x60, 0x20, + 0x20, 0x2C, 0x32, 0x28, 0x24, 0x32, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x60, 0x20, 0x20, 0x3E, 0x22, + 0x24, 0x28, 0x30, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x54, 0x54, 0x28, 0x28, 0x00, 0x54, 0x54, 0x28, + 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x42, 0x00, 0x7E, 0x42, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x20, 0x28, 0x34, 0x24, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x20, + 0x28, 0x34, 0x24, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x08, 0x08, 0x28, + 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x34, 0x20, 0x20, 0x20, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0x58, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0x58, 0x2A, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x44, 0x48, 0x70, 0x48, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x92, 0x92, + 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x28, 0x10, 0x20, 0x40, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x14, 0x14, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x08, 0x10, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x08, + 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x10, 0x08, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x08, 0x08, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, 0x10, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x10, 0x28, 0x08, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x28, + 0x20, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, 0x20, 0x10, 0x08, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x10, 0x08, 0x10, 0x20, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x28, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x44, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, + 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x18, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x10, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x20, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x10, 0x00, 0x00, 0x10, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x38, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, + 0x08, 0x08, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x20, 0x20, 0x10, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x10, 0x10, 0x7C, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x44, 0x7C, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x18, 0x24, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x1C, 0x00, 0x14, 0x28, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x44, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x92, 0x0C, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x28, 0x10, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x44, 0x28, 0x10, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x10, + 0x10, 0x10, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x20, 0x10, 0x08, + 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x18, 0x18, 0x24, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x44, 0x40, 0x40, 0x30, 0x10, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x78, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, + 0x08, 0x08, 0x78, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x08, 0x08, 0x08, + 0x08, 0x08, 0x78, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, + 0x08, 0x08, 0x78, 0x08, 0x08, 0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, + 0x08, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x40, 0x78, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x20, 0x20, 0x20, 0x3C, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x28, 0x10, 0x00, 0x00, 0x7E, 0x00, 0x7E, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x22, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x10, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x08, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x24, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x4C, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x24, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x24, 0x04, 0x08, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x24, 0x24, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x24, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x24, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x28, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x18, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x3C, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, + 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x08, 0x10, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x10, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x08, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x3C, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x20, 0x3C, 0x20, 0x07, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x20, 0x18, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x7C, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x10, 0x38, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0C, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x28, + 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x08, 0x10, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x48, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x40, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, + 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x54, 0x28, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x44, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x38, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x58, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x58, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x04, 0x08, 0x10, 0x20, 0x40, 0x00, 0x00, 0x00, 0x02, 0x02, 0x04, 0x08, 0x08, + 0x10, 0x20, 0x20, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x10, 0x08, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, + 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x28, 0x38, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x54, 0x00, 0x6C, 0x10, 0x6C, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x20, 0x10, 0x20, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x40, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x58, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x10, 0x20, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, + 0x18, 0x00, 0x7C, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x28, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x38, 0x08, 0x08, 0x34, 0x58, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x04, 0x71, 0x8E, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, + 0x4C, 0x32, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x7E, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x10, 0x38, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x19, 0x26, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x1E, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x1F, 0x02, 0x10, 0x08, 0x18, 0x28, 0x18, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x28, 0x38, 0x20, 0x18, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x18, 0x24, 0x24, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x28, + 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x20, 0x18, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x18, 0x28, 0x18, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x30, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x68, 0x54, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, + 0x30, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x38, 0x10, 0x18, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x28, 0x10, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x10, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x18, 0x00, 0x00, 0x00, 0x00, 0x10, 0x38, + 0x10, 0x00, 0x00, 0x38, 0x30, 0x40, 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x52, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x4C, 0x92, 0x12, 0x12, 0x12, 0x1E, 0x12, 0x12, 0x12, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x90, 0x10, + 0x10, 0x1C, 0x10, 0x10, 0x10, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x52, 0x92, 0x12, 0x12, 0x1E, 0x12, + 0x12, 0x12, 0x12, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x44, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x0E, + 0x00, 0x00, 0x00, 0x00, 0x4C, 0x92, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x0C, 0x00, 0x00, 0x00, + 0x00, 0x2A, 0x4A, 0x0A, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x4C, 0x92, + 0x12, 0x12, 0x12, 0x12, 0x0C, 0x0C, 0x12, 0x00, 0x00, 0x00, 0x08, 0x52, 0x42, 0x00, 0x10, 0x10, + 0x10, 0x10, 0x12, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x18, 0x24, 0x42, 0x42, 0x42, 0x7E, 0x42, 0x42, + 0x42, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x42, 0x42, 0x42, 0x7C, 0x42, 0x42, 0x42, 0x7C, 0x00, 0x00, + 0x00, 0x00, 0x7E, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x10, + 0x28, 0x28, 0x28, 0x44, 0x44, 0x44, 0x82, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x40, 0x40, 0x40, + 0x78, 0x40, 0x40, 0x40, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, + 0x40, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x42, 0x42, 0x42, 0x42, 0x7E, 0x42, 0x42, 0x42, 0x42, 0x00, + 0x00, 0x00, 0x00, 0x3C, 0x42, 0x42, 0x42, 0x7E, 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, + 0x7C, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x42, 0x44, 0x48, + 0x50, 0x60, 0x50, 0x48, 0x44, 0x42, 0x00, 0x00, 0x00, 0x00, 0x10, 0x28, 0x28, 0x28, 0x44, 0x44, + 0x44, 0x82, 0x82, 0x00, 0x00, 0x00, 0x00, 0x82, 0x82, 0xC6, 0xAA, 0x92, 0x92, 0x82, 0x82, 0x82, + 0x00, 0x00, 0x00, 0x00, 0x42, 0x42, 0x62, 0x52, 0x4A, 0x46, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, + 0x00, 0x7E, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42, + 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x44, 0x44, 0x44, 0x44, + 0x44, 0x44, 0x44, 0x44, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x42, 0x42, 0x42, 0x7C, 0x40, 0x40, 0x40, + 0x40, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x40, 0x20, 0x10, 0x08, 0x10, 0x20, 0x40, 0x7E, 0x00, 0x00, + 0x00, 0x00, 0xFE, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x82, + 0x82, 0x44, 0x28, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x10, 0x7C, 0x92, 0x92, + 0x92, 0x92, 0x92, 0x7C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x82, 0x82, 0x44, 0x28, 0x10, 0x28, 0x44, + 0x82, 0x82, 0x00, 0x00, 0x00, 0x00, 0x92, 0x92, 0x92, 0x92, 0x92, 0x7C, 0x10, 0x10, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x7C, 0x82, 0x82, 0x82, 0x82, 0x82, 0x6C, 0x28, 0xEE, 0x00, 0x00, 0x00, 0x44, + 0x44, 0x00, 0x7C, 0x10, 0x10, 0x10, 0x10, 0x10, 0x7C, 0x00, 0x00, 0x00, 0x44, 0x44, 0x00, 0x44, + 0x44, 0x28, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x04, 0x08, 0x00, 0x00, 0x3A, 0x46, 0x42, + 0x46, 0x4A, 0x32, 0x00, 0x00, 0x00, 0x04, 0x08, 0x00, 0x00, 0x3C, 0x42, 0x38, 0x40, 0x42, 0x3C, + 0x00, 0x00, 0x00, 0x04, 0x08, 0x00, 0x00, 0x5C, 0x62, 0x42, 0x42, 0x42, 0x42, 0x02, 0x02, 0x00, + 0x10, 0x20, 0x00, 0x00, 0x20, 0x20, 0x20, 0x20, 0x24, 0x18, 0x00, 0x00, 0x00, 0x08, 0x52, 0x42, + 0x00, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3A, 0x46, + 0x42, 0x46, 0x4A, 0x32, 0x00, 0x00, 0x00, 0x00, 0x38, 0x44, 0x44, 0x7C, 0x42, 0x42, 0x42, 0x62, + 0x5C, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x44, 0x44, 0x28, 0x28, 0x10, 0x10, 0x10, + 0x00, 0x00, 0x3C, 0x42, 0x20, 0x3C, 0x42, 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3C, 0x42, 0x38, 0x40, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x10, 0x20, 0x20, + 0x40, 0x40, 0x40, 0x40, 0x3C, 0x02, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x62, 0x42, 0x42, + 0x42, 0x42, 0x02, 0x02, 0x00, 0x00, 0x38, 0x44, 0x44, 0x44, 0x7C, 0x44, 0x44, 0x44, 0x38, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0x20, 0x20, 0x24, 0x18, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x44, 0x48, 0x50, 0x70, 0x48, 0x44, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42, 0x02, + 0x3A, 0x46, 0x42, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x42, 0x42, + 0x42, 0x66, 0x5A, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x44, 0x44, 0x28, 0x28, 0x10, + 0x00, 0x00, 0x00, 0x00, 0x7E, 0x10, 0x20, 0x20, 0x1C, 0x20, 0x40, 0x40, 0x3C, 0x02, 0x0C, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42, 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFE, 0x44, 0x44, 0x44, 0x44, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42, + 0x42, 0x42, 0x62, 0x5C, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42, 0x40, 0x40, 0x40, + 0x3C, 0x02, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x48, 0x44, 0x42, 0x42, 0x3C, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x10, 0x10, 0x10, 0x12, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4C, + 0x92, 0x92, 0x92, 0x92, 0x7C, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x42, 0x24, 0x18, + 0x18, 0x24, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x92, 0x92, 0x92, 0x92, 0x92, 0x7C, 0x10, + 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x92, 0x92, 0x92, 0x92, 0x6C, 0x00, 0x00, 0x00, 0x00, + 0x42, 0x42, 0x00, 0x10, 0x10, 0x10, 0x10, 0x12, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x42, 0x42, 0x00, + 0x42, 0x42, 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x04, 0x08, 0x00, 0x00, 0x3C, 0x42, 0x42, + 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x04, 0x08, 0x00, 0x00, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3C, + 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x82, 0x92, 0x92, 0x92, 0x92, 0x6C, 0x00, 0x00, 0x00, + 0x00, 0x18, 0x24, 0x44, 0x48, 0x5C, 0x62, 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x38, 0x44, + 0x44, 0x3E, 0x04, 0x44, 0x44, 0x44, 0x38, 0x00, 0x00, 0x00, 0x00, 0x44, 0xAA, 0x28, 0x28, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0xA4, 0xAA, 0x28, 0x28, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x00, 0x00, 0x00, 0x44, 0x44, 0x00, 0x44, 0xAA, 0x28, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x10, 0x10, 0x7C, 0x92, 0x92, 0x92, 0x92, 0x7C, 0x10, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFE, 0x82, 0x92, 0x92, 0x92, 0x6C, 0x00, 0x00, 0x00, 0x10, 0x08, 0x00, 0x00, 0x42, + 0x24, 0x28, 0x38, 0x24, 0x42, 0x02, 0x1C, 0x00, 0x00, 0x3C, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, + 0x42, 0x3C, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42, 0x42, 0x42, 0x42, 0x3C, 0x18, + 0x18, 0x00, 0x00, 0x1C, 0x22, 0x40, 0x40, 0x40, 0x40, 0x40, 0x3C, 0x02, 0x04, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x02, 0x3C, 0x40, 0x40, 0x40, 0x40, 0x3C, 0x02, 0x0C, 0x00, 0x00, 0x7E, 0x40, 0x40, + 0x40, 0x78, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x40, 0x40, + 0x78, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x80, 0x40, 0x44, 0x4C, 0x54, 0x64, 0x44, 0x04, 0x02, + 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x20, 0x20, 0x40, 0x7E, 0x02, 0x04, 0x04, 0x08, 0x08, 0x00, + 0x00, 0x10, 0x28, 0x28, 0x28, 0x44, 0x4C, 0x4C, 0x92, 0x92, 0x00, 0x00, 0x00, 0x00, 0x60, 0x10, + 0x08, 0x0C, 0x14, 0x26, 0x0A, 0x12, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x92, 0x92, 0x92, 0x92, + 0x92, 0x6E, 0x02, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x92, 0x92, 0x92, 0x92, 0x92, + 0x6E, 0x02, 0x7C, 0x00, 0x00, 0x32, 0x42, 0x42, 0x42, 0x3E, 0x02, 0x02, 0x02, 0x02, 0x00, 0x00, + 0x00, 0x00, 0x28, 0x48, 0x48, 0x48, 0x38, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x70, + 0x20, 0x20, 0x3C, 0x22, 0x22, 0x22, 0x22, 0x72, 0x02, 0x0C, 0x00, 0x00, 0x00, 0x20, 0x10, 0x3C, + 0x52, 0x22, 0x02, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42, 0x42, 0x04, 0x18, 0x20, 0x42, + 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42, 0x42, 0x24, 0x18, 0x20, 0x40, 0x3E, 0x00, + 0x00, 0x00, 0x00, 0x6C, 0x10, 0x10, 0x28, 0x28, 0x44, 0x44, 0x82, 0xFE, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x6C, 0x10, 0x28, 0x28, 0x44, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x40, 0x7C, + 0x42, 0x42, 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x40, 0x5C, 0x42, + 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x38, 0x10, 0x7C, 0x54, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x14, 0x7C, 0x50, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x42, 0x24, 0x28, 0x38, 0x24, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x3C, 0x42, 0x42, 0x42, 0x62, 0x5C, 0x40, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42, + 0x40, 0x40, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x0C, 0x04, 0x04, 0x04, 0x04, + 0x44, 0x44, 0x38, 0x00, 0x00, 0x3C, 0x42, 0x42, 0x42, 0x7E, 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x40, 0x78, 0x40, 0x40, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x78, 0x04, 0x3C, 0x04, 0x04, 0x78, 0x00, 0x00, 0x00, 0x10, 0x08, 0x00, 0x7E, 0x40, + 0x40, 0x7C, 0x40, 0x40, 0x7E, 0x00, 0x00, 0x00, 0x24, 0x24, 0x00, 0x7E, 0x40, 0x40, 0x7C, 0x40, + 0x40, 0x7E, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x20, 0x20, 0x3C, 0x22, 0x22, 0x22, 0x22, 0x22, 0x02, + 0x0C, 0x00, 0x08, 0x10, 0x00, 0x7E, 0x42, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, + 0x1E, 0x22, 0x40, 0x40, 0x7C, 0x40, 0x40, 0x22, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42, 0x40, + 0x40, 0x3C, 0x02, 0x02, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x38, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x38, 0x00, 0x00, 0x00, 0x44, 0x44, 0x00, 0x7C, 0x10, 0x10, 0x10, 0x10, 0x10, 0x7C, + 0x00, 0x00, 0x00, 0x00, 0x0E, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x44, 0x38, 0x00, 0x00, 0x00, + 0x00, 0x70, 0x90, 0x90, 0x90, 0x9C, 0x92, 0x92, 0x92, 0x9C, 0x00, 0x00, 0x00, 0x00, 0x90, 0x90, + 0x90, 0x90, 0xFC, 0x92, 0x92, 0x92, 0x9C, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x20, 0x20, 0x2C, 0x32, + 0x22, 0x22, 0x22, 0x22, 0x00, 0x00, 0x08, 0x10, 0x00, 0x44, 0x48, 0x50, 0x60, 0x50, 0x48, 0x44, + 0x44, 0x00, 0x00, 0x00, 0x10, 0x08, 0x42, 0x46, 0x46, 0x4A, 0x52, 0x62, 0x62, 0x42, 0x00, 0x00, + 0x00, 0x42, 0x3C, 0x00, 0x42, 0x42, 0x42, 0x3E, 0x02, 0x02, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x44, + 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x7C, 0x10, 0x10, 0x00, 0x00, 0x18, 0x24, 0x42, 0x42, + 0x42, 0x7E, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x40, 0x40, 0x40, 0x7C, 0x42, 0x42, + 0x42, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x42, 0x42, 0x42, 0x7C, 0x42, 0x42, 0x42, 0x7C, 0x00, + 0x00, 0x00, 0x00, 0x7E, 0x42, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, + 0x3C, 0x24, 0x24, 0x24, 0x44, 0x44, 0x44, 0x44, 0xFE, 0x82, 0x00, 0x00, 0x00, 0x7E, 0x40, 0x40, + 0x40, 0x7C, 0x40, 0x40, 0x40, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x92, 0x92, 0x54, 0x38, 0x54, 0x92, + 0x92, 0x92, 0x92, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42, 0x02, 0x02, 0x0C, 0x02, 0x02, 0x42, 0x3C, + 0x00, 0x00, 0x00, 0x00, 0x42, 0x46, 0x46, 0x4A, 0x4A, 0x52, 0x52, 0x62, 0x42, 0x00, 0x00, 0x00, + 0x42, 0x3C, 0x42, 0x46, 0x46, 0x4A, 0x52, 0x62, 0x62, 0x42, 0x00, 0x00, 0x00, 0x00, 0x42, 0x44, + 0x48, 0x50, 0x60, 0x50, 0x48, 0x44, 0x42, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x22, 0x22, 0x22, 0x22, + 0x22, 0x22, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00, 0x82, 0x82, 0xC6, 0xAA, 0x92, 0x92, 0x82, 0x82, + 0x82, 0x00, 0x00, 0x00, 0x00, 0x42, 0x42, 0x42, 0x42, 0x7E, 0x42, 0x42, 0x42, 0x42, 0x00, 0x00, + 0x00, 0x00, 0x3C, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x7E, + 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x42, 0x42, 0x42, + 0x42, 0x7C, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x42, 0x42, 0x42, 0x42, 0x24, 0x18, 0x10, 0x20, 0x40, 0x00, 0x00, 0x00, 0x00, + 0x10, 0x7C, 0x92, 0x92, 0x92, 0x92, 0x7C, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x44, 0x44, 0x28, + 0x28, 0x10, 0x28, 0x28, 0x44, 0x44, 0x00, 0x00, 0x00, 0x00, 0x84, 0x84, 0x84, 0x84, 0x84, 0x84, + 0x84, 0x84, 0xFE, 0x02, 0x02, 0x00, 0x00, 0x42, 0x42, 0x42, 0x42, 0x3E, 0x02, 0x02, 0x02, 0x02, + 0x00, 0x00, 0x00, 0x00, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0xFE, 0x00, 0x00, 0x00, + 0x00, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0xFE, 0x02, 0x02, 0x00, 0x00, 0xE0, 0x20, + 0x20, 0x20, 0x3C, 0x22, 0x22, 0x22, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x42, 0x42, 0x42, 0x72, 0x4A, + 0x4A, 0x4A, 0x4A, 0x72, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x40, 0x40, 0x7C, 0x42, 0x42, 0x42, + 0x7C, 0x00, 0x00, 0x00, 0x00, 0x78, 0x04, 0x02, 0x02, 0x3E, 0x02, 0x02, 0x04, 0x78, 0x00, 0x00, + 0x00, 0x00, 0x8C, 0x92, 0x92, 0x92, 0xF2, 0x92, 0x92, 0x92, 0x8C, 0x00, 0x00, 0x00, 0x00, 0x3C, + 0x44, 0x44, 0x44, 0x3C, 0x14, 0x24, 0x44, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, + 0x02, 0x3E, 0x42, 0x42, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x02, 0x3C, 0x40, 0x7C, 0x42, 0x42, 0x42, + 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x42, 0x7C, 0x42, 0x42, 0x7C, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x42, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x1C, 0x24, 0x24, 0x24, 0x24, 0x7E, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3C, 0x42, 0x7E, 0x40, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x92, 0x92, 0x7C, + 0x54, 0x92, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42, 0x1C, 0x02, 0x42, 0x3C, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x46, 0x4A, 0x52, 0x62, 0x42, 0x00, 0x00, 0x00, + 0x00, 0x42, 0x3C, 0x00, 0x42, 0x46, 0x4A, 0x52, 0x62, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x44, 0x48, 0x70, 0x48, 0x44, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x22, + 0x22, 0x22, 0x22, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x6C, 0x54, 0x54, 0x44, + 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x42, 0x7E, 0x42, 0x42, 0x42, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42, 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7E, 0x42, 0x42, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5C, + 0x62, 0x42, 0x42, 0x62, 0x5C, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42, 0x40, 0x40, + 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x42, 0x42, 0x46, 0x3A, 0x02, 0x42, 0x3C, 0x00, 0x00, + 0x10, 0x10, 0x10, 0x7C, 0x92, 0x92, 0x92, 0x92, 0x7C, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x42, 0x24, 0x18, 0x18, 0x24, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x44, 0x44, + 0x44, 0x44, 0x7E, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x42, 0x46, 0x3A, 0x02, 0x02, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x92, 0x92, 0x92, 0x92, 0x92, 0xFE, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x92, 0x92, 0x92, 0x92, 0x92, 0xFE, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xE0, 0x20, 0x3C, 0x22, 0x22, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x42, + 0x72, 0x4A, 0x4A, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0x3C, 0x22, 0x22, + 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x02, 0x0E, 0x02, 0x02, 0x3C, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x8C, 0x92, 0x92, 0xF2, 0x92, 0x8C, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3E, 0x42, 0x42, 0x3E, 0x22, 0x42, 0x00, 0x00, 0x00, 0x00, 0x10, 0x08, 0x00, 0x3C, + 0x42, 0x7E, 0x40, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x24, 0x24, 0x00, 0x3C, 0x42, 0x7E, 0x40, + 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x20, 0x7C, 0x20, 0x2C, 0x32, 0x22, 0x22, 0x22, 0x22, 0x02, + 0x04, 0x00, 0x00, 0x08, 0x10, 0x00, 0x7E, 0x42, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x3E, 0x40, 0x78, 0x40, 0x40, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3C, 0x42, 0x30, 0x0C, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x30, 0x10, 0x10, + 0x10, 0x10, 0x38, 0x00, 0x00, 0x00, 0x00, 0x48, 0x48, 0x00, 0x30, 0x10, 0x10, 0x10, 0x10, 0x7C, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x0C, 0x04, 0x04, 0x04, 0x04, 0x24, 0x24, 0x18, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x70, 0x90, 0x9C, 0x92, 0x92, 0x9C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x90, 0xFC, 0x92, 0x92, 0x9C, 0x00, 0x00, 0x00, 0x00, 0x20, 0x7C, 0x20, 0x2C, 0x32, + 0x22, 0x22, 0x22, 0x22, 0x00, 0x00, 0x00, 0x00, 0x10, 0x20, 0x00, 0x44, 0x48, 0x70, 0x48, 0x44, + 0x44, 0x00, 0x00, 0x00, 0x00, 0x10, 0x08, 0x00, 0x42, 0x46, 0x4A, 0x52, 0x62, 0x42, 0x00, 0x00, + 0x00, 0x00, 0x42, 0x3C, 0x00, 0x42, 0x42, 0x42, 0x46, 0x3A, 0x02, 0x42, 0x3C, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x44, 0x44, 0x44, 0x44, 0x44, 0x7C, 0x10, 0x10, 0x00, 0x00, 0x6C, 0x82, 0x82, 0x82, + 0x82, 0x92, 0x92, 0x92, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x92, 0x92, 0x92, + 0x92, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x20, 0xF8, 0x20, 0x20, 0x3C, 0x22, 0x22, 0x22, 0x3C, 0x00, + 0x00, 0x00, 0x00, 0x20, 0x20, 0x20, 0xF8, 0x20, 0x3C, 0x22, 0x22, 0x3C, 0x00, 0x00, 0x00, 0x00, + 0x8E, 0x90, 0x90, 0x90, 0xFC, 0x90, 0x90, 0x90, 0x8E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x8E, 0x90, 0xFC, 0x90, 0x90, 0x8E, 0x00, 0x00, 0x00, 0x00, 0x10, 0x28, 0x28, 0x44, 0x44, 0x6C, + 0x92, 0x92, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x28, 0x44, 0x6C, 0x92, 0x92, + 0x00, 0x00, 0x00, 0x00, 0x90, 0x90, 0xA8, 0xA8, 0xA8, 0xC4, 0xD4, 0x92, 0x92, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x48, 0x54, 0x54, 0x62, 0x6A, 0x4A, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x44, + 0x44, 0x28, 0x38, 0x54, 0x92, 0x92, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x28, + 0x28, 0x7C, 0x92, 0x92, 0x00, 0x00, 0x00, 0x00, 0xBE, 0xA2, 0xA2, 0x94, 0xF8, 0x9C, 0xAA, 0xAA, + 0xAA, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9C, 0x94, 0xF8, 0x9C, 0xAA, 0xAA, 0x00, 0x00, + 0x00, 0x22, 0x1C, 0x00, 0x3C, 0x42, 0x02, 0x1C, 0x02, 0x02, 0x3C, 0x40, 0x38, 0x00, 0x22, 0x1C, + 0x00, 0x00, 0x3C, 0x42, 0x1C, 0x02, 0x02, 0x3C, 0x40, 0x38, 0x00, 0x00, 0x92, 0x92, 0x92, 0x92, + 0x92, 0x7C, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x92, 0x92, 0x92, 0x92, + 0x92, 0x7C, 0x10, 0x10, 0x00, 0x00, 0x3C, 0x42, 0x42, 0x42, 0x7E, 0x42, 0x42, 0x42, 0x3C, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42, 0x7E, 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, + 0x42, 0x44, 0x44, 0x48, 0x28, 0x28, 0x28, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x42, 0x44, 0x48, 0x28, 0x28, 0x10, 0x00, 0x00, 0x00, 0x48, 0x24, 0x00, 0x42, 0x44, 0x48, 0x28, + 0x28, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x48, 0x24, 0x00, 0x42, 0x44, 0x48, 0x28, 0x28, 0x10, + 0x00, 0x00, 0x00, 0x00, 0x40, 0xA0, 0xA0, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0x46, 0x02, 0x0C, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x4A, 0xAA, 0xAA, 0xAA, 0xAA, 0x46, 0x02, 0x0C, 0x00, 0x10, 0x7C, 0x92, + 0x82, 0x82, 0x82, 0x82, 0x82, 0x92, 0x7C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x7C, 0x92, + 0x82, 0x82, 0x92, 0x7C, 0x10, 0x00, 0x04, 0x7C, 0x40, 0x00, 0x6C, 0x82, 0x92, 0x92, 0x92, 0x92, + 0x6C, 0x00, 0x00, 0x04, 0x7C, 0x40, 0x00, 0x00, 0x6C, 0x82, 0x92, 0x92, 0x92, 0x6C, 0x00, 0x00, + 0x00, 0x7C, 0x10, 0x00, 0x6C, 0x82, 0x92, 0x92, 0x92, 0x92, 0x6C, 0x00, 0x00, 0x00, 0x7C, 0x10, + 0x00, 0x00, 0x92, 0x92, 0x92, 0x54, 0x54, 0x28, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42, 0x42, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x3C, 0x04, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42, 0x40, 0x40, + 0x3C, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x14, 0x08, 0x54, 0x20, 0x50, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x02, 0x7E, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x46, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x66, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xA4, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, + 0xA4, 0x0A, 0x24, 0x48, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x44, 0x68, 0x0C, 0x00, + 0x84, 0x78, 0x00, 0x84, 0x8C, 0x94, 0xA4, 0xC4, 0x84, 0x86, 0x02, 0x04, 0x00, 0x00, 0x84, 0x78, + 0x00, 0x84, 0x8C, 0x94, 0xA4, 0xC4, 0x86, 0x02, 0x04, 0x00, 0x00, 0x20, 0x78, 0x20, 0x20, 0x3C, + 0x22, 0x22, 0x22, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x78, 0x20, 0x3C, 0x22, + 0x3C, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x42, 0x42, 0x4A, 0x44, 0x7A, 0x40, 0x40, 0x40, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x42, 0x4A, 0x44, 0x7A, 0x40, 0x40, 0x40, 0x00, 0x02, 0x7E, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x7E, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x22, 0x20, 0x20, 0x70, 0x20, 0x20, + 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x22, 0x70, 0x20, 0x20, 0x20, 0x00, + 0x00, 0x00, 0x00, 0x7E, 0x40, 0x40, 0x40, 0x7C, 0x42, 0x42, 0x42, 0xE2, 0x0C, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x7E, 0x40, 0x7C, 0x42, 0x42, 0xE2, 0x0C, 0x00, 0x00, 0x00, 0x92, 0x92, 0x54, + 0x38, 0x54, 0x92, 0x92, 0x92, 0x93, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x92, 0x92, 0x7C, + 0x54, 0x92, 0x93, 0x01, 0x01, 0x00, 0x00, 0x3C, 0x42, 0x02, 0x02, 0x1C, 0x02, 0x02, 0x42, 0x3C, + 0x10, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42, 0x1C, 0x02, 0x42, 0x3C, 0x10, 0x20, 0x00, + 0x00, 0x42, 0x44, 0x48, 0x50, 0x60, 0x50, 0x48, 0x44, 0x42, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x48, 0x50, 0x60, 0x50, 0x48, 0x44, 0x04, 0x04, 0x00, 0x00, 0x42, 0x42, 0x54, 0x54, 0x78, + 0x54, 0x54, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x54, 0x78, 0x54, 0x44, + 0x42, 0x00, 0x00, 0x00, 0x00, 0x22, 0x74, 0x28, 0x30, 0x30, 0x30, 0x28, 0x24, 0x22, 0x00, 0x00, + 0x00, 0x00, 0x20, 0x20, 0x72, 0x24, 0x28, 0x30, 0x28, 0x24, 0x22, 0x00, 0x00, 0x00, 0x00, 0x62, + 0x24, 0x28, 0x30, 0x30, 0x30, 0x28, 0x24, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, + 0x28, 0x30, 0x28, 0x24, 0x22, 0x00, 0x00, 0x00, 0x00, 0x44, 0x44, 0x44, 0x44, 0x7C, 0x44, 0x44, + 0x44, 0x46, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x44, 0x7C, 0x44, 0x44, 0x46, 0x02, + 0x02, 0x00, 0x00, 0x4E, 0x48, 0x48, 0x48, 0x78, 0x48, 0x48, 0x48, 0x48, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x4E, 0x48, 0x78, 0x48, 0x48, 0x48, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x90, 0x90, + 0x90, 0x9C, 0x92, 0x92, 0x92, 0x92, 0x02, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x90, 0x9C, + 0x92, 0x92, 0x92, 0x02, 0x0C, 0x00, 0x00, 0x3C, 0x42, 0x40, 0x4C, 0x52, 0x52, 0x52, 0x3C, 0x10, + 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x40, 0x4C, 0x52, 0x3C, 0x10, 0x0E, 0x00, 0x00, + 0x00, 0x3C, 0x42, 0x40, 0x40, 0x40, 0x40, 0x40, 0x42, 0x3C, 0x10, 0x18, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x3C, 0x42, 0x40, 0x40, 0x42, 0x3C, 0x10, 0x18, 0x00, 0x00, 0xFE, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0x18, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x92, 0x10, 0x10, 0x10, + 0x18, 0x08, 0x08, 0x00, 0x00, 0x82, 0x82, 0x44, 0x28, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x82, 0x44, 0x28, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x82, + 0x82, 0x44, 0x28, 0x10, 0x7C, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, + 0x82, 0x44, 0x28, 0x10, 0x7C, 0x10, 0x10, 0x00, 0x00, 0x44, 0x44, 0x28, 0x28, 0x10, 0x28, 0x28, + 0x44, 0x46, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x28, 0x10, 0x28, 0x44, 0x46, 0x02, + 0x02, 0x00, 0x00, 0x72, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x3E, 0x02, 0x02, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x72, 0x22, 0x22, 0x22, 0x22, 0x3E, 0x02, 0x02, 0x00, 0x00, 0x44, 0x44, 0x44, + 0x44, 0x4C, 0x34, 0x04, 0x04, 0x06, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x44, 0x4C, + 0x34, 0x04, 0x06, 0x02, 0x02, 0x00, 0x00, 0x42, 0x42, 0x42, 0x52, 0x56, 0x3A, 0x12, 0x12, 0x02, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x42, 0x56, 0x3A, 0x12, 0x02, 0x00, 0x00, 0x00, + 0x00, 0x40, 0x40, 0x40, 0x5C, 0x62, 0x42, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, + 0x20, 0x20, 0x2C, 0x32, 0x22, 0x22, 0x22, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x22, 0xA2, 0xA2, 0x7E, + 0x20, 0x20, 0x22, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9C, 0xA2, 0x7E, 0x20, 0x22, + 0x1C, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x22, 0xA2, 0xA2, 0x7E, 0x20, 0x20, 0x22, 0x1C, 0x08, 0x0C, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x9C, 0xA2, 0x7E, 0x20, 0x22, 0x1C, 0x08, 0x0C, 0x00, 0x00, 0x1C, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x1C, 0x00, 0x00, 0x44, 0x38, 0x00, 0x92, 0x92, 0x54, + 0x38, 0x54, 0x92, 0x92, 0x92, 0x00, 0x00, 0x00, 0x00, 0x44, 0x38, 0x00, 0x92, 0x92, 0x7C, 0x54, + 0x92, 0x92, 0x00, 0x00, 0x00, 0x00, 0x42, 0x44, 0x48, 0x50, 0x60, 0x50, 0x48, 0x44, 0x42, 0x02, + 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x48, 0x70, 0x48, 0x44, 0x44, 0x04, 0x18, 0x00, 0x00, + 0x3C, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x84, 0x86, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3C, 0x44, 0x44, 0x44, 0x44, 0x86, 0x02, 0x04, 0x00, 0x00, 0x42, 0x42, 0x42, 0x42, 0x7E, 0x42, + 0x42, 0x42, 0x42, 0x02, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x42, 0x7E, 0x42, 0x42, 0x42, + 0x02, 0x1C, 0x00, 0x00, 0x84, 0x84, 0x84, 0x84, 0xFC, 0x84, 0x84, 0x84, 0x86, 0x02, 0x04, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x84, 0x84, 0xFC, 0x84, 0x84, 0x86, 0x02, 0x04, 0x00, 0x00, 0x42, 0x42, + 0x42, 0x42, 0x46, 0x3A, 0x02, 0x02, 0x06, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x42, + 0x46, 0x3A, 0x02, 0x06, 0x04, 0x04, 0x00, 0x00, 0x82, 0x82, 0xC6, 0xAA, 0x92, 0x92, 0x82, 0x82, + 0x83, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x6C, 0x54, 0x54, 0x44, 0x46, 0x02, 0x04, + 0x00, 0x42, 0x3C, 0x00, 0x18, 0x24, 0x42, 0x42, 0x7E, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00, 0x42, + 0x3C, 0x00, 0x3C, 0x02, 0x3E, 0x42, 0x46, 0x3A, 0x00, 0x00, 0x00, 0x24, 0x24, 0x00, 0x18, 0x24, + 0x42, 0x42, 0x7E, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00, 0x24, 0x24, 0x00, 0x1C, 0x02, 0x3E, 0x42, + 0x46, 0x3A, 0x00, 0x00, 0x00, 0x00, 0x6E, 0x90, 0x90, 0x90, 0x9C, 0xF0, 0x90, 0x90, 0x9E, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x12, 0x7C, 0x90, 0x92, 0x6C, 0x00, 0x00, 0x00, 0x42, + 0x3C, 0x00, 0x7E, 0x40, 0x40, 0x7C, 0x40, 0x40, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x42, 0x3C, 0x00, + 0x3C, 0x42, 0x7E, 0x40, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42, 0x02, 0x02, 0x7E, 0x42, + 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42, 0x02, 0x7E, 0x42, 0x3C, + 0x00, 0x00, 0x00, 0x24, 0x24, 0x00, 0x3C, 0x42, 0x02, 0x7E, 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, + 0x00, 0x24, 0x24, 0x00, 0x3C, 0x42, 0x02, 0x7E, 0x42, 0x3C, 0x00, 0x00, 0x28, 0x28, 0x00, 0x92, + 0x92, 0x54, 0x38, 0x54, 0x92, 0x92, 0x92, 0x00, 0x00, 0x00, 0x00, 0x28, 0x28, 0x00, 0x92, 0x92, + 0x7C, 0x54, 0x92, 0x92, 0x00, 0x00, 0x00, 0x24, 0x24, 0x00, 0x3C, 0x42, 0x02, 0x1C, 0x02, 0x42, + 0x3C, 0x00, 0x00, 0x00, 0x00, 0x24, 0x24, 0x00, 0x3C, 0x42, 0x1C, 0x02, 0x42, 0x3C, 0x00, 0x00, + 0x00, 0x00, 0x7E, 0x02, 0x04, 0x08, 0x1C, 0x02, 0x02, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7E, 0x04, 0x08, 0x1C, 0x02, 0x02, 0x42, 0x3C, 0x00, 0x00, 0x7E, 0x00, 0x42, 0x46, + 0x4A, 0x52, 0x62, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x42, 0x46, 0x4A, 0x52, + 0x62, 0x42, 0x00, 0x00, 0x00, 0x24, 0x24, 0x00, 0x42, 0x46, 0x4A, 0x52, 0x62, 0x42, 0x42, 0x00, + 0x00, 0x00, 0x00, 0x24, 0x24, 0x00, 0x42, 0x46, 0x4A, 0x52, 0x62, 0x42, 0x00, 0x00, 0x00, 0x24, + 0x24, 0x00, 0x3C, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x24, 0x24, 0x00, + 0x3C, 0x42, 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42, 0x42, 0x42, 0x7E, 0x42, + 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42, 0x7E, 0x42, 0x42, 0x3C, + 0x00, 0x00, 0x00, 0x24, 0x24, 0x00, 0x3C, 0x42, 0x42, 0x7E, 0x42, 0x42, 0x3C, 0x00, 0x00, 0x00, + 0x00, 0x24, 0x24, 0x00, 0x3C, 0x42, 0x7E, 0x42, 0x42, 0x3C, 0x00, 0x00, 0x28, 0x00, 0x78, 0x04, + 0x02, 0x02, 0x3E, 0x02, 0x02, 0x04, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x3C, 0x02, + 0x0E, 0x02, 0x02, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x42, 0x42, 0x46, 0x3A, 0x02, 0x42, + 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x42, 0x42, 0x42, 0x46, 0x3A, 0x02, 0x42, 0x3C, + 0x00, 0x24, 0x24, 0x00, 0x42, 0x42, 0x46, 0x3A, 0x02, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x24, + 0x24, 0x00, 0x42, 0x42, 0x42, 0x46, 0x3A, 0x02, 0x42, 0x3C, 0x00, 0x12, 0x24, 0x00, 0x42, 0x42, + 0x46, 0x3A, 0x02, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x12, 0x24, 0x00, 0x42, 0x42, 0x42, 0x46, + 0x3A, 0x02, 0x42, 0x3C, 0x00, 0x24, 0x24, 0x00, 0x42, 0x42, 0x46, 0x3A, 0x02, 0x02, 0x02, 0x00, + 0x00, 0x00, 0x00, 0x24, 0x24, 0x00, 0x42, 0x42, 0x46, 0x3A, 0x02, 0x02, 0x00, 0x00, 0x00, 0x24, + 0x24, 0x00, 0x42, 0x42, 0x72, 0x4A, 0x4A, 0x4A, 0x72, 0x00, 0x00, 0x00, 0x00, 0x24, 0x24, 0x00, + 0x42, 0x42, 0x72, 0x4A, 0x4A, 0x72, 0x00, 0x00, +}; + +static const GFXglyph MiscFixed8x13Glyphs[] PROGMEM = { + { 0, 8, 13, 8, 0, -11 }, // U+0020 + { 13, 8, 13, 8, 0, -11 }, // U+0021 + { 26, 8, 13, 8, 0, -11 }, // U+0022 + { 39, 8, 13, 8, 0, -11 }, // U+0023 + { 52, 8, 13, 8, 0, -11 }, // U+0024 + { 65, 8, 13, 8, 0, -11 }, // U+0025 + { 78, 8, 13, 8, 0, -11 }, // U+0026 + { 91, 8, 13, 8, 0, -11 }, // U+0027 + { 104, 8, 13, 8, 0, -11 }, // U+0028 + { 117, 8, 13, 8, 0, -11 }, // U+0029 + { 130, 8, 13, 8, 0, -11 }, // U+002A + { 143, 8, 13, 8, 0, -11 }, // U+002B + { 156, 8, 13, 8, 0, -11 }, // U+002C + { 169, 8, 13, 8, 0, -11 }, // U+002D + { 182, 8, 13, 8, 0, -11 }, // U+002E + { 195, 8, 13, 8, 0, -11 }, // U+002F + { 208, 8, 13, 8, 0, -11 }, // U+0030 + { 221, 8, 13, 8, 0, -11 }, // U+0031 + { 234, 8, 13, 8, 0, -11 }, // U+0032 + { 247, 8, 13, 8, 0, -11 }, // U+0033 + { 260, 8, 13, 8, 0, -11 }, // U+0034 + { 273, 8, 13, 8, 0, -11 }, // U+0035 + { 286, 8, 13, 8, 0, -11 }, // U+0036 + { 299, 8, 13, 8, 0, -11 }, // U+0037 + { 312, 8, 13, 8, 0, -11 }, // U+0038 + { 325, 8, 13, 8, 0, -11 }, // U+0039 + { 338, 8, 13, 8, 0, -11 }, // U+003A + { 351, 8, 13, 8, 0, -11 }, // U+003B + { 364, 8, 13, 8, 0, -11 }, // U+003C + { 377, 8, 13, 8, 0, -11 }, // U+003D + { 390, 8, 13, 8, 0, -11 }, // U+003E + { 403, 8, 13, 8, 0, -11 }, // U+003F + { 416, 8, 13, 8, 0, -11 }, // U+0040 + { 429, 8, 13, 8, 0, -11 }, // U+0041 + { 442, 8, 13, 8, 0, -11 }, // U+0042 + { 455, 8, 13, 8, 0, -11 }, // U+0043 + { 468, 8, 13, 8, 0, -11 }, // U+0044 + { 481, 8, 13, 8, 0, -11 }, // U+0045 + { 494, 8, 13, 8, 0, -11 }, // U+0046 + { 507, 8, 13, 8, 0, -11 }, // U+0047 + { 520, 8, 13, 8, 0, -11 }, // U+0048 + { 533, 8, 13, 8, 0, -11 }, // U+0049 + { 546, 8, 13, 8, 0, -11 }, // U+004A + { 559, 8, 13, 8, 0, -11 }, // U+004B + { 572, 8, 13, 8, 0, -11 }, // U+004C + { 585, 8, 13, 8, 0, -11 }, // U+004D + { 598, 8, 13, 8, 0, -11 }, // U+004E + { 611, 8, 13, 8, 0, -11 }, // U+004F + { 624, 8, 13, 8, 0, -11 }, // U+0050 + { 637, 8, 13, 8, 0, -11 }, // U+0051 + { 650, 8, 13, 8, 0, -11 }, // U+0052 + { 663, 8, 13, 8, 0, -11 }, // U+0053 + { 676, 8, 13, 8, 0, -11 }, // U+0054 + { 689, 8, 13, 8, 0, -11 }, // U+0055 + { 702, 8, 13, 8, 0, -11 }, // U+0056 + { 715, 8, 13, 8, 0, -11 }, // U+0057 + { 728, 8, 13, 8, 0, -11 }, // U+0058 + { 741, 8, 13, 8, 0, -11 }, // U+0059 + { 754, 8, 13, 8, 0, -11 }, // U+005A + { 767, 8, 13, 8, 0, -11 }, // U+005B + { 780, 8, 13, 8, 0, -11 }, // U+005C + { 793, 8, 13, 8, 0, -11 }, // U+005D + { 806, 8, 13, 8, 0, -11 }, // U+005E + { 819, 8, 13, 8, 0, -11 }, // U+005F + { 832, 8, 13, 8, 0, -11 }, // U+0060 + { 845, 8, 13, 8, 0, -11 }, // U+0061 + { 858, 8, 13, 8, 0, -11 }, // U+0062 + { 871, 8, 13, 8, 0, -11 }, // U+0063 + { 884, 8, 13, 8, 0, -11 }, // U+0064 + { 897, 8, 13, 8, 0, -11 }, // U+0065 + { 910, 8, 13, 8, 0, -11 }, // U+0066 + { 923, 8, 13, 8, 0, -11 }, // U+0067 + { 936, 8, 13, 8, 0, -11 }, // U+0068 + { 949, 8, 13, 8, 0, -11 }, // U+0069 + { 962, 8, 13, 8, 0, -11 }, // U+006A + { 975, 8, 13, 8, 0, -11 }, // U+006B + { 988, 8, 13, 8, 0, -11 }, // U+006C + { 1001, 8, 13, 8, 0, -11 }, // U+006D + { 1014, 8, 13, 8, 0, -11 }, // U+006E + { 1027, 8, 13, 8, 0, -11 }, // U+006F + { 1040, 8, 13, 8, 0, -11 }, // U+0070 + { 1053, 8, 13, 8, 0, -11 }, // U+0071 + { 1066, 8, 13, 8, 0, -11 }, // U+0072 + { 1079, 8, 13, 8, 0, -11 }, // U+0073 + { 1092, 8, 13, 8, 0, -11 }, // U+0074 + { 1105, 8, 13, 8, 0, -11 }, // U+0075 + { 1118, 8, 13, 8, 0, -11 }, // U+0076 + { 1131, 8, 13, 8, 0, -11 }, // U+0077 + { 1144, 8, 13, 8, 0, -11 }, // U+0078 + { 1157, 8, 13, 8, 0, -11 }, // U+0079 + { 1170, 8, 13, 8, 0, -11 }, // U+007A + { 1183, 8, 13, 8, 0, -11 }, // U+007B + { 1196, 8, 13, 8, 0, -11 }, // U+007C + { 1209, 8, 13, 8, 0, -11 }, // U+007D + { 1222, 8, 13, 8, 0, -11 }, // U+007E + { 1235, 0, 0, 8, 0, 0 }, // U+007F (placeholder) + { 1235, 0, 0, 8, 0, 0 }, // U+0080 (placeholder) + { 1235, 0, 0, 8, 0, 0 }, // U+0081 (placeholder) + { 1235, 0, 0, 8, 0, 0 }, // U+0082 (placeholder) + { 1235, 0, 0, 8, 0, 0 }, // U+0083 (placeholder) + { 1235, 0, 0, 8, 0, 0 }, // U+0084 (placeholder) + { 1235, 0, 0, 8, 0, 0 }, // U+0085 (placeholder) + { 1235, 0, 0, 8, 0, 0 }, // U+0086 (placeholder) + { 1235, 0, 0, 8, 0, 0 }, // U+0087 (placeholder) + { 1235, 0, 0, 8, 0, 0 }, // U+0088 (placeholder) + { 1235, 0, 0, 8, 0, 0 }, // U+0089 (placeholder) + { 1235, 0, 0, 8, 0, 0 }, // U+008A (placeholder) + { 1235, 0, 0, 8, 0, 0 }, // U+008B (placeholder) + { 1235, 0, 0, 8, 0, 0 }, // U+008C (placeholder) + { 1235, 0, 0, 8, 0, 0 }, // U+008D (placeholder) + { 1235, 0, 0, 8, 0, 0 }, // U+008E (placeholder) + { 1235, 0, 0, 8, 0, 0 }, // U+008F (placeholder) + { 1235, 0, 0, 8, 0, 0 }, // U+0090 (placeholder) + { 1235, 0, 0, 8, 0, 0 }, // U+0091 (placeholder) + { 1235, 0, 0, 8, 0, 0 }, // U+0092 (placeholder) + { 1235, 0, 0, 8, 0, 0 }, // U+0093 (placeholder) + { 1235, 0, 0, 8, 0, 0 }, // U+0094 (placeholder) + { 1235, 0, 0, 8, 0, 0 }, // U+0095 (placeholder) + { 1235, 0, 0, 8, 0, 0 }, // U+0096 (placeholder) + { 1235, 0, 0, 8, 0, 0 }, // U+0097 (placeholder) + { 1235, 0, 0, 8, 0, 0 }, // U+0098 (placeholder) + { 1235, 0, 0, 8, 0, 0 }, // U+0099 (placeholder) + { 1235, 0, 0, 8, 0, 0 }, // U+009A (placeholder) + { 1235, 0, 0, 8, 0, 0 }, // U+009B (placeholder) + { 1235, 0, 0, 8, 0, 0 }, // U+009C (placeholder) + { 1235, 0, 0, 8, 0, 0 }, // U+009D (placeholder) + { 1235, 0, 0, 8, 0, 0 }, // U+009E (placeholder) + { 1235, 0, 0, 8, 0, 0 }, // U+009F (placeholder) + { 1235, 8, 13, 8, 0, -11 }, // U+00A0 + { 1248, 8, 13, 8, 0, -11 }, // U+00A1 + { 1261, 8, 13, 8, 0, -11 }, // U+00A2 + { 1274, 8, 13, 8, 0, -11 }, // U+00A3 + { 1287, 8, 13, 8, 0, -11 }, // U+00A4 + { 1300, 8, 13, 8, 0, -11 }, // U+00A5 + { 1313, 8, 13, 8, 0, -11 }, // U+00A6 + { 1326, 8, 13, 8, 0, -11 }, // U+00A7 + { 1339, 8, 13, 8, 0, -11 }, // U+00A8 + { 1352, 8, 13, 8, 0, -11 }, // U+00A9 + { 1365, 8, 13, 8, 0, -11 }, // U+00AA + { 1378, 8, 13, 8, 0, -11 }, // U+00AB + { 1391, 8, 13, 8, 0, -11 }, // U+00AC + { 1404, 8, 13, 8, 0, -11 }, // U+00AD + { 1417, 8, 13, 8, 0, -11 }, // U+00AE + { 1430, 8, 13, 8, 0, -11 }, // U+00AF + { 1443, 8, 13, 8, 0, -11 }, // U+00B0 + { 1456, 8, 13, 8, 0, -11 }, // U+00B1 + { 1469, 8, 13, 8, 0, -11 }, // U+00B2 + { 1482, 8, 13, 8, 0, -11 }, // U+00B3 + { 1495, 8, 13, 8, 0, -11 }, // U+00B4 + { 1508, 8, 13, 8, 0, -11 }, // U+00B5 + { 1521, 8, 13, 8, 0, -11 }, // U+00B6 + { 1534, 8, 13, 8, 0, -11 }, // U+00B7 + { 1547, 8, 13, 8, 0, -11 }, // U+00B8 + { 1560, 8, 13, 8, 0, -11 }, // U+00B9 + { 1573, 8, 13, 8, 0, -11 }, // U+00BA + { 1586, 8, 13, 8, 0, -11 }, // U+00BB + { 1599, 8, 13, 8, 0, -11 }, // U+00BC + { 1612, 8, 13, 8, 0, -11 }, // U+00BD + { 1625, 8, 13, 8, 0, -11 }, // U+00BE + { 1638, 8, 13, 8, 0, -11 }, // U+00BF + { 1651, 8, 13, 8, 0, -11 }, // U+00C0 + { 1664, 8, 13, 8, 0, -11 }, // U+00C1 + { 1677, 8, 13, 8, 0, -11 }, // U+00C2 + { 1690, 8, 13, 8, 0, -11 }, // U+00C3 + { 1703, 8, 13, 8, 0, -11 }, // U+00C4 + { 1716, 8, 13, 8, 0, -11 }, // U+00C5 + { 1729, 8, 13, 8, 0, -11 }, // U+00C6 + { 1742, 8, 13, 8, 0, -11 }, // U+00C7 + { 1755, 8, 13, 8, 0, -11 }, // U+00C8 + { 1768, 8, 13, 8, 0, -11 }, // U+00C9 + { 1781, 8, 13, 8, 0, -11 }, // U+00CA + { 1794, 8, 13, 8, 0, -11 }, // U+00CB + { 1807, 8, 13, 8, 0, -11 }, // U+00CC + { 1820, 8, 13, 8, 0, -11 }, // U+00CD + { 1833, 8, 13, 8, 0, -11 }, // U+00CE + { 1846, 8, 13, 8, 0, -11 }, // U+00CF + { 1859, 8, 13, 8, 0, -11 }, // U+00D0 + { 1872, 8, 13, 8, 0, -11 }, // U+00D1 + { 1885, 8, 13, 8, 0, -11 }, // U+00D2 + { 1898, 8, 13, 8, 0, -11 }, // U+00D3 + { 1911, 8, 13, 8, 0, -11 }, // U+00D4 + { 1924, 8, 13, 8, 0, -11 }, // U+00D5 + { 1937, 8, 13, 8, 0, -11 }, // U+00D6 + { 1950, 8, 13, 8, 0, -11 }, // U+00D7 + { 1963, 8, 13, 8, 0, -11 }, // U+00D8 + { 1976, 8, 13, 8, 0, -11 }, // U+00D9 + { 1989, 8, 13, 8, 0, -11 }, // U+00DA + { 2002, 8, 13, 8, 0, -11 }, // U+00DB + { 2015, 8, 13, 8, 0, -11 }, // U+00DC + { 2028, 8, 13, 8, 0, -11 }, // U+00DD + { 2041, 8, 13, 8, 0, -11 }, // U+00DE + { 2054, 8, 13, 8, 0, -11 }, // U+00DF + { 2067, 8, 13, 8, 0, -11 }, // U+00E0 + { 2080, 8, 13, 8, 0, -11 }, // U+00E1 + { 2093, 8, 13, 8, 0, -11 }, // U+00E2 + { 2106, 8, 13, 8, 0, -11 }, // U+00E3 + { 2119, 8, 13, 8, 0, -11 }, // U+00E4 + { 2132, 8, 13, 8, 0, -11 }, // U+00E5 + { 2145, 8, 13, 8, 0, -11 }, // U+00E6 + { 2158, 8, 13, 8, 0, -11 }, // U+00E7 + { 2171, 8, 13, 8, 0, -11 }, // U+00E8 + { 2184, 8, 13, 8, 0, -11 }, // U+00E9 + { 2197, 8, 13, 8, 0, -11 }, // U+00EA + { 2210, 8, 13, 8, 0, -11 }, // U+00EB + { 2223, 8, 13, 8, 0, -11 }, // U+00EC + { 2236, 8, 13, 8, 0, -11 }, // U+00ED + { 2249, 8, 13, 8, 0, -11 }, // U+00EE + { 2262, 8, 13, 8, 0, -11 }, // U+00EF + { 2275, 8, 13, 8, 0, -11 }, // U+00F0 + { 2288, 8, 13, 8, 0, -11 }, // U+00F1 + { 2301, 8, 13, 8, 0, -11 }, // U+00F2 + { 2314, 8, 13, 8, 0, -11 }, // U+00F3 + { 2327, 8, 13, 8, 0, -11 }, // U+00F4 + { 2340, 8, 13, 8, 0, -11 }, // U+00F5 + { 2353, 8, 13, 8, 0, -11 }, // U+00F6 + { 2366, 8, 13, 8, 0, -11 }, // U+00F7 + { 2379, 8, 13, 8, 0, -11 }, // U+00F8 + { 2392, 8, 13, 8, 0, -11 }, // U+00F9 + { 2405, 8, 13, 8, 0, -11 }, // U+00FA + { 2418, 8, 13, 8, 0, -11 }, // U+00FB + { 2431, 8, 13, 8, 0, -11 }, // U+00FC + { 2444, 8, 13, 8, 0, -11 }, // U+00FD + { 2457, 8, 13, 8, 0, -11 }, // U+00FE + { 2470, 8, 13, 8, 0, -11 }, // U+00FF + { 2483, 8, 13, 8, 0, -11 }, // U+0100 + { 2496, 8, 13, 8, 0, -11 }, // U+0101 + { 2509, 8, 13, 8, 0, -11 }, // U+0102 + { 2522, 8, 13, 8, 0, -11 }, // U+0103 + { 2535, 8, 13, 8, 0, -11 }, // U+0104 + { 2548, 8, 13, 8, 0, -11 }, // U+0105 + { 2561, 8, 13, 8, 0, -11 }, // U+0106 + { 2574, 8, 13, 8, 0, -11 }, // U+0107 + { 2587, 8, 13, 8, 0, -11 }, // U+0108 + { 2600, 8, 13, 8, 0, -11 }, // U+0109 + { 2613, 8, 13, 8, 0, -11 }, // U+010A + { 2626, 8, 13, 8, 0, -11 }, // U+010B + { 2639, 8, 13, 8, 0, -11 }, // U+010C + { 2652, 8, 13, 8, 0, -11 }, // U+010D + { 2665, 8, 13, 8, 0, -11 }, // U+010E + { 2678, 8, 13, 8, 0, -11 }, // U+010F + { 2691, 8, 13, 8, 0, -11 }, // U+0110 + { 2704, 8, 13, 8, 0, -11 }, // U+0111 + { 2717, 8, 13, 8, 0, -11 }, // U+0112 + { 2730, 8, 13, 8, 0, -11 }, // U+0113 + { 2743, 8, 13, 8, 0, -11 }, // U+0114 + { 2756, 8, 13, 8, 0, -11 }, // U+0115 + { 2769, 8, 13, 8, 0, -11 }, // U+0116 + { 2782, 8, 13, 8, 0, -11 }, // U+0117 + { 2795, 8, 13, 8, 0, -11 }, // U+0118 + { 2808, 8, 13, 8, 0, -11 }, // U+0119 + { 2821, 8, 13, 8, 0, -11 }, // U+011A + { 2834, 8, 13, 8, 0, -11 }, // U+011B + { 2847, 8, 13, 8, 0, -11 }, // U+011C + { 2860, 8, 13, 8, 0, -11 }, // U+011D + { 2873, 8, 13, 8, 0, -11 }, // U+011E + { 2886, 8, 13, 8, 0, -11 }, // U+011F + { 2899, 8, 13, 8, 0, -11 }, // U+0120 + { 2912, 8, 13, 8, 0, -11 }, // U+0121 + { 2925, 8, 13, 8, 0, -11 }, // U+0122 + { 2938, 8, 13, 8, 0, -11 }, // U+0123 + { 2951, 8, 13, 8, 0, -11 }, // U+0124 + { 2964, 8, 13, 8, 0, -11 }, // U+0125 + { 2977, 8, 13, 8, 0, -11 }, // U+0126 + { 2990, 8, 13, 8, 0, -11 }, // U+0127 + { 3003, 8, 13, 8, 0, -11 }, // U+0128 + { 3016, 8, 13, 8, 0, -11 }, // U+0129 + { 3029, 8, 13, 8, 0, -11 }, // U+012A + { 3042, 8, 13, 8, 0, -11 }, // U+012B + { 3055, 8, 13, 8, 0, -11 }, // U+012C + { 3068, 8, 13, 8, 0, -11 }, // U+012D + { 3081, 8, 13, 8, 0, -11 }, // U+012E + { 3094, 8, 13, 8, 0, -11 }, // U+012F + { 3107, 8, 13, 8, 0, -11 }, // U+0130 + { 3120, 8, 13, 8, 0, -11 }, // U+0131 + { 3133, 8, 13, 8, 0, -11 }, // U+0132 + { 3146, 8, 13, 8, 0, -11 }, // U+0133 + { 3159, 8, 13, 8, 0, -11 }, // U+0134 + { 3172, 8, 13, 8, 0, -11 }, // U+0135 + { 3185, 8, 13, 8, 0, -11 }, // U+0136 + { 3198, 8, 13, 8, 0, -11 }, // U+0137 + { 3211, 8, 13, 8, 0, -11 }, // U+0138 + { 3224, 8, 13, 8, 0, -11 }, // U+0139 + { 3237, 8, 13, 8, 0, -11 }, // U+013A + { 3250, 8, 13, 8, 0, -11 }, // U+013B + { 3263, 8, 13, 8, 0, -11 }, // U+013C + { 3276, 8, 13, 8, 0, -11 }, // U+013D + { 3289, 8, 13, 8, 0, -11 }, // U+013E + { 3302, 8, 13, 8, 0, -11 }, // U+013F + { 3315, 8, 13, 8, 0, -11 }, // U+0140 + { 3328, 8, 13, 8, 0, -11 }, // U+0141 + { 3341, 8, 13, 8, 0, -11 }, // U+0142 + { 3354, 8, 13, 8, 0, -11 }, // U+0143 + { 3367, 8, 13, 8, 0, -11 }, // U+0144 + { 3380, 8, 13, 8, 0, -11 }, // U+0145 + { 3393, 8, 13, 8, 0, -11 }, // U+0146 + { 3406, 8, 13, 8, 0, -11 }, // U+0147 + { 3419, 8, 13, 8, 0, -11 }, // U+0148 + { 3432, 8, 13, 8, 0, -11 }, // U+0149 + { 3445, 8, 13, 8, 0, -11 }, // U+014A + { 3458, 8, 13, 8, 0, -11 }, // U+014B + { 3471, 8, 13, 8, 0, -11 }, // U+014C + { 3484, 8, 13, 8, 0, -11 }, // U+014D + { 3497, 8, 13, 8, 0, -11 }, // U+014E + { 3510, 8, 13, 8, 0, -11 }, // U+014F + { 3523, 8, 13, 8, 0, -11 }, // U+0150 + { 3536, 8, 13, 8, 0, -11 }, // U+0151 + { 3549, 8, 13, 8, 0, -11 }, // U+0152 + { 3562, 8, 13, 8, 0, -11 }, // U+0153 + { 3575, 8, 13, 8, 0, -11 }, // U+0154 + { 3588, 8, 13, 8, 0, -11 }, // U+0155 + { 3601, 8, 13, 8, 0, -11 }, // U+0156 + { 3614, 8, 13, 8, 0, -11 }, // U+0157 + { 3627, 8, 13, 8, 0, -11 }, // U+0158 + { 3640, 8, 13, 8, 0, -11 }, // U+0159 + { 3653, 8, 13, 8, 0, -11 }, // U+015A + { 3666, 8, 13, 8, 0, -11 }, // U+015B + { 3679, 8, 13, 8, 0, -11 }, // U+015C + { 3692, 8, 13, 8, 0, -11 }, // U+015D + { 3705, 8, 13, 8, 0, -11 }, // U+015E + { 3718, 8, 13, 8, 0, -11 }, // U+015F + { 3731, 8, 13, 8, 0, -11 }, // U+0160 + { 3744, 8, 13, 8, 0, -11 }, // U+0161 + { 3757, 8, 13, 8, 0, -11 }, // U+0162 + { 3770, 8, 13, 8, 0, -11 }, // U+0163 + { 3783, 8, 13, 8, 0, -11 }, // U+0164 + { 3796, 8, 13, 8, 0, -11 }, // U+0165 + { 3809, 8, 13, 8, 0, -11 }, // U+0166 + { 3822, 8, 13, 8, 0, -11 }, // U+0167 + { 3835, 8, 13, 8, 0, -11 }, // U+0168 + { 3848, 8, 13, 8, 0, -11 }, // U+0169 + { 3861, 8, 13, 8, 0, -11 }, // U+016A + { 3874, 8, 13, 8, 0, -11 }, // U+016B + { 3887, 8, 13, 8, 0, -11 }, // U+016C + { 3900, 8, 13, 8, 0, -11 }, // U+016D + { 3913, 8, 13, 8, 0, -11 }, // U+016E + { 3926, 8, 13, 8, 0, -11 }, // U+016F + { 3939, 8, 13, 8, 0, -11 }, // U+0170 + { 3952, 8, 13, 8, 0, -11 }, // U+0171 + { 3965, 8, 13, 8, 0, -11 }, // U+0172 + { 3978, 8, 13, 8, 0, -11 }, // U+0173 + { 3991, 8, 13, 8, 0, -11 }, // U+0174 + { 4004, 8, 13, 8, 0, -11 }, // U+0175 + { 4017, 8, 13, 8, 0, -11 }, // U+0176 + { 4030, 8, 13, 8, 0, -11 }, // U+0177 + { 4043, 8, 13, 8, 0, -11 }, // U+0178 + { 4056, 8, 13, 8, 0, -11 }, // U+0179 + { 4069, 8, 13, 8, 0, -11 }, // U+017A + { 4082, 8, 13, 8, 0, -11 }, // U+017B + { 4095, 8, 13, 8, 0, -11 }, // U+017C + { 4108, 8, 13, 8, 0, -11 }, // U+017D + { 4121, 8, 13, 8, 0, -11 }, // U+017E + { 4134, 8, 13, 8, 0, -11 }, // U+017F + { 4147, 8, 13, 8, 0, -11 }, // U+0180 + { 4160, 8, 13, 8, 0, -11 }, // U+0181 + { 4173, 8, 13, 8, 0, -11 }, // U+0182 + { 4186, 8, 13, 8, 0, -11 }, // U+0183 + { 4199, 8, 13, 8, 0, -11 }, // U+0184 + { 4212, 8, 13, 8, 0, -11 }, // U+0185 + { 4225, 8, 13, 8, 0, -11 }, // U+0186 + { 4238, 8, 13, 8, 0, -11 }, // U+0187 + { 4251, 8, 13, 8, 0, -11 }, // U+0188 + { 4264, 8, 13, 8, 0, -11 }, // U+0189 + { 4277, 8, 13, 8, 0, -11 }, // U+018A + { 4290, 8, 13, 8, 0, -11 }, // U+018B + { 4303, 8, 13, 8, 0, -11 }, // U+018C + { 4316, 8, 13, 8, 0, -11 }, // U+018D + { 4329, 8, 13, 8, 0, -11 }, // U+018E + { 4342, 8, 13, 8, 0, -11 }, // U+018F + { 4355, 8, 13, 8, 0, -11 }, // U+0190 + { 4368, 8, 13, 8, 0, -11 }, // U+0191 + { 4381, 8, 13, 8, 0, -11 }, // U+0192 + { 4394, 8, 13, 8, 0, -11 }, // U+0193 + { 4407, 8, 13, 8, 0, -11 }, // U+0194 + { 4420, 8, 13, 8, 0, -11 }, // U+0195 + { 4433, 8, 13, 8, 0, -11 }, // U+0196 + { 4446, 8, 13, 8, 0, -11 }, // U+0197 + { 4459, 8, 13, 8, 0, -11 }, // U+0198 + { 4472, 8, 13, 8, 0, -11 }, // U+0199 + { 4485, 8, 13, 8, 0, -11 }, // U+019A + { 4498, 8, 13, 8, 0, -11 }, // U+019B + { 4511, 8, 13, 8, 0, -11 }, // U+019C + { 4524, 8, 13, 8, 0, -11 }, // U+019D + { 4537, 8, 13, 8, 0, -11 }, // U+019E + { 4550, 8, 13, 8, 0, -11 }, // U+019F + { 4563, 8, 13, 8, 0, -11 }, // U+01A0 + { 4576, 8, 13, 8, 0, -11 }, // U+01A1 + { 4589, 8, 13, 8, 0, -11 }, // U+01A2 + { 4602, 8, 13, 8, 0, -11 }, // U+01A3 + { 4615, 8, 13, 8, 0, -11 }, // U+01A4 + { 4628, 8, 13, 8, 0, -11 }, // U+01A5 + { 4641, 8, 13, 8, 0, -11 }, // U+01A6 + { 4654, 8, 13, 8, 0, -11 }, // U+01A7 + { 4667, 8, 13, 8, 0, -11 }, // U+01A8 + { 4680, 8, 13, 8, 0, -11 }, // U+01A9 + { 4693, 8, 13, 8, 0, -11 }, // U+01AA + { 4706, 8, 13, 8, 0, -11 }, // U+01AB + { 4719, 8, 13, 8, 0, -11 }, // U+01AC + { 4732, 8, 13, 8, 0, -11 }, // U+01AD + { 4745, 8, 13, 8, 0, -11 }, // U+01AE + { 4758, 8, 13, 8, 0, -11 }, // U+01AF + { 4771, 8, 13, 8, 0, -11 }, // U+01B0 + { 4784, 8, 13, 8, 0, -11 }, // U+01B1 + { 4797, 8, 13, 8, 0, -11 }, // U+01B2 + { 4810, 8, 13, 8, 0, -11 }, // U+01B3 + { 4823, 8, 13, 8, 0, -11 }, // U+01B4 + { 4836, 8, 13, 8, 0, -11 }, // U+01B5 + { 4849, 8, 13, 8, 0, -11 }, // U+01B6 + { 4862, 8, 13, 8, 0, -11 }, // U+01B7 + { 4875, 8, 13, 8, 0, -11 }, // U+01B8 + { 4888, 8, 13, 8, 0, -11 }, // U+01B9 + { 4901, 8, 13, 8, 0, -11 }, // U+01BA + { 4914, 8, 13, 8, 0, -11 }, // U+01BB + { 4927, 8, 13, 8, 0, -11 }, // U+01BC + { 4940, 8, 13, 8, 0, -11 }, // U+01BD + { 4953, 8, 13, 8, 0, -11 }, // U+01BE + { 4966, 8, 13, 8, 0, -11 }, // U+01BF + { 4979, 8, 13, 8, 0, -11 }, // U+01C0 + { 4992, 8, 13, 8, 0, -11 }, // U+01C1 + { 5005, 8, 13, 8, 0, -11 }, // U+01C2 + { 5018, 8, 13, 8, 0, -11 }, // U+01C3 + { 5031, 8, 13, 8, 0, -11 }, // U+01C4 + { 5044, 8, 13, 8, 0, -11 }, // U+01C5 + { 5057, 8, 13, 8, 0, -11 }, // U+01C6 + { 5070, 8, 13, 8, 0, -11 }, // U+01C7 + { 5083, 8, 13, 8, 0, -11 }, // U+01C8 + { 5096, 8, 13, 8, 0, -11 }, // U+01C9 + { 5109, 8, 13, 8, 0, -11 }, // U+01CA + { 5122, 8, 13, 8, 0, -11 }, // U+01CB + { 5135, 8, 13, 8, 0, -11 }, // U+01CC + { 5148, 8, 13, 8, 0, -11 }, // U+01CD + { 5161, 8, 13, 8, 0, -11 }, // U+01CE + { 5174, 8, 13, 8, 0, -11 }, // U+01CF + { 5187, 8, 13, 8, 0, -11 }, // U+01D0 + { 5200, 8, 13, 8, 0, -11 }, // U+01D1 + { 5213, 8, 13, 8, 0, -11 }, // U+01D2 + { 5226, 8, 13, 8, 0, -11 }, // U+01D3 + { 5239, 8, 13, 8, 0, -11 }, // U+01D4 + { 5252, 8, 13, 8, 0, -11 }, // U+01D5 + { 5265, 8, 13, 8, 0, -11 }, // U+01D6 + { 5278, 8, 13, 8, 0, -11 }, // U+01D7 + { 5291, 8, 13, 8, 0, -11 }, // U+01D8 + { 5304, 8, 13, 8, 0, -11 }, // U+01D9 + { 5317, 8, 13, 8, 0, -11 }, // U+01DA + { 5330, 8, 13, 8, 0, -11 }, // U+01DB + { 5343, 8, 13, 8, 0, -11 }, // U+01DC + { 5356, 8, 13, 8, 0, -11 }, // U+01DD + { 5369, 8, 13, 8, 0, -11 }, // U+01DE + { 5382, 8, 13, 8, 0, -11 }, // U+01DF + { 5395, 8, 13, 8, 0, -11 }, // U+01E0 + { 5408, 8, 13, 8, 0, -11 }, // U+01E1 + { 5421, 8, 13, 8, 0, -11 }, // U+01E2 + { 5434, 8, 13, 8, 0, -11 }, // U+01E3 + { 5447, 8, 13, 8, 0, -11 }, // U+01E4 + { 5460, 8, 13, 8, 0, -11 }, // U+01E5 + { 5473, 8, 13, 8, 0, -11 }, // U+01E6 + { 5486, 8, 13, 8, 0, -11 }, // U+01E7 + { 5499, 8, 13, 8, 0, -11 }, // U+01E8 + { 5512, 8, 13, 8, 0, -11 }, // U+01E9 + { 5525, 8, 13, 8, 0, -11 }, // U+01EA + { 5538, 8, 13, 8, 0, -11 }, // U+01EB + { 5551, 8, 13, 8, 0, -11 }, // U+01EC + { 5564, 8, 13, 8, 0, -11 }, // U+01ED + { 5577, 8, 13, 8, 0, -11 }, // U+01EE + { 5590, 8, 13, 8, 0, -11 }, // U+01EF + { 5603, 8, 13, 8, 0, -11 }, // U+01F0 + { 5616, 8, 13, 8, 0, -11 }, // U+01F1 + { 5629, 8, 13, 8, 0, -11 }, // U+01F2 + { 5642, 8, 13, 8, 0, -11 }, // U+01F3 + { 5655, 8, 13, 8, 0, -11 }, // U+01F4 + { 5668, 8, 13, 8, 0, -11 }, // U+01F5 + { 5681, 8, 13, 8, 0, -11 }, // U+01F6 + { 5694, 8, 13, 8, 0, -11 }, // U+01F7 + { 5707, 8, 13, 8, 0, -11 }, // U+01F8 + { 5720, 8, 13, 8, 0, -11 }, // U+01F9 + { 5733, 8, 13, 8, 0, -11 }, // U+01FA + { 5746, 8, 13, 8, 0, -11 }, // U+01FB + { 5759, 8, 13, 8, 0, -11 }, // U+01FC + { 5772, 8, 13, 8, 0, -11 }, // U+01FD + { 5785, 8, 13, 8, 0, -11 }, // U+01FE + { 5798, 8, 13, 8, 0, -11 }, // U+01FF + { 5811, 8, 13, 8, 0, -11 }, // U+0200 + { 5824, 8, 13, 8, 0, -11 }, // U+0201 + { 5837, 8, 13, 8, 0, -11 }, // U+0202 + { 5850, 8, 13, 8, 0, -11 }, // U+0203 + { 5863, 8, 13, 8, 0, -11 }, // U+0204 + { 5876, 8, 13, 8, 0, -11 }, // U+0205 + { 5889, 8, 13, 8, 0, -11 }, // U+0206 + { 5902, 8, 13, 8, 0, -11 }, // U+0207 + { 5915, 8, 13, 8, 0, -11 }, // U+0208 + { 5928, 8, 13, 8, 0, -11 }, // U+0209 + { 5941, 8, 13, 8, 0, -11 }, // U+020A + { 5954, 8, 13, 8, 0, -11 }, // U+020B + { 5967, 8, 13, 8, 0, -11 }, // U+020C + { 5980, 8, 13, 8, 0, -11 }, // U+020D + { 5993, 8, 13, 8, 0, -11 }, // U+020E + { 6006, 8, 13, 8, 0, -11 }, // U+020F + { 6019, 8, 13, 8, 0, -11 }, // U+0210 + { 6032, 8, 13, 8, 0, -11 }, // U+0211 + { 6045, 8, 13, 8, 0, -11 }, // U+0212 + { 6058, 8, 13, 8, 0, -11 }, // U+0213 + { 6071, 8, 13, 8, 0, -11 }, // U+0214 + { 6084, 8, 13, 8, 0, -11 }, // U+0215 + { 6097, 8, 13, 8, 0, -11 }, // U+0216 + { 6110, 8, 13, 8, 0, -11 }, // U+0217 + { 6123, 8, 13, 8, 0, -11 }, // U+0218 + { 6136, 8, 13, 8, 0, -11 }, // U+0219 + { 6149, 8, 13, 8, 0, -11 }, // U+021A + { 6162, 8, 13, 8, 0, -11 }, // U+021B + { 6175, 8, 13, 8, 0, -11 }, // U+021C + { 6188, 8, 13, 8, 0, -11 }, // U+021D + { 6201, 8, 13, 8, 0, -11 }, // U+021E + { 6214, 8, 13, 8, 0, -11 }, // U+021F + { 6227, 8, 13, 8, 0, -11 }, // U+0220 + { 6240, 0, 0, 8, 0, 0 }, // U+0221 (placeholder) + { 6240, 8, 13, 8, 0, -11 }, // U+0222 + { 6253, 8, 13, 8, 0, -11 }, // U+0223 + { 6266, 8, 13, 8, 0, -11 }, // U+0224 + { 6279, 8, 13, 8, 0, -11 }, // U+0225 + { 6292, 8, 13, 8, 0, -11 }, // U+0226 + { 6305, 8, 13, 8, 0, -11 }, // U+0227 + { 6318, 8, 13, 8, 0, -11 }, // U+0228 + { 6331, 8, 13, 8, 0, -11 }, // U+0229 + { 6344, 8, 13, 8, 0, -11 }, // U+022A + { 6357, 8, 13, 8, 0, -11 }, // U+022B + { 6370, 8, 13, 8, 0, -11 }, // U+022C + { 6383, 8, 13, 8, 0, -11 }, // U+022D + { 6396, 8, 13, 8, 0, -11 }, // U+022E + { 6409, 8, 13, 8, 0, -11 }, // U+022F + { 6422, 8, 13, 8, 0, -11 }, // U+0230 + { 6435, 8, 13, 8, 0, -11 }, // U+0231 + { 6448, 8, 13, 8, 0, -11 }, // U+0232 + { 6461, 8, 13, 8, 0, -11 }, // U+0233 + { 6474, 0, 0, 8, 0, 0 }, // U+0234 (placeholder) + { 6474, 0, 0, 8, 0, 0 }, // U+0235 (placeholder) + { 6474, 0, 0, 8, 0, 0 }, // U+0236 (placeholder) + { 6474, 0, 0, 8, 0, 0 }, // U+0237 (placeholder) + { 6474, 0, 0, 8, 0, 0 }, // U+0238 (placeholder) + { 6474, 0, 0, 8, 0, 0 }, // U+0239 (placeholder) + { 6474, 0, 0, 8, 0, 0 }, // U+023A (placeholder) + { 6474, 0, 0, 8, 0, 0 }, // U+023B (placeholder) + { 6474, 0, 0, 8, 0, 0 }, // U+023C (placeholder) + { 6474, 0, 0, 8, 0, 0 }, // U+023D (placeholder) + { 6474, 0, 0, 8, 0, 0 }, // U+023E (placeholder) + { 6474, 0, 0, 8, 0, 0 }, // U+023F (placeholder) + { 6474, 0, 0, 8, 0, 0 }, // U+0240 (placeholder) + { 6474, 0, 0, 8, 0, 0 }, // U+0241 (placeholder) + { 6474, 0, 0, 8, 0, 0 }, // U+0242 (placeholder) + { 6474, 0, 0, 8, 0, 0 }, // U+0243 (placeholder) + { 6474, 0, 0, 8, 0, 0 }, // U+0244 (placeholder) + { 6474, 0, 0, 8, 0, 0 }, // U+0245 (placeholder) + { 6474, 0, 0, 8, 0, 0 }, // U+0246 (placeholder) + { 6474, 0, 0, 8, 0, 0 }, // U+0247 (placeholder) + { 6474, 0, 0, 8, 0, 0 }, // U+0248 (placeholder) + { 6474, 0, 0, 8, 0, 0 }, // U+0249 (placeholder) + { 6474, 0, 0, 8, 0, 0 }, // U+024A (placeholder) + { 6474, 0, 0, 8, 0, 0 }, // U+024B (placeholder) + { 6474, 0, 0, 8, 0, 0 }, // U+024C (placeholder) + { 6474, 0, 0, 8, 0, 0 }, // U+024D (placeholder) + { 6474, 0, 0, 8, 0, 0 }, // U+024E (placeholder) + { 6474, 0, 0, 8, 0, 0 }, // U+024F (placeholder) + { 6474, 8, 13, 8, 0, -11 }, // U+0250 + { 6487, 8, 13, 8, 0, -11 }, // U+0251 + { 6500, 8, 13, 8, 0, -11 }, // U+0252 + { 6513, 8, 13, 8, 0, -11 }, // U+0253 + { 6526, 8, 13, 8, 0, -11 }, // U+0254 + { 6539, 8, 13, 8, 0, -11 }, // U+0255 + { 6552, 8, 13, 8, 0, -11 }, // U+0256 + { 6565, 8, 13, 8, 0, -11 }, // U+0257 + { 6578, 8, 13, 8, 0, -11 }, // U+0258 + { 6591, 8, 13, 8, 0, -11 }, // U+0259 + { 6604, 8, 13, 8, 0, -11 }, // U+025A + { 6617, 8, 13, 8, 0, -11 }, // U+025B + { 6630, 8, 13, 8, 0, -11 }, // U+025C + { 6643, 8, 13, 8, 0, -11 }, // U+025D + { 6656, 8, 13, 8, 0, -11 }, // U+025E + { 6669, 8, 13, 8, 0, -11 }, // U+025F + { 6682, 8, 13, 8, 0, -11 }, // U+0260 + { 6695, 8, 13, 8, 0, -11 }, // U+0261 + { 6708, 8, 13, 8, 0, -11 }, // U+0262 + { 6721, 8, 13, 8, 0, -11 }, // U+0263 + { 6734, 8, 13, 8, 0, -11 }, // U+0264 + { 6747, 8, 13, 8, 0, -11 }, // U+0265 + { 6760, 8, 13, 8, 0, -11 }, // U+0266 + { 6773, 8, 13, 8, 0, -11 }, // U+0267 + { 6786, 8, 13, 8, 0, -11 }, // U+0268 + { 6799, 8, 13, 8, 0, -11 }, // U+0269 + { 6812, 8, 13, 8, 0, -11 }, // U+026A + { 6825, 8, 13, 8, 0, -11 }, // U+026B + { 6838, 8, 13, 8, 0, -11 }, // U+026C + { 6851, 8, 13, 8, 0, -11 }, // U+026D + { 6864, 8, 13, 8, 0, -11 }, // U+026E + { 6877, 8, 13, 8, 0, -11 }, // U+026F + { 6890, 8, 13, 8, 0, -11 }, // U+0270 + { 6903, 8, 13, 8, 0, -11 }, // U+0271 + { 6916, 8, 13, 8, 0, -11 }, // U+0272 + { 6929, 8, 13, 8, 0, -11 }, // U+0273 + { 6942, 8, 13, 8, 0, -11 }, // U+0274 + { 6955, 8, 13, 8, 0, -11 }, // U+0275 + { 6968, 8, 13, 8, 0, -11 }, // U+0276 + { 6981, 8, 13, 8, 0, -11 }, // U+0277 + { 6994, 8, 13, 8, 0, -11 }, // U+0278 + { 7007, 8, 13, 8, 0, -11 }, // U+0279 + { 7020, 8, 13, 8, 0, -11 }, // U+027A + { 7033, 8, 13, 8, 0, -11 }, // U+027B + { 7046, 8, 13, 8, 0, -11 }, // U+027C + { 7059, 8, 13, 8, 0, -11 }, // U+027D + { 7072, 8, 13, 8, 0, -11 }, // U+027E + { 7085, 8, 13, 8, 0, -11 }, // U+027F + { 7098, 8, 13, 8, 0, -11 }, // U+0280 + { 7111, 8, 13, 8, 0, -11 }, // U+0281 + { 7124, 8, 13, 8, 0, -11 }, // U+0282 + { 7137, 8, 13, 8, 0, -11 }, // U+0283 + { 7150, 8, 13, 8, 0, -11 }, // U+0284 + { 7163, 8, 13, 8, 0, -11 }, // U+0285 + { 7176, 8, 13, 8, 0, -11 }, // U+0286 + { 7189, 8, 13, 8, 0, -11 }, // U+0287 + { 7202, 8, 13, 8, 0, -11 }, // U+0288 + { 7215, 8, 13, 8, 0, -11 }, // U+0289 + { 7228, 8, 13, 8, 0, -11 }, // U+028A + { 7241, 8, 13, 8, 0, -11 }, // U+028B + { 7254, 8, 13, 8, 0, -11 }, // U+028C + { 7267, 8, 13, 8, 0, -11 }, // U+028D + { 7280, 8, 13, 8, 0, -11 }, // U+028E + { 7293, 8, 13, 8, 0, -11 }, // U+028F + { 7306, 8, 13, 8, 0, -11 }, // U+0290 + { 7319, 8, 13, 8, 0, -11 }, // U+0291 + { 7332, 8, 13, 8, 0, -11 }, // U+0292 + { 7345, 8, 13, 8, 0, -11 }, // U+0293 + { 7358, 8, 13, 8, 0, -11 }, // U+0294 + { 7371, 8, 13, 8, 0, -11 }, // U+0295 + { 7384, 8, 13, 8, 0, -11 }, // U+0296 + { 7397, 8, 13, 8, 0, -11 }, // U+0297 + { 7410, 8, 13, 8, 0, -11 }, // U+0298 + { 7423, 8, 13, 8, 0, -11 }, // U+0299 + { 7436, 8, 13, 8, 0, -11 }, // U+029A + { 7449, 8, 13, 8, 0, -11 }, // U+029B + { 7462, 8, 13, 8, 0, -11 }, // U+029C + { 7475, 8, 13, 8, 0, -11 }, // U+029D + { 7488, 8, 13, 8, 0, -11 }, // U+029E + { 7501, 8, 13, 8, 0, -11 }, // U+029F + { 7514, 8, 13, 8, 0, -11 }, // U+02A0 + { 7527, 8, 13, 8, 0, -11 }, // U+02A1 + { 7540, 8, 13, 8, 0, -11 }, // U+02A2 + { 7553, 8, 13, 8, 0, -11 }, // U+02A3 + { 7566, 8, 13, 8, 0, -11 }, // U+02A4 + { 7579, 8, 13, 8, 0, -11 }, // U+02A5 + { 7592, 8, 13, 8, 0, -11 }, // U+02A6 + { 7605, 8, 13, 8, 0, -11 }, // U+02A7 + { 7618, 8, 13, 8, 0, -11 }, // U+02A8 + { 7631, 8, 13, 8, 0, -11 }, // U+02A9 + { 7644, 8, 13, 8, 0, -11 }, // U+02AA + { 7657, 8, 13, 8, 0, -11 }, // U+02AB + { 7670, 8, 13, 8, 0, -11 }, // U+02AC + { 7683, 8, 13, 8, 0, -11 }, // U+02AD + { 7696, 0, 0, 8, 0, 0 }, // U+02AE (placeholder) + { 7696, 0, 0, 8, 0, 0 }, // U+02AF (placeholder) + { 7696, 8, 13, 8, 0, -11 }, // U+02B0 + { 7709, 8, 13, 8, 0, -11 }, // U+02B1 + { 7722, 8, 13, 8, 0, -11 }, // U+02B2 + { 7735, 8, 13, 8, 0, -11 }, // U+02B3 + { 7748, 8, 13, 8, 0, -11 }, // U+02B4 + { 7761, 8, 13, 8, 0, -11 }, // U+02B5 + { 7774, 8, 13, 8, 0, -11 }, // U+02B6 + { 7787, 8, 13, 8, 0, -11 }, // U+02B7 + { 7800, 8, 13, 8, 0, -11 }, // U+02B8 + { 7813, 8, 13, 8, 0, -11 }, // U+02B9 + { 7826, 8, 13, 8, 0, -11 }, // U+02BA + { 7839, 8, 13, 8, 0, -11 }, // U+02BB + { 7852, 8, 13, 8, 0, -11 }, // U+02BC + { 7865, 8, 13, 8, 0, -11 }, // U+02BD + { 7878, 8, 13, 8, 0, -11 }, // U+02BE + { 7891, 8, 13, 8, 0, -11 }, // U+02BF + { 7904, 8, 13, 8, 0, -11 }, // U+02C0 + { 7917, 8, 13, 8, 0, -11 }, // U+02C1 + { 7930, 8, 13, 8, 0, -11 }, // U+02C2 + { 7943, 8, 13, 8, 0, -11 }, // U+02C3 + { 7956, 8, 13, 8, 0, -11 }, // U+02C4 + { 7969, 8, 13, 8, 0, -11 }, // U+02C5 + { 7982, 8, 13, 8, 0, -11 }, // U+02C6 + { 7995, 8, 13, 8, 0, -11 }, // U+02C7 + { 8008, 8, 13, 8, 0, -11 }, // U+02C8 + { 8021, 8, 13, 8, 0, -11 }, // U+02C9 + { 8034, 8, 13, 8, 0, -11 }, // U+02CA + { 8047, 8, 13, 8, 0, -11 }, // U+02CB + { 8060, 8, 13, 8, 0, -11 }, // U+02CC + { 8073, 8, 13, 8, 0, -11 }, // U+02CD + { 8086, 8, 13, 8, 0, -11 }, // U+02CE + { 8099, 8, 13, 8, 0, -11 }, // U+02CF + { 8112, 8, 13, 8, 0, -11 }, // U+02D0 + { 8125, 8, 13, 8, 0, -11 }, // U+02D1 + { 8138, 8, 13, 8, 0, -11 }, // U+02D2 + { 8151, 8, 13, 8, 0, -11 }, // U+02D3 + { 8164, 8, 13, 8, 0, -11 }, // U+02D4 + { 8177, 8, 13, 8, 0, -11 }, // U+02D5 + { 8190, 8, 13, 8, 0, -11 }, // U+02D6 + { 8203, 8, 13, 8, 0, -11 }, // U+02D7 + { 8216, 8, 13, 8, 0, -11 }, // U+02D8 + { 8229, 8, 13, 8, 0, -11 }, // U+02D9 + { 8242, 8, 13, 8, 0, -11 }, // U+02DA + { 8255, 8, 13, 8, 0, -11 }, // U+02DB + { 8268, 8, 13, 8, 0, -11 }, // U+02DC + { 8281, 8, 13, 8, 0, -11 }, // U+02DD + { 8294, 8, 13, 8, 0, -11 }, // U+02DE + { 8307, 8, 13, 8, 0, -11 }, // U+02DF + { 8320, 8, 13, 8, 0, -11 }, // U+02E0 + { 8333, 8, 13, 8, 0, -11 }, // U+02E1 + { 8346, 8, 13, 8, 0, -11 }, // U+02E2 + { 8359, 8, 13, 8, 0, -11 }, // U+02E3 + { 8372, 8, 13, 8, 0, -11 }, // U+02E4 + { 8385, 8, 13, 8, 0, -11 }, // U+02E5 + { 8398, 8, 13, 8, 0, -11 }, // U+02E6 + { 8411, 8, 13, 8, 0, -11 }, // U+02E7 + { 8424, 8, 13, 8, 0, -11 }, // U+02E8 + { 8437, 8, 13, 8, 0, -11 }, // U+02E9 + { 8450, 8, 13, 8, 0, -11 }, // U+02EA + { 8463, 8, 13, 8, 0, -11 }, // U+02EB + { 8476, 8, 13, 8, 0, -11 }, // U+02EC + { 8489, 8, 13, 8, 0, -11 }, // U+02ED + { 8502, 8, 13, 8, 0, -11 }, // U+02EE + { 8515, 0, 0, 8, 0, 0 }, // U+02EF (placeholder) + { 8515, 0, 0, 8, 0, 0 }, // U+02F0 (placeholder) + { 8515, 0, 0, 8, 0, 0 }, // U+02F1 (placeholder) + { 8515, 0, 0, 8, 0, 0 }, // U+02F2 (placeholder) + { 8515, 0, 0, 8, 0, 0 }, // U+02F3 (placeholder) + { 8515, 0, 0, 8, 0, 0 }, // U+02F4 (placeholder) + { 8515, 0, 0, 8, 0, 0 }, // U+02F5 (placeholder) + { 8515, 0, 0, 8, 0, 0 }, // U+02F6 (placeholder) + { 8515, 0, 0, 8, 0, 0 }, // U+02F7 (placeholder) + { 8515, 0, 0, 8, 0, 0 }, // U+02F8 (placeholder) + { 8515, 0, 0, 8, 0, 0 }, // U+02F9 (placeholder) + { 8515, 0, 0, 8, 0, 0 }, // U+02FA (placeholder) + { 8515, 0, 0, 8, 0, 0 }, // U+02FB (placeholder) + { 8515, 0, 0, 8, 0, 0 }, // U+02FC (placeholder) + { 8515, 0, 0, 8, 0, 0 }, // U+02FD (placeholder) + { 8515, 0, 0, 8, 0, 0 }, // U+02FE (placeholder) + { 8515, 0, 0, 8, 0, 0 }, // U+02FF (placeholder) + { 8515, 8, 13, 8, 0, -11 }, // U+0300 + { 8528, 8, 13, 8, 0, -11 }, // U+0301 + { 8541, 8, 13, 8, 0, -11 }, // U+0302 + { 8554, 8, 13, 8, 0, -11 }, // U+0303 + { 8567, 8, 13, 8, 0, -11 }, // U+0304 + { 8580, 8, 13, 8, 0, -11 }, // U+0305 + { 8593, 8, 13, 8, 0, -11 }, // U+0306 + { 8606, 8, 13, 8, 0, -11 }, // U+0307 + { 8619, 8, 13, 8, 0, -11 }, // U+0308 + { 8632, 8, 13, 8, 0, -11 }, // U+0309 + { 8645, 8, 13, 8, 0, -11 }, // U+030A + { 8658, 8, 13, 8, 0, -11 }, // U+030B + { 8671, 8, 13, 8, 0, -11 }, // U+030C + { 8684, 8, 13, 8, 0, -11 }, // U+030D + { 8697, 8, 13, 8, 0, -11 }, // U+030E + { 8710, 8, 13, 8, 0, -11 }, // U+030F + { 8723, 8, 13, 8, 0, -11 }, // U+0310 + { 8736, 8, 13, 8, 0, -11 }, // U+0311 + { 8749, 8, 13, 8, 0, -11 }, // U+0312 + { 8762, 8, 13, 8, 0, -11 }, // U+0313 + { 8775, 8, 13, 8, 0, -11 }, // U+0314 + { 8788, 8, 13, 8, 0, -11 }, // U+0315 + { 8801, 8, 13, 8, 0, -11 }, // U+0316 + { 8814, 8, 13, 8, 0, -11 }, // U+0317 + { 8827, 8, 13, 8, 0, -11 }, // U+0318 + { 8840, 8, 13, 8, 0, -11 }, // U+0319 + { 8853, 8, 13, 8, 0, -11 }, // U+031A + { 8866, 8, 13, 8, 0, -11 }, // U+031B + { 8879, 8, 13, 8, 0, -11 }, // U+031C + { 8892, 8, 13, 8, 0, -11 }, // U+031D + { 8905, 8, 13, 8, 0, -11 }, // U+031E + { 8918, 8, 13, 8, 0, -11 }, // U+031F + { 8931, 8, 13, 8, 0, -11 }, // U+0320 + { 8944, 8, 13, 8, 0, -11 }, // U+0321 + { 8957, 8, 13, 8, 0, -11 }, // U+0322 + { 8970, 8, 13, 8, 0, -11 }, // U+0323 + { 8983, 8, 13, 8, 0, -11 }, // U+0324 + { 8996, 8, 13, 8, 0, -11 }, // U+0325 + { 9009, 8, 13, 8, 0, -11 }, // U+0326 + { 9022, 8, 13, 8, 0, -11 }, // U+0327 + { 9035, 8, 13, 8, 0, -11 }, // U+0328 + { 9048, 8, 13, 8, 0, -11 }, // U+0329 + { 9061, 8, 13, 8, 0, -11 }, // U+032A + { 9074, 8, 13, 8, 0, -11 }, // U+032B + { 9087, 8, 13, 8, 0, -11 }, // U+032C + { 9100, 8, 13, 8, 0, -11 }, // U+032D + { 9113, 8, 13, 8, 0, -11 }, // U+032E + { 9126, 8, 13, 8, 0, -11 }, // U+032F + { 9139, 8, 13, 8, 0, -11 }, // U+0330 + { 9152, 8, 13, 8, 0, -11 }, // U+0331 + { 9165, 8, 13, 8, 0, -11 }, // U+0332 + { 9178, 8, 13, 8, 0, -11 }, // U+0333 + { 9191, 8, 13, 8, 0, -11 }, // U+0334 + { 9204, 8, 13, 8, 0, -11 }, // U+0335 + { 9217, 8, 13, 8, 0, -11 }, // U+0336 + { 9230, 8, 13, 8, 0, -11 }, // U+0337 + { 9243, 8, 13, 8, 0, -11 }, // U+0338 + { 9256, 8, 13, 8, 0, -11 }, // U+0339 + { 9269, 8, 13, 8, 0, -11 }, // U+033A + { 9282, 8, 13, 8, 0, -11 }, // U+033B + { 9295, 8, 13, 8, 0, -11 }, // U+033C + { 9308, 8, 13, 8, 0, -11 }, // U+033D + { 9321, 8, 13, 8, 0, -11 }, // U+033E + { 9334, 8, 13, 8, 0, -11 }, // U+033F + { 9347, 8, 13, 8, 0, -11 }, // U+0340 + { 9360, 8, 13, 8, 0, -11 }, // U+0341 + { 9373, 8, 13, 8, 0, -11 }, // U+0342 + { 9386, 8, 13, 8, 0, -11 }, // U+0343 + { 9399, 8, 13, 8, 0, -11 }, // U+0344 + { 9412, 8, 13, 8, 0, -11 }, // U+0345 + { 9425, 8, 13, 8, 0, -11 }, // U+0346 + { 9438, 8, 13, 8, 0, -11 }, // U+0347 + { 9451, 8, 13, 8, 0, -11 }, // U+0348 + { 9464, 8, 13, 8, 0, -11 }, // U+0349 + { 9477, 8, 13, 8, 0, -11 }, // U+034A + { 9490, 8, 13, 8, 0, -11 }, // U+034B + { 9503, 8, 13, 8, 0, -11 }, // U+034C + { 9516, 8, 13, 8, 0, -11 }, // U+034D + { 9529, 8, 13, 8, 0, -11 }, // U+034E + { 9542, 8, 13, 8, 0, -11 }, // U+034F + { 9555, 0, 0, 8, 0, 0 }, // U+0350 (placeholder) + { 9555, 0, 0, 8, 0, 0 }, // U+0351 (placeholder) + { 9555, 0, 0, 8, 0, 0 }, // U+0352 (placeholder) + { 9555, 0, 0, 8, 0, 0 }, // U+0353 (placeholder) + { 9555, 0, 0, 8, 0, 0 }, // U+0354 (placeholder) + { 9555, 0, 0, 8, 0, 0 }, // U+0355 (placeholder) + { 9555, 0, 0, 8, 0, 0 }, // U+0356 (placeholder) + { 9555, 0, 0, 8, 0, 0 }, // U+0357 (placeholder) + { 9555, 0, 0, 8, 0, 0 }, // U+0358 (placeholder) + { 9555, 0, 0, 8, 0, 0 }, // U+0359 (placeholder) + { 9555, 0, 0, 8, 0, 0 }, // U+035A (placeholder) + { 9555, 0, 0, 8, 0, 0 }, // U+035B (placeholder) + { 9555, 0, 0, 8, 0, 0 }, // U+035C (placeholder) + { 9555, 0, 0, 8, 0, 0 }, // U+035D (placeholder) + { 9555, 0, 0, 8, 0, 0 }, // U+035E (placeholder) + { 9555, 0, 0, 8, 0, 0 }, // U+035F (placeholder) + { 9555, 8, 13, 8, 0, -11 }, // U+0360 + { 9568, 8, 13, 8, 0, -11 }, // U+0361 + { 9581, 8, 13, 8, 0, -11 }, // U+0362 + { 9594, 8, 13, 8, 0, -11 }, // U+0363 + { 9607, 8, 13, 8, 0, -11 }, // U+0364 + { 9620, 8, 13, 8, 0, -11 }, // U+0365 + { 9633, 8, 13, 8, 0, -11 }, // U+0366 + { 9646, 8, 13, 8, 0, -11 }, // U+0367 + { 9659, 8, 13, 8, 0, -11 }, // U+0368 + { 9672, 8, 13, 8, 0, -11 }, // U+0369 + { 9685, 8, 13, 8, 0, -11 }, // U+036A + { 9698, 8, 13, 8, 0, -11 }, // U+036B + { 9711, 8, 13, 8, 0, -11 }, // U+036C + { 9724, 8, 13, 8, 0, -11 }, // U+036D + { 9737, 8, 13, 8, 0, -11 }, // U+036E + { 9750, 8, 13, 8, 0, -11 }, // U+036F + { 9763, 0, 0, 8, 0, 0 }, // U+0370 (placeholder) + { 9763, 0, 0, 8, 0, 0 }, // U+0371 (placeholder) + { 9763, 0, 0, 8, 0, 0 }, // U+0372 (placeholder) + { 9763, 0, 0, 8, 0, 0 }, // U+0373 (placeholder) + { 9763, 8, 13, 8, 0, -11 }, // U+0374 + { 9776, 8, 13, 8, 0, -11 }, // U+0375 + { 9789, 0, 0, 8, 0, 0 }, // U+0376 (placeholder) + { 9789, 0, 0, 8, 0, 0 }, // U+0377 (placeholder) + { 9789, 0, 0, 8, 0, 0 }, // U+0378 (placeholder) + { 9789, 0, 0, 8, 0, 0 }, // U+0379 (placeholder) + { 9789, 8, 13, 8, 0, -11 }, // U+037A + { 9802, 0, 0, 8, 0, 0 }, // U+037B (placeholder) + { 9802, 0, 0, 8, 0, 0 }, // U+037C (placeholder) + { 9802, 0, 0, 8, 0, 0 }, // U+037D (placeholder) + { 9802, 8, 13, 8, 0, -11 }, // U+037E + { 9815, 0, 0, 8, 0, 0 }, // U+037F (placeholder) + { 9815, 0, 0, 8, 0, 0 }, // U+0380 (placeholder) + { 9815, 0, 0, 8, 0, 0 }, // U+0381 (placeholder) + { 9815, 0, 0, 8, 0, 0 }, // U+0382 (placeholder) + { 9815, 0, 0, 8, 0, 0 }, // U+0383 (placeholder) + { 9815, 8, 13, 8, 0, -11 }, // U+0384 + { 9828, 8, 13, 8, 0, -11 }, // U+0385 + { 9841, 8, 13, 8, 0, -11 }, // U+0386 + { 9854, 8, 13, 8, 0, -11 }, // U+0387 + { 9867, 8, 13, 8, 0, -11 }, // U+0388 + { 9880, 8, 13, 8, 0, -11 }, // U+0389 + { 9893, 8, 13, 8, 0, -11 }, // U+038A + { 9906, 0, 0, 8, 0, 0 }, // U+038B (placeholder) + { 9906, 8, 13, 8, 0, -11 }, // U+038C + { 9919, 0, 0, 8, 0, 0 }, // U+038D (placeholder) + { 9919, 8, 13, 8, 0, -11 }, // U+038E + { 9932, 8, 13, 8, 0, -11 }, // U+038F + { 9945, 8, 13, 8, 0, -11 }, // U+0390 + { 9958, 8, 13, 8, 0, -11 }, // U+0391 + { 9971, 8, 13, 8, 0, -11 }, // U+0392 + { 9984, 8, 13, 8, 0, -11 }, // U+0393 + { 9997, 8, 13, 8, 0, -11 }, // U+0394 + { 10010, 8, 13, 8, 0, -11 }, // U+0395 + { 10023, 8, 13, 8, 0, -11 }, // U+0396 + { 10036, 8, 13, 8, 0, -11 }, // U+0397 + { 10049, 8, 13, 8, 0, -11 }, // U+0398 + { 10062, 8, 13, 8, 0, -11 }, // U+0399 + { 10075, 8, 13, 8, 0, -11 }, // U+039A + { 10088, 8, 13, 8, 0, -11 }, // U+039B + { 10101, 8, 13, 8, 0, -11 }, // U+039C + { 10114, 8, 13, 8, 0, -11 }, // U+039D + { 10127, 8, 13, 8, 0, -11 }, // U+039E + { 10140, 8, 13, 8, 0, -11 }, // U+039F + { 10153, 8, 13, 8, 0, -11 }, // U+03A0 + { 10166, 8, 13, 8, 0, -11 }, // U+03A1 + { 10179, 0, 0, 8, 0, 0 }, // U+03A2 (placeholder) + { 10179, 8, 13, 8, 0, -11 }, // U+03A3 + { 10192, 8, 13, 8, 0, -11 }, // U+03A4 + { 10205, 8, 13, 8, 0, -11 }, // U+03A5 + { 10218, 8, 13, 8, 0, -11 }, // U+03A6 + { 10231, 8, 13, 8, 0, -11 }, // U+03A7 + { 10244, 8, 13, 8, 0, -11 }, // U+03A8 + { 10257, 8, 13, 8, 0, -11 }, // U+03A9 + { 10270, 8, 13, 8, 0, -11 }, // U+03AA + { 10283, 8, 13, 8, 0, -11 }, // U+03AB + { 10296, 8, 13, 8, 0, -11 }, // U+03AC + { 10309, 8, 13, 8, 0, -11 }, // U+03AD + { 10322, 8, 13, 8, 0, -11 }, // U+03AE + { 10335, 8, 13, 8, 0, -11 }, // U+03AF + { 10348, 8, 13, 8, 0, -11 }, // U+03B0 + { 10361, 8, 13, 8, 0, -11 }, // U+03B1 + { 10374, 8, 13, 8, 0, -11 }, // U+03B2 + { 10387, 8, 13, 8, 0, -11 }, // U+03B3 + { 10400, 8, 13, 8, 0, -11 }, // U+03B4 + { 10413, 8, 13, 8, 0, -11 }, // U+03B5 + { 10426, 8, 13, 8, 0, -11 }, // U+03B6 + { 10439, 8, 13, 8, 0, -11 }, // U+03B7 + { 10452, 8, 13, 8, 0, -11 }, // U+03B8 + { 10465, 8, 13, 8, 0, -11 }, // U+03B9 + { 10478, 8, 13, 8, 0, -11 }, // U+03BA + { 10491, 8, 13, 8, 0, -11 }, // U+03BB + { 10504, 8, 13, 8, 0, -11 }, // U+03BC + { 10517, 8, 13, 8, 0, -11 }, // U+03BD + { 10530, 8, 13, 8, 0, -11 }, // U+03BE + { 10543, 8, 13, 8, 0, -11 }, // U+03BF + { 10556, 8, 13, 8, 0, -11 }, // U+03C0 + { 10569, 8, 13, 8, 0, -11 }, // U+03C1 + { 10582, 8, 13, 8, 0, -11 }, // U+03C2 + { 10595, 8, 13, 8, 0, -11 }, // U+03C3 + { 10608, 8, 13, 8, 0, -11 }, // U+03C4 + { 10621, 8, 13, 8, 0, -11 }, // U+03C5 + { 10634, 8, 13, 8, 0, -11 }, // U+03C6 + { 10647, 8, 13, 8, 0, -11 }, // U+03C7 + { 10660, 8, 13, 8, 0, -11 }, // U+03C8 + { 10673, 8, 13, 8, 0, -11 }, // U+03C9 + { 10686, 8, 13, 8, 0, -11 }, // U+03CA + { 10699, 8, 13, 8, 0, -11 }, // U+03CB + { 10712, 8, 13, 8, 0, -11 }, // U+03CC + { 10725, 8, 13, 8, 0, -11 }, // U+03CD + { 10738, 8, 13, 8, 0, -11 }, // U+03CE + { 10751, 0, 0, 8, 0, 0 }, // U+03CF (placeholder) + { 10751, 8, 13, 8, 0, -11 }, // U+03D0 + { 10764, 8, 13, 8, 0, -11 }, // U+03D1 + { 10777, 8, 13, 8, 0, -11 }, // U+03D2 + { 10790, 8, 13, 8, 0, -11 }, // U+03D3 + { 10803, 8, 13, 8, 0, -11 }, // U+03D4 + { 10816, 8, 13, 8, 0, -11 }, // U+03D5 + { 10829, 8, 13, 8, 0, -11 }, // U+03D6 + { 10842, 8, 13, 8, 0, -11 }, // U+03D7 + { 10855, 8, 13, 8, 0, -11 }, // U+03D8 + { 10868, 8, 13, 8, 0, -11 }, // U+03D9 + { 10881, 8, 13, 8, 0, -11 }, // U+03DA + { 10894, 8, 13, 8, 0, -11 }, // U+03DB + { 10907, 8, 13, 8, 0, -11 }, // U+03DC + { 10920, 8, 13, 8, 0, -11 }, // U+03DD + { 10933, 8, 13, 8, 0, -11 }, // U+03DE + { 10946, 8, 13, 8, 0, -11 }, // U+03DF + { 10959, 8, 13, 8, 0, -11 }, // U+03E0 + { 10972, 8, 13, 8, 0, -11 }, // U+03E1 + { 10985, 8, 13, 8, 0, -11 }, // U+03E2 + { 10998, 8, 13, 8, 0, -11 }, // U+03E3 + { 11011, 8, 13, 8, 0, -11 }, // U+03E4 + { 11024, 8, 13, 8, 0, -11 }, // U+03E5 + { 11037, 8, 13, 8, 0, -11 }, // U+03E6 + { 11050, 8, 13, 8, 0, -11 }, // U+03E7 + { 11063, 8, 13, 8, 0, -11 }, // U+03E8 + { 11076, 8, 13, 8, 0, -11 }, // U+03E9 + { 11089, 8, 13, 8, 0, -11 }, // U+03EA + { 11102, 8, 13, 8, 0, -11 }, // U+03EB + { 11115, 8, 13, 8, 0, -11 }, // U+03EC + { 11128, 8, 13, 8, 0, -11 }, // U+03ED + { 11141, 8, 13, 8, 0, -11 }, // U+03EE + { 11154, 8, 13, 8, 0, -11 }, // U+03EF + { 11167, 8, 13, 8, 0, -11 }, // U+03F0 + { 11180, 8, 13, 8, 0, -11 }, // U+03F1 + { 11193, 8, 13, 8, 0, -11 }, // U+03F2 + { 11206, 8, 13, 8, 0, -11 }, // U+03F3 + { 11219, 8, 13, 8, 0, -11 }, // U+03F4 + { 11232, 8, 13, 8, 0, -11 }, // U+03F5 + { 11245, 8, 13, 8, 0, -11 }, // U+03F6 + { 11258, 0, 0, 8, 0, 0 }, // U+03F7 (placeholder) + { 11258, 0, 0, 8, 0, 0 }, // U+03F8 (placeholder) + { 11258, 0, 0, 8, 0, 0 }, // U+03F9 (placeholder) + { 11258, 0, 0, 8, 0, 0 }, // U+03FA (placeholder) + { 11258, 0, 0, 8, 0, 0 }, // U+03FB (placeholder) + { 11258, 0, 0, 8, 0, 0 }, // U+03FC (placeholder) + { 11258, 0, 0, 8, 0, 0 }, // U+03FD (placeholder) + { 11258, 0, 0, 8, 0, 0 }, // U+03FE (placeholder) + { 11258, 0, 0, 8, 0, 0 }, // U+03FF (placeholder) + { 11258, 8, 13, 8, 0, -11 }, // U+0400 + { 11271, 8, 13, 8, 0, -11 }, // U+0401 + { 11284, 8, 13, 8, 0, -11 }, // U+0402 + { 11297, 8, 13, 8, 0, -11 }, // U+0403 + { 11310, 8, 13, 8, 0, -11 }, // U+0404 + { 11323, 8, 13, 8, 0, -11 }, // U+0405 + { 11336, 8, 13, 8, 0, -11 }, // U+0406 + { 11349, 8, 13, 8, 0, -11 }, // U+0407 + { 11362, 8, 13, 8, 0, -11 }, // U+0408 + { 11375, 8, 13, 8, 0, -11 }, // U+0409 + { 11388, 8, 13, 8, 0, -11 }, // U+040A + { 11401, 8, 13, 8, 0, -11 }, // U+040B + { 11414, 8, 13, 8, 0, -11 }, // U+040C + { 11427, 8, 13, 8, 0, -11 }, // U+040D + { 11440, 8, 13, 8, 0, -11 }, // U+040E + { 11453, 8, 13, 8, 0, -11 }, // U+040F + { 11466, 8, 13, 8, 0, -11 }, // U+0410 + { 11479, 8, 13, 8, 0, -11 }, // U+0411 + { 11492, 8, 13, 8, 0, -11 }, // U+0412 + { 11505, 8, 13, 8, 0, -11 }, // U+0413 + { 11518, 8, 13, 8, 0, -11 }, // U+0414 + { 11531, 8, 13, 8, 0, -11 }, // U+0415 + { 11544, 8, 13, 8, 0, -11 }, // U+0416 + { 11557, 8, 13, 8, 0, -11 }, // U+0417 + { 11570, 8, 13, 8, 0, -11 }, // U+0418 + { 11583, 8, 13, 8, 0, -11 }, // U+0419 + { 11596, 8, 13, 8, 0, -11 }, // U+041A + { 11609, 8, 13, 8, 0, -11 }, // U+041B + { 11622, 8, 13, 8, 0, -11 }, // U+041C + { 11635, 8, 13, 8, 0, -11 }, // U+041D + { 11648, 8, 13, 8, 0, -11 }, // U+041E + { 11661, 8, 13, 8, 0, -11 }, // U+041F + { 11674, 8, 13, 8, 0, -11 }, // U+0420 + { 11687, 8, 13, 8, 0, -11 }, // U+0421 + { 11700, 8, 13, 8, 0, -11 }, // U+0422 + { 11713, 8, 13, 8, 0, -11 }, // U+0423 + { 11726, 8, 13, 8, 0, -11 }, // U+0424 + { 11739, 8, 13, 8, 0, -11 }, // U+0425 + { 11752, 8, 13, 8, 0, -11 }, // U+0426 + { 11765, 8, 13, 8, 0, -11 }, // U+0427 + { 11778, 8, 13, 8, 0, -11 }, // U+0428 + { 11791, 8, 13, 8, 0, -11 }, // U+0429 + { 11804, 8, 13, 8, 0, -11 }, // U+042A + { 11817, 8, 13, 8, 0, -11 }, // U+042B + { 11830, 8, 13, 8, 0, -11 }, // U+042C + { 11843, 8, 13, 8, 0, -11 }, // U+042D + { 11856, 8, 13, 8, 0, -11 }, // U+042E + { 11869, 8, 13, 8, 0, -11 }, // U+042F + { 11882, 8, 13, 8, 0, -11 }, // U+0430 + { 11895, 8, 13, 8, 0, -11 }, // U+0431 + { 11908, 8, 13, 8, 0, -11 }, // U+0432 + { 11921, 8, 13, 8, 0, -11 }, // U+0433 + { 11934, 8, 13, 8, 0, -11 }, // U+0434 + { 11947, 8, 13, 8, 0, -11 }, // U+0435 + { 11960, 8, 13, 8, 0, -11 }, // U+0436 + { 11973, 8, 13, 8, 0, -11 }, // U+0437 + { 11986, 8, 13, 8, 0, -11 }, // U+0438 + { 11999, 8, 13, 8, 0, -11 }, // U+0439 + { 12012, 8, 13, 8, 0, -11 }, // U+043A + { 12025, 8, 13, 8, 0, -11 }, // U+043B + { 12038, 8, 13, 8, 0, -11 }, // U+043C + { 12051, 8, 13, 8, 0, -11 }, // U+043D + { 12064, 8, 13, 8, 0, -11 }, // U+043E + { 12077, 8, 13, 8, 0, -11 }, // U+043F + { 12090, 8, 13, 8, 0, -11 }, // U+0440 + { 12103, 8, 13, 8, 0, -11 }, // U+0441 + { 12116, 8, 13, 8, 0, -11 }, // U+0442 + { 12129, 8, 13, 8, 0, -11 }, // U+0443 + { 12142, 8, 13, 8, 0, -11 }, // U+0444 + { 12155, 8, 13, 8, 0, -11 }, // U+0445 + { 12168, 8, 13, 8, 0, -11 }, // U+0446 + { 12181, 8, 13, 8, 0, -11 }, // U+0447 + { 12194, 8, 13, 8, 0, -11 }, // U+0448 + { 12207, 8, 13, 8, 0, -11 }, // U+0449 + { 12220, 8, 13, 8, 0, -11 }, // U+044A + { 12233, 8, 13, 8, 0, -11 }, // U+044B + { 12246, 8, 13, 8, 0, -11 }, // U+044C + { 12259, 8, 13, 8, 0, -11 }, // U+044D + { 12272, 8, 13, 8, 0, -11 }, // U+044E + { 12285, 8, 13, 8, 0, -11 }, // U+044F + { 12298, 8, 13, 8, 0, -11 }, // U+0450 + { 12311, 8, 13, 8, 0, -11 }, // U+0451 + { 12324, 8, 13, 8, 0, -11 }, // U+0452 + { 12337, 8, 13, 8, 0, -11 }, // U+0453 + { 12350, 8, 13, 8, 0, -11 }, // U+0454 + { 12363, 8, 13, 8, 0, -11 }, // U+0455 + { 12376, 8, 13, 8, 0, -11 }, // U+0456 + { 12389, 8, 13, 8, 0, -11 }, // U+0457 + { 12402, 8, 13, 8, 0, -11 }, // U+0458 + { 12415, 8, 13, 8, 0, -11 }, // U+0459 + { 12428, 8, 13, 8, 0, -11 }, // U+045A + { 12441, 8, 13, 8, 0, -11 }, // U+045B + { 12454, 8, 13, 8, 0, -11 }, // U+045C + { 12467, 8, 13, 8, 0, -11 }, // U+045D + { 12480, 8, 13, 8, 0, -11 }, // U+045E + { 12493, 8, 13, 8, 0, -11 }, // U+045F + { 12506, 8, 13, 8, 0, -11 }, // U+0460 + { 12519, 8, 13, 8, 0, -11 }, // U+0461 + { 12532, 8, 13, 8, 0, -11 }, // U+0462 + { 12545, 8, 13, 8, 0, -11 }, // U+0463 + { 12558, 8, 13, 8, 0, -11 }, // U+0464 + { 12571, 8, 13, 8, 0, -11 }, // U+0465 + { 12584, 8, 13, 8, 0, -11 }, // U+0466 + { 12597, 8, 13, 8, 0, -11 }, // U+0467 + { 12610, 8, 13, 8, 0, -11 }, // U+0468 + { 12623, 8, 13, 8, 0, -11 }, // U+0469 + { 12636, 8, 13, 8, 0, -11 }, // U+046A + { 12649, 8, 13, 8, 0, -11 }, // U+046B + { 12662, 8, 13, 8, 0, -11 }, // U+046C + { 12675, 8, 13, 8, 0, -11 }, // U+046D + { 12688, 8, 13, 8, 0, -11 }, // U+046E + { 12701, 8, 13, 8, 0, -11 }, // U+046F + { 12714, 8, 13, 8, 0, -11 }, // U+0470 + { 12727, 8, 13, 8, 0, -11 }, // U+0471 + { 12740, 8, 13, 8, 0, -11 }, // U+0472 + { 12753, 8, 13, 8, 0, -11 }, // U+0473 + { 12766, 8, 13, 8, 0, -11 }, // U+0474 + { 12779, 8, 13, 8, 0, -11 }, // U+0475 + { 12792, 8, 13, 8, 0, -11 }, // U+0476 + { 12805, 8, 13, 8, 0, -11 }, // U+0477 + { 12818, 8, 13, 8, 0, -11 }, // U+0478 + { 12831, 8, 13, 8, 0, -11 }, // U+0479 + { 12844, 8, 13, 8, 0, -11 }, // U+047A + { 12857, 8, 13, 8, 0, -11 }, // U+047B + { 12870, 8, 13, 8, 0, -11 }, // U+047C + { 12883, 8, 13, 8, 0, -11 }, // U+047D + { 12896, 8, 13, 8, 0, -11 }, // U+047E + { 12909, 8, 13, 8, 0, -11 }, // U+047F + { 12922, 8, 13, 8, 0, -11 }, // U+0480 + { 12935, 8, 13, 8, 0, -11 }, // U+0481 + { 12948, 8, 13, 8, 0, -11 }, // U+0482 + { 12961, 8, 13, 8, 0, -11 }, // U+0483 + { 12974, 8, 13, 8, 0, -11 }, // U+0484 + { 12987, 8, 13, 8, 0, -11 }, // U+0485 + { 13000, 8, 13, 8, 0, -11 }, // U+0486 + { 13013, 0, 0, 8, 0, 0 }, // U+0487 (placeholder) + { 13013, 8, 13, 8, 0, -11 }, // U+0488 + { 13026, 8, 13, 8, 0, -11 }, // U+0489 + { 13039, 8, 13, 8, 0, -11 }, // U+048A + { 13052, 8, 13, 8, 0, -11 }, // U+048B + { 13065, 8, 13, 8, 0, -11 }, // U+048C + { 13078, 8, 13, 8, 0, -11 }, // U+048D + { 13091, 8, 13, 8, 0, -11 }, // U+048E + { 13104, 8, 13, 8, 0, -11 }, // U+048F + { 13117, 8, 13, 8, 0, -11 }, // U+0490 + { 13130, 8, 13, 8, 0, -11 }, // U+0491 + { 13143, 8, 13, 8, 0, -11 }, // U+0492 + { 13156, 8, 13, 8, 0, -11 }, // U+0493 + { 13169, 8, 13, 8, 0, -11 }, // U+0494 + { 13182, 8, 13, 8, 0, -11 }, // U+0495 + { 13195, 8, 13, 8, 0, -11 }, // U+0496 + { 13208, 8, 13, 8, 0, -11 }, // U+0497 + { 13221, 8, 13, 8, 0, -11 }, // U+0498 + { 13234, 8, 13, 8, 0, -11 }, // U+0499 + { 13247, 8, 13, 8, 0, -11 }, // U+049A + { 13260, 8, 13, 8, 0, -11 }, // U+049B + { 13273, 8, 13, 8, 0, -11 }, // U+049C + { 13286, 8, 13, 8, 0, -11 }, // U+049D + { 13299, 8, 13, 8, 0, -11 }, // U+049E + { 13312, 8, 13, 8, 0, -11 }, // U+049F + { 13325, 8, 13, 8, 0, -11 }, // U+04A0 + { 13338, 8, 13, 8, 0, -11 }, // U+04A1 + { 13351, 8, 13, 8, 0, -11 }, // U+04A2 + { 13364, 8, 13, 8, 0, -11 }, // U+04A3 + { 13377, 8, 13, 8, 0, -11 }, // U+04A4 + { 13390, 8, 13, 8, 0, -11 }, // U+04A5 + { 13403, 8, 13, 8, 0, -11 }, // U+04A6 + { 13416, 8, 13, 8, 0, -11 }, // U+04A7 + { 13429, 8, 13, 8, 0, -11 }, // U+04A8 + { 13442, 8, 13, 8, 0, -11 }, // U+04A9 + { 13455, 8, 13, 8, 0, -11 }, // U+04AA + { 13468, 8, 13, 8, 0, -11 }, // U+04AB + { 13481, 8, 13, 8, 0, -11 }, // U+04AC + { 13494, 8, 13, 8, 0, -11 }, // U+04AD + { 13507, 8, 13, 8, 0, -11 }, // U+04AE + { 13520, 8, 13, 8, 0, -11 }, // U+04AF + { 13533, 8, 13, 8, 0, -11 }, // U+04B0 + { 13546, 8, 13, 8, 0, -11 }, // U+04B1 + { 13559, 8, 13, 8, 0, -11 }, // U+04B2 + { 13572, 8, 13, 8, 0, -11 }, // U+04B3 + { 13585, 8, 13, 8, 0, -11 }, // U+04B4 + { 13598, 8, 13, 8, 0, -11 }, // U+04B5 + { 13611, 8, 13, 8, 0, -11 }, // U+04B6 + { 13624, 8, 13, 8, 0, -11 }, // U+04B7 + { 13637, 8, 13, 8, 0, -11 }, // U+04B8 + { 13650, 8, 13, 8, 0, -11 }, // U+04B9 + { 13663, 8, 13, 8, 0, -11 }, // U+04BA + { 13676, 8, 13, 8, 0, -11 }, // U+04BB + { 13689, 8, 13, 8, 0, -11 }, // U+04BC + { 13702, 8, 13, 8, 0, -11 }, // U+04BD + { 13715, 8, 13, 8, 0, -11 }, // U+04BE + { 13728, 8, 13, 8, 0, -11 }, // U+04BF + { 13741, 8, 13, 8, 0, -11 }, // U+04C0 + { 13754, 8, 13, 8, 0, -11 }, // U+04C1 + { 13767, 8, 13, 8, 0, -11 }, // U+04C2 + { 13780, 8, 13, 8, 0, -11 }, // U+04C3 + { 13793, 8, 13, 8, 0, -11 }, // U+04C4 + { 13806, 8, 13, 8, 0, -11 }, // U+04C5 + { 13819, 8, 13, 8, 0, -11 }, // U+04C6 + { 13832, 8, 13, 8, 0, -11 }, // U+04C7 + { 13845, 8, 13, 8, 0, -11 }, // U+04C8 + { 13858, 8, 13, 8, 0, -11 }, // U+04C9 + { 13871, 8, 13, 8, 0, -11 }, // U+04CA + { 13884, 8, 13, 8, 0, -11 }, // U+04CB + { 13897, 8, 13, 8, 0, -11 }, // U+04CC + { 13910, 8, 13, 8, 0, -11 }, // U+04CD + { 13923, 8, 13, 8, 0, -11 }, // U+04CE + { 13936, 0, 0, 8, 0, 0 }, // U+04CF (placeholder) + { 13936, 8, 13, 8, 0, -11 }, // U+04D0 + { 13949, 8, 13, 8, 0, -11 }, // U+04D1 + { 13962, 8, 13, 8, 0, -11 }, // U+04D2 + { 13975, 8, 13, 8, 0, -11 }, // U+04D3 + { 13988, 8, 13, 8, 0, -11 }, // U+04D4 + { 14001, 8, 13, 8, 0, -11 }, // U+04D5 + { 14014, 8, 13, 8, 0, -11 }, // U+04D6 + { 14027, 8, 13, 8, 0, -11 }, // U+04D7 + { 14040, 8, 13, 8, 0, -11 }, // U+04D8 + { 14053, 8, 13, 8, 0, -11 }, // U+04D9 + { 14066, 8, 13, 8, 0, -11 }, // U+04DA + { 14079, 8, 13, 8, 0, -11 }, // U+04DB + { 14092, 8, 13, 8, 0, -11 }, // U+04DC + { 14105, 8, 13, 8, 0, -11 }, // U+04DD + { 14118, 8, 13, 8, 0, -11 }, // U+04DE + { 14131, 8, 13, 8, 0, -11 }, // U+04DF + { 14144, 8, 13, 8, 0, -11 }, // U+04E0 + { 14157, 8, 13, 8, 0, -11 }, // U+04E1 + { 14170, 8, 13, 8, 0, -11 }, // U+04E2 + { 14183, 8, 13, 8, 0, -11 }, // U+04E3 + { 14196, 8, 13, 8, 0, -11 }, // U+04E4 + { 14209, 8, 13, 8, 0, -11 }, // U+04E5 + { 14222, 8, 13, 8, 0, -11 }, // U+04E6 + { 14235, 8, 13, 8, 0, -11 }, // U+04E7 + { 14248, 8, 13, 8, 0, -11 }, // U+04E8 + { 14261, 8, 13, 8, 0, -11 }, // U+04E9 + { 14274, 8, 13, 8, 0, -11 }, // U+04EA + { 14287, 8, 13, 8, 0, -11 }, // U+04EB + { 14300, 8, 13, 8, 0, -11 }, // U+04EC + { 14313, 8, 13, 8, 0, -11 }, // U+04ED + { 14326, 8, 13, 8, 0, -11 }, // U+04EE + { 14339, 8, 13, 8, 0, -11 }, // U+04EF + { 14352, 8, 13, 8, 0, -11 }, // U+04F0 + { 14365, 8, 13, 8, 0, -11 }, // U+04F1 + { 14378, 8, 13, 8, 0, -11 }, // U+04F2 + { 14391, 8, 13, 8, 0, -11 }, // U+04F3 + { 14404, 8, 13, 8, 0, -11 }, // U+04F4 + { 14417, 8, 13, 8, 0, -11 }, // U+04F5 + { 14430, 0, 0, 8, 0, 0 }, // U+04F6 (placeholder) + { 14430, 0, 0, 8, 0, 0 }, // U+04F7 (placeholder) + { 14430, 8, 13, 8, 0, -11 }, // U+04F8 + { 14443, 8, 13, 8, 0, -11 }, // U+04F9 + { 14456, 0, 0, 8, 0, 0 }, // U+04FA (placeholder) + { 14456, 0, 0, 8, 0, 0 }, // U+04FB (placeholder) + { 14456, 0, 0, 8, 0, 0 }, // U+04FC (placeholder) + { 14456, 0, 0, 8, 0, 0 }, // U+04FD (placeholder) + { 14456, 0, 0, 8, 0, 0 }, // U+04FE (placeholder) + { 14456, 0, 0, 8, 0, 0 }, // U+04FF (placeholder) +}; + +static const GFXfont MiscFixed8x13 PROGMEM = { + (uint8_t*)MiscFixed8x13Bitmaps, + (GFXglyph*)MiscFixed8x13Glyphs, + 0x0020, 0x04FF, + 13 // yAdvance +}; diff --git a/src/helpers/ui/MiscFixedRenderer.h b/src/helpers/ui/MiscFixedRenderer.h index 798aed7f..d4d741c5 100644 --- a/src/helpers/ui/MiscFixedRenderer.h +++ b/src/helpers/ui/MiscFixedRenderer.h @@ -5,14 +5,17 @@ #include "MiscFixedFont.h" #include "LemonIcons.h" -// Shared misc-fixed 6x9 text renderer for the monochrome OLED drivers. +// Shared misc-fixed text renderer for the monochrome drivers (the OLEDs, the +// e-ink panels and their simulator twins). // -// Both Adafruit_SH110X and Adafruit_SSD1306 derive from Adafruit_GFX and the -// font path is pure pixel plotting, so SH1106Display and SSD1306Display render -// off this one implementation instead of two copies of it. Everything here -// bypasses GFX's own print(): GFX walks bytes and would treat each byte of a -// multi-byte UTF-8 sequence as its own CP437 glyph, and it can't reach the -// custom UI icons either. +// Each of them draws through an Adafruit_GFX and the font path is pure pixel +// plotting, so they all render off this one implementation instead of a copy +// each. Everything here bypasses GFX's own print(): GFX walks bytes and would +// treat each byte of a multi-byte UTF-8 sequence as its own CP437 glyph, and +// it can't reach the custom UI icons either. +// +// Every function takes the font, MiscFixed (6x9) unless said otherwise; any +// misc-fixed size converted by tools/bdf2gfx.py works (MiscFixed8x13Font.h). // // Include only from a .cpp — the font tables are static const arrays, so a // header pulling this in would land a copy of them in every translation unit. @@ -20,18 +23,27 @@ // `y` is the TOP of the text row in every function below, matching the UI's // coordinate convention (GFX fonts would use the baseline). +// Every misc-fixed size has a 2px descent, so the ascent is the rest of the row. +static inline int miscFixedAscent(const GFXfont& f) { return f.yAdvance - 2; } +// A space's advance: the cell width, for the substitution box too. +static inline uint8_t miscFixedCellW(const GFXfont& f) { + return pgm_read_byte(&f.glyph[' ' - f.first].xAdvance); +} + // Pixel advance of one codepoint at text size sz. Unmapped codepoints get the -// font's own 6px cell, same as the substitution box drawn for them. -static inline uint8_t miscFixedXAdvance(uint32_t cp, int sz) { +// font's own cell, same as the substitution box drawn for them. +static inline uint8_t miscFixedXAdvance(uint32_t cp, int sz, const GFXfont& f = MiscFixed) { uint8_t xa; - if (cp < MiscFixed.first || cp > MiscFixed.last) xa = 6; - else xa = pgm_read_byte(&MiscFixedGlyphs[cp - MiscFixed.first].xAdvance); + if (cp < f.first || cp > f.last) xa = miscFixedCellW(f); + else xa = pgm_read_byte(&f.glyph[cp - f.first].xAdvance); return xa * sz; } // Draw one codepoint at (x, y); returns the x to continue from. static inline int16_t miscFixedDrawGlyph(Adafruit_GFX& gfx, int16_t x, int16_t y, - uint32_t cp, int sz, uint16_t color) { + uint32_t cp, int sz, uint16_t color, + const GFXfont& f = MiscFixed) { + const int asc = miscFixedAscent(f); for (uint8_t i = 0; i < lemonIconCount; i++) { if (pgm_read_dword(&lemonIconCPs[i]) == cp) { const GFXglyph* g = &lemonIconGlyphs[i]; @@ -40,14 +52,15 @@ static inline int16_t miscFixedDrawGlyph(Adafruit_GFX& gfx, int16_t x, int16_t y uint8_t xa = pgm_read_byte(&g->xAdvance); uint16_t bo = pgm_read_word(&g->bitmapOffset); uint8_t bits = 0, bit = 0; + // The UI icons keep a baseline 1px above the font's, so they sit 1px + // higher in their cell (+6 against the 6x9's ascent of 7). + const int base = asc - 1; for (uint8_t row = 0; row < h; row++) for (uint8_t col = 0; col < w; col++) { if (!bit) { bits = pgm_read_byte(&lemonIconBitmaps[bo++]); bit = 0x80; } if (bits & bit) { - // The UI icons keep a +6 baseline; the font glyphs below use +7 - // (misc-fixed's ascent), so the icons sit 1px higher in their cell. - if (sz == 1) gfx.drawPixel(x + xo + col, y + 6 + yo + row, color); - else gfx.fillRect(x + xo*sz + col*sz, y + 6*sz + yo*sz + row*sz, sz, sz, color); + if (sz == 1) gfx.drawPixel(x + xo + col, y + base + yo + row, color); + else gfx.fillRect(x + xo*sz + col*sz, y + base*sz + yo*sz + row*sz, sz, sz, color); } bit >>= 1; } @@ -55,15 +68,16 @@ static inline int16_t miscFixedDrawGlyph(Adafruit_GFX& gfx, int16_t x, int16_t y } } - if (cp < MiscFixed.first || cp > MiscFixed.last) { + const int cw = miscFixedCellW(f); + if (cp < f.first || cp > f.last) { // Substitution box for anything the font doesn't cover. Drawn at plain `y` - // (not y - 7*sz): `y` is already the ascent top, so the box stays inside + // (not y - asc*sz): `y` is already the ascent top, so the box stays inside // its own row instead of bleeding into the one above. - if (cp >= 0x20) gfx.fillRect(x + sz, y, 4*sz, 6*sz, color); - return x + 6 * sz; + if (cp >= 0x20) gfx.fillRect(x + sz, y, (cw - 2)*sz, (asc - 1)*sz, color); + return x + cw * sz; } - const GFXglyph* g = &MiscFixedGlyphs[cp - MiscFixed.first]; + const GFXglyph* g = &f.glyph[cp - f.first]; uint8_t w = pgm_read_byte(&g->width), h = pgm_read_byte(&g->height); int8_t xo = (int8_t)pgm_read_byte(&g->xOffset), yo = (int8_t)pgm_read_byte(&g->yOffset); uint8_t xa = pgm_read_byte(&g->xAdvance); @@ -71,10 +85,10 @@ static inline int16_t miscFixedDrawGlyph(Adafruit_GFX& gfx, int16_t x, int16_t y uint8_t bits = 0, bit = 0; for (uint8_t row = 0; row < h; row++) for (uint8_t col = 0; col < w; col++) { - if (!bit) { bits = pgm_read_byte(&MiscFixedBitmaps[bo++]); bit = 0x80; } + if (!bit) { bits = pgm_read_byte(&f.bitmap[bo++]); bit = 0x80; } if (bits & bit) { - if (sz == 1) gfx.drawPixel(x + xo + col, y + 7 + yo + row, color); - else gfx.fillRect(x + xo*sz + col*sz, y + 7*sz + yo*sz + row*sz, sz, sz, color); + if (sz == 1) gfx.drawPixel(x + xo + col, y + asc + yo + row, color); + else gfx.fillRect(x + xo*sz + col*sz, y + asc*sz + yo*sz + row*sz, sz, sz, color); } bit >>= 1; } @@ -83,21 +97,22 @@ static inline int16_t miscFixedDrawGlyph(Adafruit_GFX& gfx, int16_t x, int16_t y // Draw a UTF-8 string from the driver's current cursor, honouring '\n', and // leave the cursor where the text ended (same contract as GFX's print()). -static inline void miscFixedPrint(Adafruit_GFX& gfx, const char* str, int sz, uint16_t color) { +static inline void miscFixedPrint(Adafruit_GFX& gfx, const char* str, int sz, uint16_t color, + const GFXfont& f = MiscFixed) { int16_t cx = gfx.getCursorX(); int16_t cy = gfx.getCursorY(); const uint8_t* p = (const uint8_t*)str; while (*p) { uint32_t cp = DisplayDriver::decodeCodepoint(p); - if (cp == '\n') { cy += MiscFixed.yAdvance * sz; cx = 0; } - else { cx = miscFixedDrawGlyph(gfx, cx, cy, cp, sz, color); } + if (cp == '\n') { cy += f.yAdvance * sz; cx = 0; } + else { cx = miscFixedDrawGlyph(gfx, cx, cy, cp, sz, color, f); } } gfx.setCursor(cx, cy); } -static inline uint16_t miscFixedTextWidth(const char* str, int sz) { +static inline uint16_t miscFixedTextWidth(const char* str, int sz, const GFXfont& f = MiscFixed) { uint16_t width = 0; const uint8_t* p = (const uint8_t*)str; - while (*p) width += miscFixedXAdvance(DisplayDriver::decodeCodepoint(p), sz); + while (*p) width += miscFixedXAdvance(DisplayDriver::decodeCodepoint(p), sz, f); return width; }