From 6ff5c39c1bea6be6bdde3d1cdde65ff96f46b82e Mon Sep 17 00:00:00 2001 From: Phil Howard Date: Tue, 22 Feb 2022 13:45:11 +0000 Subject: [PATCH] Badger2040: Bugfixes, danger LUTs, examples --- drivers/uc8151/uc8151.cpp | 63 ++ drivers/uc8151/uc8151.hpp | 2 + libraries/badger2040/badger2040.cpp | 4 + libraries/badger2040/badger2040.hpp | 1 + libraries/badger2040/fonts.cpp | 833 ++++++++++++++++++ micropython/examples/badger2040/clock.py | 22 + micropython/examples/badger2040/launcher.py | 109 +++ micropython/modules/badger2040/badger2040.c | 3 +- micropython/modules/badger2040/badger2040.cpp | 35 +- 9 files changed, 1062 insertions(+), 10 deletions(-) create mode 100644 libraries/badger2040/fonts.cpp create mode 100644 micropython/examples/badger2040/clock.py create mode 100644 micropython/examples/badger2040/launcher.py diff --git a/drivers/uc8151/uc8151.cpp b/drivers/uc8151/uc8151.cpp index 722067f1..379bae78 100644 --- a/drivers/uc8151/uc8151.cpp +++ b/drivers/uc8151/uc8151.cpp @@ -239,6 +239,62 @@ namespace pimoroni { busy_wait(); } + + void UC8151::turbo_luts() { + // 0x3c, 0x00, 0x2b, 0x2b, 0x24, 0x1a, ???? + command(LUT_VCOM, { + 0x00, 0x02, 0x02, 0x03, 0x00, 0x02, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00 + }); + + command(LUT_WW, { + 0xa8, 0x02, 0x02, 0x03, 0x00, 0x02, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }); + + command(LUT_BW, { + 0xa8, 0x02, 0x02, 0x03, 0x00, 0x02, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }); + + command(LUT_WB, { + 0x54, 0x02, 0x02, 0x03, 0x00, 0x02, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }); + + command(LUT_BB, { + 0x54, 0x02, 0x02, 0x03, 0x00, 0x02, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }); + + command(PLL, { + HZ_200 + }); + + busy_wait(); + } + void UC8151::init() { // configure spi interface and pins spi_init(spi, 12'000'000); @@ -285,6 +341,9 @@ namespace pimoroni { case 2: faster_luts(); break; + case 3: + turbo_luts(); + break; default: break; } @@ -326,6 +385,10 @@ namespace pimoroni { busy_wait(); } + void UC8151::power_off() { + command(POF); + } + void UC8151::read(uint8_t reg, size_t len, uint8_t *data) { gpio_put(CS, 0); diff --git a/drivers/uc8151/uc8151.hpp b/drivers/uc8151/uc8151.hpp index f4de17a4..51fde865 100644 --- a/drivers/uc8151/uc8151.hpp +++ b/drivers/uc8151/uc8151.hpp @@ -182,10 +182,12 @@ namespace pimoroni { bool is_busy(); void reset(); void setup(uint8_t speed=0); + void power_off(); void default_luts(); void fast_luts(); void faster_luts(); + void turbo_luts(); void read(uint8_t reg, size_t len, uint8_t *data); void command(uint8_t reg, size_t len, const uint8_t *data); diff --git a/libraries/badger2040/badger2040.cpp b/libraries/badger2040/badger2040.cpp index 16045e74..e9300de0 100644 --- a/libraries/badger2040/badger2040.cpp +++ b/libraries/badger2040/badger2040.cpp @@ -174,6 +174,10 @@ namespace pimoroni { return uc8151.is_busy(); } + void Badger2040::power_off() { + uc8151.power_off(); + } + void Badger2040::update_speed(uint8_t speed) { uc8151.update_speed(speed); } diff --git a/libraries/badger2040/badger2040.hpp b/libraries/badger2040/badger2040.hpp index 1eb608d1..a2650d3c 100644 --- a/libraries/badger2040/badger2040.hpp +++ b/libraries/badger2040/badger2040.hpp @@ -33,6 +33,7 @@ namespace pimoroni { void halt(); void sleep(); bool is_busy(); + void power_off(); // state void led(uint8_t brightness); diff --git a/libraries/badger2040/fonts.cpp b/libraries/badger2040/fonts.cpp new file mode 100644 index 00000000..da034488 --- /dev/null +++ b/libraries/badger2040/fonts.cpp @@ -0,0 +1,833 @@ +#include "fonts.hpp" + +static const int8_t futural_vertices[2442] = { + 5, -12, 5, 2, -128, -128, 5, 7, 4, 8, 5, 9, 6, 8, 5, 7, 4, -12, 4, -5, -128, -128, 12, -12, 12, -5, 11, -16, 4, 16, -128, -128, 17, -16, 10, 16, -128, -128, 4, -3, 18, -3, -128, -128, 3, 3, 17, 3, 8, -16, 8, 13, -128, -128, 12, -16, 12, 13, -128, -128, 17, -9, 15, -11, 12, -12, 8, -12, 5, -11, 3, -9, 3, -7, 4, -5, 5, -4, 7, -3, 13, -1, 15, 0, 16, 1, 17, 3, 17, 6, 15, 8, 12, 9, 8, 9, 5, 8, 3, 6, 21, -12, 3, 9, -128, -128, 8, -12, 10, -10, 10, -8, 9, -6, 7, -5, 5, -5, 3, -7, 3, -9, 4, -11, 6, -12, 8, -12, 10, -11, 13, -10, 16, -10, 19, -11, 21, -12, -128, -128, 17, 2, 15, 3, 14, 5, 14, 7, 16, 9, 18, 9, 20, 8, 21, 6, 21, 4, 19, 2, 17, 2, 23, -3, 23, -4, 22, -5, 21, -5, 20, -4, 19, -2, 17, 3, 15, 6, 13, 8, 11, 9, 7, 9, 5, 8, 4, 7, 3, 5, 3, 3, 4, 1, 5, 0, 12, -4, 13, -5, 14, -7, 14, -9, 13, -11, 11, -12, 9, -11, 8, -9, 8, -7, 9, -4, 11, -1, 16, 6, 18, 8, 20, 9, 22, 9, 23, 8, 23, 7, 5, -10, 4, -11, 5, -12, 6, -11, 6, -9, 5, -7, 4, -6, 11, -16, 9, -14, 7, -11, 5, -7, 4, -2, 4, 2, 5, 7, 7, 11, 9, 14, 11, 16, 3, -16, 5, -14, 7, -11, 9, -7, 10, -2, 10, 2, 9, 7, 7, 11, 5, 14, 3, 16, 8, -6, 8, 6, -128, -128, 3, -3, 13, 3, -128, -128, 13, -3, 3, 3, 13, -9, 13, 9, -128, -128, 4, 0, 22, 0, 5, 5, 4, 6, 3, 5, 4, 4, 5, 5, 5, 7, 3, 9, 4, 0, 22, 0, 4, 4, 3, 5, 4, 6, 5, 5, 4, 4, 20, -16, 2, 16, 9, -12, 6, -11, 4, -8, 3, -3, 3, 0, 4, 5, 6, 8, 9, 9, 11, 9, 14, 8, 16, 5, 17, 0, 17, -3, 16, -8, 14, -11, 11, -12, 9, -12, 6, -8, 8, -9, 11, -12, 11, 9, 4, -7, 4, -8, 5, -10, 6, -11, 8, -12, 12, -12, 14, -11, 15, -10, 16, -8, 16, -6, 15, -4, 13, -1, 3, 9, 17, 9, 5, -12, 16, -12, 10, -4, 13, -4, 15, -3, 16, -2, 17, 1, 17, 3, 16, 6, 14, 8, 11, 9, 8, 9, 5, 8, 4, 7, 3, 5, 13, -12, 3, 2, 18, 2, -128, -128, 13, -12, 13, 9, 15, -12, 5, -12, 4, -3, 5, -4, 8, -5, 11, -5, 14, -4, 16, -2, 17, 1, 17, 3, 16, 6, 14, 8, 11, 9, 8, 9, 5, 8, 4, 7, 3, 5, 16, -9, 15, -11, 12, -12, 10, -12, 7, -11, 5, -8, 4, -3, 4, 2, 5, 6, 7, 8, 10, 9, 11, 9, 14, 8, 16, 6, 17, 3, 17, 2, 16, -1, 14, -3, 11, -4, 10, -4, 7, -3, 5, -1, 4, 2, 17, -12, 7, 9, -128, -128, 3, -12, 17, -12, 8, -12, 5, -11, 4, -9, 4, -7, 5, -5, 7, -4, 11, -3, 14, -2, 16, 0, 17, 2, 17, 5, 16, 7, 15, 8, 12, 9, 8, 9, 5, 8, 4, 7, 3, 5, 3, 2, 4, 0, 6, -2, 9, -3, 13, -4, 15, -5, 16, -7, 16, -9, 15, -11, 12, -12, 8, -12, 16, -5, 15, -2, 13, 0, 10, 1, 9, 1, 6, 0, 4, -2, 3, -5, 3, -6, 4, -9, 6, -11, 9, -12, 10, -12, 13, -11, 15, -9, 16, -5, 16, 0, 15, 5, 13, 8, 10, 9, 8, 9, 5, 8, 4, 6, 4, -3, 3, -2, 4, -1, 5, -2, 4, -3, -128, -128, 4, 4, 3, 5, 4, 6, 5, 5, 4, 4, 4, -3, 3, -2, 4, -1, 5, -2, 4, -3, -128, -128, 5, 5, 4, 6, 3, 5, 4, 4, 5, 5, 5, 7, 3, 9, 20, -9, 4, 0, 20, 9, 4, -3, 22, -3, -128, -128, 4, 3, 22, 3, 4, -9, 20, 0, 4, 9, 3, -7, 3, -8, 4, -10, 5, -11, 7, -12, 11, -12, 13, -11, 14, -10, 15, -8, 15, -6, 14, -4, 13, -3, 9, -1, 9, 2, -128, -128, 9, 7, 8, 8, 9, 9, 10, 8, 9, 7, 18, -4, 17, -6, 15, -7, 12, -7, 10, -6, 9, -5, 8, -2, 8, 1, 9, 3, 11, 4, 14, 4, 16, 3, 17, 1, -128, -128, 12, -7, 10, -5, 9, -2, 9, 1, 10, 3, 11, 4, -128, -128, 18, -7, 17, 1, 17, 3, 19, 4, 21, 4, 23, 2, 24, -1, 24, -3, 23, -6, 22, -8, 20, -10, 18, -11, 15, -12, 12, -12, 9, -11, 7, -10, 5, -8, 4, -6, 3, -3, 3, 0, 4, 3, 5, 5, 7, 7, 9, 8, 12, 9, 15, 9, 18, 8, 20, 7, 21, 6, -128, -128, 19, -7, 18, 1, 18, 3, 19, 4, 9, -12, 1, 9, -128, -128, 9, -12, 17, 9, -128, -128, 4, 2, 14, 2, 4, -12, 4, 9, -128, -128, 4, -12, 13, -12, 16, -11, 17, -10, 18, -8, 18, -6, 17, -4, 16, -3, 13, -2, -128, -128, 4, -2, 13, -2, 16, -1, 17, 0, 18, 2, 18, 5, 17, 7, 16, 8, 13, 9, 4, 9, 18, -7, 17, -9, 15, -11, 13, -12, 9, -12, 7, -11, 5, -9, 4, -7, 3, -4, 3, 1, 4, 4, 5, 6, 7, 8, 9, 9, 13, 9, 15, 8, 17, 6, 18, 4, 4, -12, 4, 9, -128, -128, 4, -12, 11, -12, 14, -11, 16, -9, 17, -7, 18, -4, 18, 1, 17, 4, 16, 6, 14, 8, 11, 9, 4, 9, 4, -12, 4, 9, -128, -128, 4, -12, 17, -12, -128, -128, 4, -2, 12, -2, -128, -128, 4, 9, 17, 9, 4, -12, 4, 9, -128, -128, 4, -12, 17, -12, -128, -128, 4, -2, 12, -2, 18, -7, 17, -9, 15, -11, 13, -12, 9, -12, 7, -11, 5, -9, 4, -7, 3, -4, 3, 1, 4, 4, 5, 6, 7, 8, 9, 9, 13, 9, 15, 8, 17, 6, 18, 4, 18, 1, -128, -128, 13, 1, 18, 1, 4, -12, 4, 9, -128, -128, 18, -12, 18, 9, -128, -128, 4, -2, 18, -2, 4, -12, 4, 9, 12, -12, 12, 4, 11, 7, 10, 8, 8, 9, 6, 9, 4, 8, 3, 7, 2, 4, 2, 2, 4, -12, 4, 9, -128, -128, 18, -12, 4, 2, -128, -128, 9, -3, 18, 9, 4, -12, 4, 9, -128, -128, 4, 9, 16, 9, 4, -12, 4, 9, -128, -128, 4, -12, 12, 9, -128, -128, 20, -12, 12, 9, -128, -128, 20, -12, 20, 9, 4, -12, 4, 9, -128, -128, 4, -12, 18, 9, -128, -128, 18, -12, 18, 9, 9, -12, 7, -11, 5, -9, 4, -7, 3, -4, 3, 1, 4, 4, 5, 6, 7, 8, 9, 9, 13, 9, 15, 8, 17, 6, 18, 4, 19, 1, 19, -4, 18, -7, 17, -9, 15, -11, 13, -12, 9, -12, 4, -12, 4, 9, -128, -128, 4, -12, 13, -12, 16, -11, 17, -10, 18, -8, 18, -5, 17, -3, 16, -2, 13, -1, 4, -1, 9, -12, 7, -11, 5, -9, 4, -7, 3, -4, 3, 1, 4, 4, 5, 6, 7, 8, 9, 9, 13, 9, 15, 8, 17, 6, 18, 4, 19, 1, 19, -4, 18, -7, 17, -9, 15, -11, 13, -12, 9, -12, -128, -128, 12, 5, 18, 11, 4, -12, 4, 9, -128, -128, 4, -12, 13, -12, 16, -11, 17, -10, 18, -8, 18, -6, 17, -4, 16, -3, 13, -2, 4, -2, -128, -128, 11, -2, 18, 9, 17, -9, 15, -11, 12, -12, 8, -12, 5, -11, 3, -9, 3, -7, 4, -5, 5, -4, 7, -3, 13, -1, 15, 0, 16, 1, 17, 3, 17, 6, 15, 8, 12, 9, 8, 9, 5, 8, 3, 6, 8, -12, 8, 9, -128, -128, 1, -12, 15, -12, 4, -12, 4, 3, 5, 6, 7, 8, 10, 9, 12, 9, 15, 8, 17, 6, 18, 3, 18, -12, 1, -12, 9, 9, -128, -128, 17, -12, 9, 9, 2, -12, 7, 9, -128, -128, 12, -12, 7, 9, -128, -128, 12, -12, 17, 9, -128, -128, 22, -12, 17, 9, 3, -12, 17, 9, -128, -128, 17, -12, 3, 9, 1, -12, 9, -2, 9, 9, -128, -128, 17, -12, 9, -2, 17, -12, 3, 9, -128, -128, 3, -12, 17, -12, -128, -128, 3, 9, 17, 9, 4, -16, 4, 16, -128, -128, 5, -16, 5, 16, -128, -128, 4, -16, 11, -16, -128, -128, 4, 16, 11, 16, 0, -12, 14, 12, 9, -16, 9, 16, -128, -128, 10, -16, 10, 16, -128, -128, 3, -16, 10, -16, -128, -128, 3, 16, 10, 16, 8, -14, 0, 0, -128, -128, 8, -14, 16, 0, 0, 16, 18, 16, 5, -7, 3, -5, 3, -3, 4, -2, 5, -3, 4, -4, 3, -3, 15, -5, 15, 9, -128, -128, 15, -2, 13, -4, 11, -5, 8, -5, 6, -4, 4, -2, 3, 1, 3, 3, 4, 6, 6, 8, 8, 9, 11, 9, 13, 8, 15, 6, 4, -12, 4, 9, -128, -128, 4, -2, 6, -4, 8, -5, 11, -5, 13, -4, 15, -2, 16, 1, 16, 3, 15, 6, 13, 8, 11, 9, 8, 9, 6, 8, 4, 6, 15, -2, 13, -4, 11, -5, 8, -5, 6, -4, 4, -2, 3, 1, 3, 3, 4, 6, 6, 8, 8, 9, 11, 9, 13, 8, 15, 6, 15, -12, 15, 9, -128, -128, 15, -2, 13, -4, 11, -5, 8, -5, 6, -4, 4, -2, 3, 1, 3, 3, 4, 6, 6, 8, 8, 9, 11, 9, 13, 8, 15, 6, 3, 1, 15, 1, 15, -1, 14, -3, 13, -4, 11, -5, 8, -5, 6, -4, 4, -2, 3, 1, 3, 3, 4, 6, 6, 8, 8, 9, 11, 9, 13, 8, 15, 6, 10, -12, 8, -12, 6, -11, 5, -8, 5, 9, -128, -128, 2, -5, 9, -5, 15, -5, 15, 11, 14, 14, 13, 15, 11, 16, 8, 16, 6, 15, -128, -128, 15, -2, 13, -4, 11, -5, 8, -5, 6, -4, 4, -2, 3, 1, 3, 3, 4, 6, 6, 8, 8, 9, 11, 9, 13, 8, 15, 6, 4, -12, 4, 9, -128, -128, 4, -1, 7, -4, 9, -5, 12, -5, 14, -4, 15, -1, 15, 9, 3, -12, 4, -11, 5, -12, 4, -13, 3, -12, -128, -128, 4, -5, 4, 9, 5, -12, 6, -11, 7, -12, 6, -13, 5, -12, -128, -128, 6, -5, 6, 12, 5, 15, 3, 16, 1, 16, 4, -12, 4, 9, -128, -128, 14, -5, 4, 5, -128, -128, 8, 1, 15, 9, 4, -12, 4, 9, 4, -5, 4, 9, -128, -128, 4, -1, 7, -4, 9, -5, 12, -5, 14, -4, 15, -1, 15, 9, -128, -128, 15, -1, 18, -4, 20, -5, 23, -5, 25, -4, 26, -1, 26, 9, 4, -5, 4, 9, -128, -128, 4, -1, 7, -4, 9, -5, 12, -5, 14, -4, 15, -1, 15, 9, 8, -5, 6, -4, 4, -2, 3, 1, 3, 3, 4, 6, 6, 8, 8, 9, 11, 9, 13, 8, 15, 6, 16, 3, 16, 1, 15, -2, 13, -4, 11, -5, 8, -5, 4, -5, 4, 16, -128, -128, 4, -2, 6, -4, 8, -5, 11, -5, 13, -4, 15, -2, 16, 1, 16, 3, 15, 6, 13, 8, 11, 9, 8, 9, 6, 8, 4, 6, 15, -5, 15, 16, -128, -128, 15, -2, 13, -4, 11, -5, 8, -5, 6, -4, 4, -2, 3, 1, 3, 3, 4, 6, 6, 8, 8, 9, 11, 9, 13, 8, 15, 6, 4, -5, 4, 9, -128, -128, 4, 1, 5, -2, 7, -4, 9, -5, 12, -5, 14, -2, 13, -4, 10, -5, 7, -5, 4, -4, 3, -2, 4, 0, 6, 1, 11, 2, 13, 3, 14, 5, 14, 6, 13, 8, 10, 9, 7, 9, 4, 8, 3, 6, 5, -12, 5, 5, 6, 8, 8, 9, 10, 9, -128, -128, 2, -5, 9, -5, 4, -5, 4, 5, 5, 8, 7, 9, 10, 9, 12, 8, 15, 5, -128, -128, 15, -5, 15, 9, 2, -5, 8, 9, -128, -128, 14, -5, 8, 9, 3, -5, 7, 9, -128, -128, 11, -5, 7, 9, -128, -128, 11, -5, 15, 9, -128, -128, 19, -5, 15, 9, 3, -5, 14, 9, -128, -128, 14, -5, 3, 9, 2, -5, 8, 9, -128, -128, 14, -5, 8, 9, 6, 13, 4, 15, 2, 16, 1, 16, 14, -5, 3, 9, -128, -128, 3, -5, 14, -5, -128, -128, 3, 9, 14, 9, 9, -16, 7, -15, 6, -14, 5, -12, 5, -10, 6, -8, 7, -7, 8, -5, 8, -3, 6, -1, -128, -128, 7, -15, 6, -13, 6, -11, 7, -9, 8, -8, 9, -6, 9, -4, 8, -2, 4, 0, 8, 2, 9, 4, 9, 6, 8, 8, 7, 9, 6, 11, 6, 13, 7, 15, -128, -128, 6, 1, 8, 3, 8, 5, 7, 7, 6, 8, 5, 10, 5, 12, 6, 14, 7, 15, 9, 16, 4, -16, 4, 16, 5, -16, 7, -15, 8, -14, 9, -12, 9, -10, 8, -8, 7, -7, 6, -5, 6, -3, 8, -1, -128, -128, 7, -15, 8, -13, 8, -11, 7, -9, 6, -8, 5, -6, 5, -4, 6, -2, 10, 0, 6, 2, 5, 4, 5, 6, 6, 8, 7, 9, 8, 11, 8, 13, 7, 15, -128, -128, 8, 1, 6, 3, 6, 5, 7, 7, 8, 8, 9, 10, 9, 12, 8, 14, 7, 15, 5, 16, 3, 3, 3, 1, 4, -2, 6, -3, 8, -3, 10, -2, 14, 1, 16, 2, 18, 2, 20, 1, 21, -1, -128, -128, 3, 1, 4, -1, 6, -2, 8, -2, 10, -1, 14, 2, 16, 3, 18, 3, 20, 2, 21, -1, 21, -3, 0, -12, 0, 9, 1, 9, 1, -12, 2, -12, 2, 9, 3, 9, 3, -12, 4, -12, 4, 9, 5, 9, 5, -12, 6, -12, 6, 9, 7, 9, 7, -12, 8, -12, 8, 9, 9, 9, 9, -12, 10, -12, 10, 9, 11, 9, 11, -12, 12, -12, 12, 9, 13, 9, 13, -12, 14, -12, 14, 9, 15, 9, 15, -12, 16, -12, 16, 9 +}; + +const hershey_font_t futural { + .chars = { + {.width=16, .vertex_count=0, .vertices=&futural_vertices[0]}, + {.width=10, .vertex_count=8, .vertices=&futural_vertices[0]}, + {.width=16, .vertex_count=5, .vertices=&futural_vertices[16]}, + {.width=21, .vertex_count=11, .vertices=&futural_vertices[26]}, + {.width=20, .vertex_count=26, .vertices=&futural_vertices[48]}, + {.width=24, .vertex_count=31, .vertices=&futural_vertices[100]}, + {.width=26, .vertex_count=34, .vertices=&futural_vertices[162]}, + {.width=10, .vertex_count=7, .vertices=&futural_vertices[230]}, + {.width=14, .vertex_count=10, .vertices=&futural_vertices[244]}, + {.width=14, .vertex_count=10, .vertices=&futural_vertices[264]}, + {.width=16, .vertex_count=8, .vertices=&futural_vertices[284]}, + {.width=26, .vertex_count=5, .vertices=&futural_vertices[300]}, + {.width=8, .vertex_count=7, .vertices=&futural_vertices[310]}, + {.width=26, .vertex_count=2, .vertices=&futural_vertices[324]}, + {.width=8, .vertex_count=5, .vertices=&futural_vertices[328]}, + {.width=22, .vertex_count=2, .vertices=&futural_vertices[338]}, + {.width=20, .vertex_count=17, .vertices=&futural_vertices[342]}, + {.width=20, .vertex_count=4, .vertices=&futural_vertices[376]}, + {.width=20, .vertex_count=14, .vertices=&futural_vertices[384]}, + {.width=20, .vertex_count=15, .vertices=&futural_vertices[412]}, + {.width=20, .vertex_count=6, .vertices=&futural_vertices[442]}, + {.width=20, .vertex_count=17, .vertices=&futural_vertices[454]}, + {.width=20, .vertex_count=23, .vertices=&futural_vertices[488]}, + {.width=20, .vertex_count=5, .vertices=&futural_vertices[534]}, + {.width=20, .vertex_count=29, .vertices=&futural_vertices[544]}, + {.width=20, .vertex_count=23, .vertices=&futural_vertices[602]}, + {.width=8, .vertex_count=11, .vertices=&futural_vertices[648]}, + {.width=8, .vertex_count=13, .vertices=&futural_vertices[670]}, + {.width=24, .vertex_count=3, .vertices=&futural_vertices[696]}, + {.width=26, .vertex_count=5, .vertices=&futural_vertices[702]}, + {.width=24, .vertex_count=3, .vertices=&futural_vertices[712]}, + {.width=18, .vertex_count=20, .vertices=&futural_vertices[718]}, + {.width=27, .vertex_count=55, .vertices=&futural_vertices[758]}, + {.width=18, .vertex_count=8, .vertices=&futural_vertices[868]}, + {.width=21, .vertex_count=23, .vertices=&futural_vertices[884]}, + {.width=21, .vertex_count=18, .vertices=&futural_vertices[930]}, + {.width=21, .vertex_count=15, .vertices=&futural_vertices[966]}, + {.width=19, .vertex_count=11, .vertices=&futural_vertices[996]}, + {.width=18, .vertex_count=8, .vertices=&futural_vertices[1018]}, + {.width=21, .vertex_count=22, .vertices=&futural_vertices[1034]}, + {.width=22, .vertex_count=8, .vertices=&futural_vertices[1078]}, + {.width=8, .vertex_count=2, .vertices=&futural_vertices[1094]}, + {.width=16, .vertex_count=10, .vertices=&futural_vertices[1098]}, + {.width=21, .vertex_count=8, .vertices=&futural_vertices[1118]}, + {.width=17, .vertex_count=5, .vertices=&futural_vertices[1134]}, + {.width=24, .vertex_count=11, .vertices=&futural_vertices[1144]}, + {.width=22, .vertex_count=8, .vertices=&futural_vertices[1166]}, + {.width=22, .vertex_count=21, .vertices=&futural_vertices[1182]}, + {.width=21, .vertex_count=13, .vertices=&futural_vertices[1224]}, + {.width=22, .vertex_count=24, .vertices=&futural_vertices[1250]}, + {.width=21, .vertex_count=16, .vertices=&futural_vertices[1298]}, + {.width=20, .vertex_count=20, .vertices=&futural_vertices[1330]}, + {.width=16, .vertex_count=5, .vertices=&futural_vertices[1370]}, + {.width=22, .vertex_count=10, .vertices=&futural_vertices[1380]}, + {.width=18, .vertex_count=5, .vertices=&futural_vertices[1400]}, + {.width=24, .vertex_count=11, .vertices=&futural_vertices[1410]}, + {.width=20, .vertex_count=5, .vertices=&futural_vertices[1432]}, + {.width=18, .vertex_count=6, .vertices=&futural_vertices[1442]}, + {.width=20, .vertex_count=8, .vertices=&futural_vertices[1454]}, + {.width=14, .vertex_count=11, .vertices=&futural_vertices[1470]}, + {.width=14, .vertex_count=2, .vertices=&futural_vertices[1492]}, + {.width=14, .vertex_count=11, .vertices=&futural_vertices[1496]}, + {.width=16, .vertex_count=5, .vertices=&futural_vertices[1518]}, + {.width=18, .vertex_count=2, .vertices=&futural_vertices[1528]}, + {.width=8, .vertex_count=7, .vertices=&futural_vertices[1532]}, + {.width=19, .vertex_count=17, .vertices=&futural_vertices[1546]}, + {.width=19, .vertex_count=17, .vertices=&futural_vertices[1580]}, + {.width=18, .vertex_count=14, .vertices=&futural_vertices[1614]}, + {.width=19, .vertex_count=17, .vertices=&futural_vertices[1642]}, + {.width=18, .vertex_count=17, .vertices=&futural_vertices[1676]}, + {.width=12, .vertex_count=8, .vertices=&futural_vertices[1710]}, + {.width=19, .vertex_count=22, .vertices=&futural_vertices[1726]}, + {.width=19, .vertex_count=10, .vertices=&futural_vertices[1770]}, + {.width=8, .vertex_count=8, .vertices=&futural_vertices[1790]}, + {.width=10, .vertex_count=11, .vertices=&futural_vertices[1806]}, + {.width=17, .vertex_count=8, .vertices=&futural_vertices[1828]}, + {.width=8, .vertex_count=2, .vertices=&futural_vertices[1844]}, + {.width=30, .vertex_count=18, .vertices=&futural_vertices[1848]}, + {.width=19, .vertex_count=10, .vertices=&futural_vertices[1884]}, + {.width=19, .vertex_count=17, .vertices=&futural_vertices[1904]}, + {.width=19, .vertex_count=17, .vertices=&futural_vertices[1938]}, + {.width=19, .vertex_count=17, .vertices=&futural_vertices[1972]}, + {.width=13, .vertex_count=8, .vertices=&futural_vertices[2006]}, + {.width=17, .vertex_count=17, .vertices=&futural_vertices[2022]}, + {.width=12, .vertex_count=8, .vertices=&futural_vertices[2056]}, + {.width=19, .vertex_count=10, .vertices=&futural_vertices[2072]}, + {.width=16, .vertex_count=5, .vertices=&futural_vertices[2092]}, + {.width=22, .vertex_count=11, .vertices=&futural_vertices[2102]}, + {.width=17, .vertex_count=5, .vertices=&futural_vertices[2124]}, + {.width=16, .vertex_count=9, .vertices=&futural_vertices[2134]}, + {.width=17, .vertex_count=8, .vertices=&futural_vertices[2152]}, + {.width=14, .vertex_count=39, .vertices=&futural_vertices[2168]}, + {.width=8, .vertex_count=2, .vertices=&futural_vertices[2246]}, + {.width=14, .vertex_count=39, .vertices=&futural_vertices[2250]}, + {.width=24, .vertex_count=23, .vertices=&futural_vertices[2328]} + } +}; + +static const int8_t futuram_vertices[4802] = { + 5, -12, 5, 2, 6, 2, -128, -128, 5, -12, 6, -12, 6, 2, -128, -128, 5, 6, 4, 7, 4, 8, 5, 9, 6, 9, 7, 8, 7, 7, 6, 6, 5, 6, -128, -128, 5, 7, 5, 8, 6, 8, 6, 7, 5, 7, 5, -12, 4, -11, 4, -5, -128, -128, 5, -11, 4, -5, -128, -128, 5, -12, 6, -11, 4, -5, -128, -128, 14, -12, 13, -11, 13, -5, -128, -128, 14, -11, 13, -5, -128, -128, 14, -12, 15, -11, 13, -5, 11, -16, 4, 16, -128, -128, 17, -16, 10, 16, -128, -128, 4, -3, 18, -3, -128, -128, 3, 3, 17, 3, 9, -16, 9, 13, 10, 13, -128, -128, 9, -16, 10, -16, 10, 13, -128, -128, 14, -9, 16, -9, 14, -11, 11, -12, 8, -12, 5, -11, 3, -9, 3, -7, 4, -5, 5, -4, 13, 0, 14, 1, 15, 3, 15, 5, 14, 7, 11, 8, 8, 8, 6, 7, 5, 6, -128, -128, 14, -9, 13, -10, 11, -11, 8, -11, 5, -10, 4, -9, 4, -7, 5, -5, 13, -1, 15, 1, 16, 3, 16, 5, 15, 7, 14, 8, 11, 9, 8, 9, 5, 8, 3, 6, 5, 6, -128, -128, 15, 6, 12, 8, 21, -12, 3, 9, -128, -128, 8, -12, 10, -10, 10, -8, 9, -6, 7, -5, 5, -5, 3, -7, 3, -9, 4, -11, 6, -12, 8, -12, 10, -11, 13, -10, 16, -10, 19, -11, 21, -12, -128, -128, 17, 2, 15, 3, 14, 5, 14, 7, 16, 9, 18, 9, 20, 8, 21, 6, 21, 4, 19, 2, 17, 2, 21, -4, 20, -3, 21, -2, 22, -3, 22, -4, 21, -5, 20, -5, 19, -4, 18, -2, 16, 3, 14, 6, 12, 8, 10, 9, 7, 9, 4, 8, 3, 6, 3, 3, 4, 1, 10, -3, 12, -5, 13, -7, 13, -9, 12, -11, 10, -12, 8, -11, 7, -9, 7, -7, 8, -4, 10, -1, 15, 6, 17, 8, 20, 9, 21, 9, 22, 8, 22, 7, -128, -128, 7, 9, 5, 8, 4, 6, 4, 3, 5, 1, 7, -1, -128, -128, 7, -7, 8, -5, 16, 6, 18, 8, 20, 9, 5, -12, 4, -11, 4, -5, -128, -128, 5, -11, 4, -5, -128, -128, 5, -12, 6, -11, 4, -5, 11, -16, 9, -14, 7, -11, 5, -7, 4, -2, 4, 2, 5, 7, 7, 11, 9, 14, 11, 16, -128, -128, 9, -14, 7, -10, 6, -7, 5, -2, 5, 2, 6, 7, 7, 10, 9, 14, 3, -16, 5, -14, 7, -11, 9, -7, 10, -2, 10, 2, 9, 7, 7, 11, 5, 14, 3, 16, -128, -128, 5, -14, 7, -10, 8, -7, 9, -2, 9, 2, 8, 7, 7, 10, 5, 14, 8, -12, 7, -11, 9, -1, 8, 0, -128, -128, 8, -12, 8, 0, -128, -128, 8, -12, 9, -11, 7, -1, 8, 0, -128, -128, 3, -9, 4, -9, 12, -3, 13, -3, -128, -128, 3, -9, 13, -3, -128, -128, 3, -9, 3, -8, 13, -4, 13, -3, -128, -128, 13, -9, 12, -9, 4, -3, 3, -3, -128, -128, 13, -9, 3, -3, -128, -128, 13, -9, 13, -8, 3, -4, 3, -3, 12, -9, 12, 8, 13, 8, -128, -128, 12, -9, 13, -9, 13, 8, -128, -128, 4, -1, 21, -1, 21, 0, -128, -128, 4, -1, 4, 0, 21, 0, 7, 8, 6, 9, 5, 9, 4, 8, 4, 7, 5, 6, 6, 6, 7, 7, 7, 10, 6, 12, 4, 13, -128, -128, 5, 7, 5, 8, 6, 8, 6, 7, 5, 7, -128, -128, 6, 9, 7, 10, -128, -128, 7, 8, 6, 12, 4, 0, 22, 0, 5, 6, 4, 7, 4, 8, 5, 9, 6, 9, 7, 8, 7, 7, 6, 6, 5, 6, -128, -128, 5, 7, 5, 8, 6, 8, 6, 7, 5, 7, 20, -16, 2, 16, 3, 16, -128, -128, 20, -16, 21, -16, 3, 16, 9, -12, 6, -11, 4, -8, 3, -3, 3, 0, 4, 5, 6, 8, 9, 9, 11, 9, 14, 8, 16, 5, 17, 0, 17, -3, 16, -8, 14, -11, 11, -12, 9, -12, -128, -128, 7, -11, 5, -8, 4, -3, 4, 0, 5, 5, 7, 8, -128, -128, 6, 7, 9, 8, 11, 8, 14, 7, -128, -128, 13, 8, 15, 5, 16, 0, 16, -3, 15, -8, 13, -11, -128, -128, 14, -10, 11, -11, 9, -11, 6, -10, 6, -8, 8, -9, 11, -12, 11, 9, -128, -128, 6, -8, 6, -7, 8, -8, 10, -10, 10, 9, 11, 9, 4, -7, 4, -8, 5, -10, 6, -11, 8, -12, 12, -12, 14, -11, 15, -10, 16, -8, 16, -6, 15, -4, 13, -1, 4, 9, -128, -128, 4, -7, 5, -7, 5, -8, 6, -10, 8, -11, 12, -11, 14, -10, 15, -8, 15, -6, 14, -4, 12, -1, 3, 9, -128, -128, 4, 8, 17, 8, 17, 9, -128, -128, 3, 9, 17, 9, 5, -12, 16, -12, 9, -3, -128, -128, 5, -12, 5, -11, 15, -11, -128, -128, 15, -12, 8, -3, -128, -128, 9, -4, 11, -4, 14, -3, 16, -1, 17, 2, 17, 3, 16, 6, 14, 8, 11, 9, 8, 9, 5, 8, 4, 7, 3, 5, 4, 5, -128, -128, 8, -3, 11, -3, 14, -2, 16, 1, -128, -128, 12, -3, 15, -1, 16, 2, 16, 3, 15, 6, 12, 8, -128, -128, 16, 4, 14, 7, 11, 8, 8, 8, 5, 7, 4, 5, -128, -128, 7, 8, 4, 6, 13, -9, 13, 9, 14, 9, -128, -128, 14, -12, 14, 9, -128, -128, 14, -12, 3, 4, 18, 4, -128, -128, 13, -9, 4, 4, -128, -128, 4, 3, 18, 3, 18, 4, 5, -12, 4, -3, -128, -128, 6, -11, 5, -4, -128, -128, 5, -12, 15, -12, 15, -11, -128, -128, 6, -11, 15, -11, -128, -128, 5, -4, 8, -5, 11, -5, 14, -4, 16, -2, 17, 1, 17, 3, 16, 6, 14, 8, 11, 9, 8, 9, 5, 8, 4, 7, 3, 5, 4, 5, -128, -128, 4, -3, 5, -3, 7, -4, 11, -4, 14, -3, 16, 0, -128, -128, 12, -4, 15, -2, 16, 1, 16, 3, 15, 6, 12, 8, -128, -128, 16, 4, 14, 7, 11, 8, 8, 8, 5, 7, 4, 5, -128, -128, 7, 8, 4, 6, 14, -11, 15, -9, 16, -9, 15, -11, 12, -12, 10, -12, 7, -11, 5, -8, 4, -3, 4, 2, 5, 6, 7, 8, 10, 9, 11, 9, 14, 8, 16, 6, 17, 3, 17, 2, 16, -1, 14, -3, 11, -4, 10, -4, 7, -3, 5, -1, -128, -128, 15, -10, 12, -11, 10, -11, 7, -10, -128, -128, 8, -11, 6, -8, 5, -3, 5, 2, 6, 6, 9, 8, -128, -128, 5, 4, 7, 7, 10, 8, 11, 8, 14, 7, 16, 4, -128, -128, 12, 8, 15, 6, 16, 3, 16, 2, 15, -1, 12, -3, -128, -128, 16, 1, 14, -2, 11, -3, 10, -3, 7, -2, 5, 1, -128, -128, 9, -3, 6, -1, 5, 2, 3, -12, 17, -12, 7, 9, -128, -128, 3, -12, 3, -11, 16, -11, -128, -128, 16, -12, 6, 9, 7, 9, 8, -12, 5, -11, 4, -9, 4, -7, 5, -5, 6, -4, 8, -3, 12, -2, 14, -1, 15, 0, 16, 2, 16, 5, 15, 7, 12, 8, 8, 8, 5, 7, 4, 5, 4, 2, 5, 0, 6, -1, 8, -2, 12, -3, 14, -4, 15, -5, 16, -7, 16, -9, 15, -11, 12, -12, 8, -12, -128, -128, 6, -11, 5, -9, 5, -7, 6, -5, 8, -4, 12, -3, 14, -2, 16, 0, 17, 2, 17, 5, 16, 7, 15, 8, 12, 9, 8, 9, 5, 8, 4, 7, 3, 5, 3, 2, 4, 0, 6, -2, 8, -3, 12, -4, 14, -5, 15, -7, 15, -9, 14, -11, -128, -128, 15, -10, 12, -11, 8, -11, 5, -10, -128, -128, 4, 6, 7, 8, -128, -128, 13, 8, 16, 6, 15, -2, 13, 0, 10, 1, 9, 1, 6, 0, 4, -2, 3, -5, 3, -6, 4, -9, 6, -11, 9, -12, 10, -12, 13, -11, 15, -9, 16, -5, 16, 0, 15, 5, 13, 8, 10, 9, 8, 9, 5, 8, 4, 6, 5, 6, 6, 8, -128, -128, 15, -5, 14, -2, 11, 0, -128, -128, 15, -4, 13, -1, 10, 0, 9, 0, 6, -1, 4, -4, -128, -128, 8, 0, 5, -2, 4, -5, 4, -6, 5, -9, 8, -11, -128, -128, 4, -7, 6, -10, 9, -11, 10, -11, 13, -10, 15, -7, -128, -128, 11, -11, 14, -9, 15, -5, 15, 0, 14, 5, 12, 8, -128, -128, 13, 7, 10, 8, 8, 8, 5, 7, 5, -5, 4, -4, 4, -3, 5, -2, 6, -2, 7, -3, 7, -4, 6, -5, 5, -5, -128, -128, 5, -4, 5, -3, 6, -3, 6, -4, 5, -4, -128, -128, 5, 6, 4, 7, 4, 8, 5, 9, 6, 9, 7, 8, 7, 7, 6, 6, 5, 6, -128, -128, 5, 7, 5, 8, 6, 8, 6, 7, 5, 7, 5, -5, 4, -4, 4, -3, 5, -2, 6, -2, 7, -3, 7, -4, 6, -5, 5, -5, -128, -128, 5, -4, 5, -3, 6, -3, 6, -4, 5, -4, -128, -128, 7, 8, 6, 9, 5, 9, 4, 8, 4, 7, 5, 6, 6, 6, 7, 7, 7, 10, 6, 12, 4, 13, -128, -128, 5, 7, 5, 8, 6, 8, 6, 7, 5, 7, -128, -128, 6, 9, 7, 10, -128, -128, 7, 8, 6, 12, 20, -9, 4, 0, 20, 9, 4, -5, 21, -5, 21, -4, -128, -128, 4, -5, 4, -4, 21, -4, -128, -128, 4, 3, 21, 3, 21, 4, -128, -128, 4, 3, 4, 4, 21, 4, 4, -9, 20, 0, 4, 9, 3, -7, 3, -8, 4, -10, 5, -11, 8, -12, 11, -12, 14, -11, 15, -10, 16, -8, 16, -6, 15, -4, 14, -3, 12, -2, 9, -1, -128, -128, 3, -7, 4, -7, 4, -8, 5, -10, 8, -11, 11, -11, 14, -10, 15, -8, 15, -6, 14, -4, 12, -3, 9, -2, -128, -128, 4, -9, 7, -11, -128, -128, 12, -11, 15, -9, -128, -128, 15, -5, 11, -2, -128, -128, 9, -2, 9, 2, 10, 2, 10, -2, -128, -128, 9, 6, 8, 7, 8, 8, 9, 9, 10, 9, 11, 8, 11, 7, 10, 6, 9, 6, -128, -128, 9, 7, 9, 8, 10, 8, 10, 7, 9, 7, 18, -4, 17, -6, 15, -7, 12, -7, 10, -6, 9, -5, 8, -2, 8, 1, 9, 3, 11, 4, 14, 4, 16, 3, 17, 1, -128, -128, 12, -7, 10, -5, 9, -2, 9, 1, 10, 3, 11, 4, -128, -128, 18, -7, 17, 1, 17, 3, 19, 4, 21, 4, 23, 2, 24, -1, 24, -3, 23, -6, 22, -8, 20, -10, 18, -11, 15, -12, 12, -12, 9, -11, 7, -10, 5, -8, 4, -6, 3, -3, 3, 0, 4, 3, 5, 5, 7, 7, 9, 8, 12, 9, 15, 9, 18, 8, 20, 7, 21, 6, -128, -128, 19, -7, 18, 1, 18, 3, 19, 4, 10, -12, 2, 9, -128, -128, 10, -9, 3, 9, 2, 9, -128, -128, 10, -9, 17, 9, 18, 9, -128, -128, 10, -12, 18, 9, -128, -128, 5, 3, 15, 3, -128, -128, 4, 4, 16, 4, 4, -12, 4, 9, -128, -128, 5, -11, 5, 8, -128, -128, 4, -12, 12, -12, 15, -11, 16, -10, 17, -8, 17, -5, 16, -3, 15, -2, 12, -1, -128, -128, 5, -11, 12, -11, 15, -10, 16, -8, 16, -5, 15, -3, 12, -2, -128, -128, 5, -2, 12, -2, 15, -1, 16, 0, 17, 2, 17, 5, 16, 7, 15, 8, 12, 9, 4, 9, -128, -128, 5, -1, 12, -1, 15, 0, 16, 2, 16, 5, 15, 7, 12, 8, 5, 8, 18, -7, 17, -9, 15, -11, 13, -12, 9, -12, 7, -11, 5, -9, 4, -7, 3, -4, 3, 1, 4, 4, 5, 6, 7, 8, 9, 9, 13, 9, 15, 8, 17, 6, 18, 4, -128, -128, 18, -7, 17, -7, 16, -9, 15, -10, 13, -11, 9, -11, 7, -10, 5, -7, 4, -4, 4, 1, 5, 4, 7, 7, 9, 8, 13, 8, 15, 7, 16, 6, 17, 4, 18, 4, 4, -12, 4, 9, -128, -128, 5, -11, 5, 8, -128, -128, 4, -12, 11, -12, 14, -11, 16, -9, 17, -7, 18, -4, 18, 1, 17, 4, 16, 6, 14, 8, 11, 9, 4, 9, -128, -128, 5, -11, 11, -11, 14, -10, 15, -9, 16, -7, 17, -4, 17, 1, 16, 4, 15, 6, 14, 7, 11, 8, 5, 8, 4, -12, 4, 9, -128, -128, 5, -11, 5, 8, -128, -128, 4, -12, 16, -12, -128, -128, 5, -11, 16, -11, 16, -12, -128, -128, 5, -2, 11, -2, 11, -1, -128, -128, 5, -1, 11, -1, -128, -128, 5, 8, 16, 8, 16, 9, -128, -128, 4, 9, 16, 9, 4, -12, 4, 9, -128, -128, 5, -11, 5, 9, 4, 9, -128, -128, 4, -12, 16, -12, -128, -128, 5, -11, 16, -11, 16, -12, -128, -128, 5, -2, 11, -2, 11, -1, -128, -128, 5, -1, 11, -1, 18, -7, 17, -9, 15, -11, 13, -12, 9, -12, 7, -11, 5, -9, 4, -7, 3, -4, 3, 1, 4, 4, 5, 6, 7, 8, 9, 9, 13, 9, 15, 8, 17, 6, 18, 4, 18, 0, 13, 0, -128, -128, 18, -7, 17, -7, 16, -9, 15, -10, 13, -11, 9, -11, 7, -10, 6, -9, 5, -7, 4, -4, 4, 1, 5, 4, 6, 6, 7, 7, 9, 8, 13, 8, 15, 7, 16, 6, 17, 4, 17, 1, 13, 1, 13, 0, 4, -12, 4, 9, -128, -128, 4, -12, 5, -12, 5, 9, 4, 9, -128, -128, 18, -12, 17, -12, 17, 9, 18, 9, -128, -128, 18, -12, 18, 9, -128, -128, 5, -2, 17, -2, -128, -128, 5, -1, 17, -1, 4, -12, 4, 9, 5, 9, -128, -128, 4, -12, 5, -12, 5, 9, 12, -12, 12, 4, 11, 7, 9, 8, 7, 8, 5, 7, 4, 4, 3, 4, -128, -128, 12, -12, 13, -12, 13, 4, 12, 7, 11, 8, 9, 9, 7, 9, 5, 8, 4, 7, 3, 4, 4, -12, 4, 9, 5, 9, -128, -128, 4, -12, 5, -12, 5, 9, -128, -128, 18, -12, 17, -12, 5, 0, -128, -128, 18, -12, 5, 1, -128, -128, 8, -3, 17, 9, 18, 9, -128, -128, 9, -3, 18, 9, 4, -12, 4, 9, -128, -128, 4, -12, 5, -12, 5, 8, -128, -128, 5, 8, 16, 8, 16, 9, -128, -128, 4, 9, 16, 9, 4, -12, 4, 9, -128, -128, 5, -7, 5, 9, 4, 9, -128, -128, 5, -7, 12, 9, -128, -128, 4, -12, 12, 6, -128, -128, 20, -12, 12, 6, -128, -128, 19, -7, 12, 9, -128, -128, 19, -7, 19, 9, 20, 9, -128, -128, 20, -12, 20, 9, 4, -12, 4, 9, -128, -128, 5, -9, 5, 9, 4, 9, -128, -128, 5, -9, 18, 9, -128, -128, 4, -12, 17, 6, -128, -128, 17, -12, 17, 6, -128, -128, 17, -12, 18, -12, 18, 9, 9, -12, 7, -11, 5, -9, 4, -7, 3, -4, 3, 1, 4, 4, 5, 6, 7, 8, 9, 9, 13, 9, 15, 8, 17, 6, 18, 4, 19, 1, 19, -4, 18, -7, 17, -9, 15, -11, 13, -12, 9, -12, -128, -128, 10, -11, 7, -10, 5, -7, 4, -4, 4, 1, 5, 4, 7, 7, 10, 8, 12, 8, 15, 7, 17, 4, 18, 1, 18, -4, 17, -7, 15, -10, 12, -11, 10, -11, 4, -12, 4, 9, -128, -128, 5, -11, 5, 9, 4, 9, -128, -128, 4, -12, 13, -12, 15, -11, 16, -10, 17, -8, 17, -5, 16, -3, 15, -2, 13, -1, 5, -1, -128, -128, 5, -11, 13, -11, 15, -10, 16, -8, 16, -5, 15, -3, 13, -2, 5, -2, 9, -12, 7, -11, 5, -9, 4, -7, 3, -4, 3, 1, 4, 4, 5, 6, 7, 8, 9, 9, 13, 9, 15, 8, 17, 6, 18, 4, 19, 1, 19, -4, 18, -7, 17, -9, 15, -11, 13, -12, 9, -12, -128, -128, 10, -11, 7, -10, 5, -7, 4, -4, 4, 1, 5, 4, 7, 7, 10, 8, 12, 8, 15, 7, 17, 4, 18, 1, 18, -4, 17, -7, 15, -10, 12, -11, 10, -11, -128, -128, 12, 6, 17, 11, 18, 11, -128, -128, 12, 6, 13, 6, 18, 11, 4, -12, 4, 9, -128, -128, 5, -11, 5, 9, 4, 9, -128, -128, 4, -12, 12, -12, 15, -11, 16, -10, 17, -8, 17, -5, 16, -3, 15, -2, 12, -1, 5, -1, -128, -128, 5, -11, 12, -11, 15, -10, 16, -8, 16, -5, 15, -3, 12, -2, 5, -2, -128, -128, 10, -1, 16, 9, 17, 9, -128, -128, 11, -1, 17, 9, 17, -9, 15, -11, 12, -12, 8, -12, 5, -11, 3, -9, 3, -7, 4, -5, 5, -4, 7, -3, 12, -1, 14, 0, 15, 1, 16, 3, 16, 6, 15, 7, 12, 8, 8, 8, 6, 7, 5, 6, 3, 6, -128, -128, 17, -9, 15, -9, 14, -10, 12, -11, 8, -11, 5, -10, 4, -9, 4, -7, 5, -5, 7, -4, 12, -2, 14, -1, 16, 1, 17, 3, 17, 6, 15, 8, 12, 9, 8, 9, 5, 8, 3, 6, 8, -11, 8, 9, -128, -128, 9, -11, 9, 9, 8, 9, -128, -128, 2, -12, 15, -12, 15, -11, -128, -128, 2, -12, 2, -11, 15, -11, 4, -12, 4, 3, 5, 6, 7, 8, 10, 9, 12, 9, 15, 8, 17, 6, 18, 3, 18, -12, -128, -128, 4, -12, 5, -12, 5, 3, 6, 6, 7, 7, 10, 8, 12, 8, 15, 7, 16, 6, 17, 3, 17, -12, 18, -12, 2, -12, 10, 9, -128, -128, 2, -12, 3, -12, 10, 6, -128, -128, 18, -12, 17, -12, 10, 6, -128, -128, 18, -12, 10, 9, 2, -12, 8, 9, -128, -128, 2, -12, 3, -12, 8, 6, -128, -128, 13, -12, 8, 6, -128, -128, 13, -9, 8, 9, -128, -128, 13, -9, 18, 9, -128, -128, 13, -12, 18, 6, -128, -128, 24, -12, 23, -12, 18, 6, -128, -128, 24, -12, 18, 9, 3, -12, 16, 9, 17, 9, -128, -128, 3, -12, 4, -12, 17, 9, -128, -128, 17, -12, 16, -12, 3, 9, -128, -128, 17, -12, 4, 9, 3, 9, 2, -12, 9, -2, 9, 9, 10, 9, -128, -128, 2, -12, 3, -12, 10, -2, -128, -128, 17, -12, 16, -12, 9, -2, -128, -128, 17, -12, 10, -2, 10, 9, 16, -12, 3, 9, -128, -128, 17, -12, 4, 9, -128, -128, 3, -12, 17, -12, -128, -128, 3, -12, 3, -11, 16, -11, -128, -128, 4, 8, 17, 8, 17, 9, -128, -128, 3, 9, 17, 9, 4, -16, 4, 16, -128, -128, 5, -16, 5, 16, -128, -128, 4, -16, 11, -16, -128, -128, 4, 16, 11, 16, 0, -12, 14, 12, 9, -16, 9, 16, -128, -128, 10, -16, 10, 16, -128, -128, 3, -16, 10, -16, -128, -128, 3, 16, 10, 16, 3, 2, 11, -3, 19, 2, -128, -128, 3, 2, 11, -2, 19, 2, 0, 16, 20, 16, 4, -12, 9, -6, -128, -128, 4, -12, 3, -11, 9, -6, 15, -5, 15, 9, 16, 9, -128, -128, 15, -5, 16, -5, 16, 9, -128, -128, 15, -2, 13, -4, 11, -5, 8, -5, 6, -4, 4, -2, 3, 1, 3, 3, 4, 6, 6, 8, 8, 9, 11, 9, 13, 8, 15, 6, -128, -128, 15, -2, 11, -4, 8, -4, 6, -3, 5, -2, 4, 1, 4, 3, 5, 6, 6, 7, 8, 8, 11, 8, 15, 6, 4, -12, 4, 9, 5, 9, -128, -128, 4, -12, 5, -12, 5, 9, -128, -128, 5, -2, 7, -4, 9, -5, 12, -5, 14, -4, 16, -2, 17, 1, 17, 3, 16, 6, 14, 8, 12, 9, 9, 9, 7, 8, 5, 6, -128, -128, 5, -2, 9, -4, 12, -4, 14, -3, 15, -2, 16, 1, 16, 3, 15, 6, 14, 7, 12, 8, 9, 8, 5, 6, 15, -2, 13, -4, 11, -5, 8, -5, 6, -4, 4, -2, 3, 1, 3, 3, 4, 6, 6, 8, 8, 9, 11, 9, 13, 8, 15, 6, -128, -128, 15, -2, 14, -1, 13, -3, 11, -4, 8, -4, 6, -3, 5, -2, 4, 1, 4, 3, 5, 6, 6, 7, 8, 8, 11, 8, 13, 7, 14, 5, 15, 6, 15, -12, 15, 9, 16, 9, -128, -128, 15, -12, 16, -12, 16, 9, -128, -128, 15, -2, 13, -4, 11, -5, 8, -5, 6, -4, 4, -2, 3, 1, 3, 3, 4, 6, 6, 8, 8, 9, 11, 9, 13, 8, 15, 6, -128, -128, 15, -2, 11, -4, 8, -4, 6, -3, 5, -2, 4, 1, 4, 3, 5, 6, 6, 7, 8, 8, 11, 8, 15, 6, 4, 2, 15, 2, 15, -1, 14, -3, 13, -4, 11, -5, 8, -5, 6, -4, 4, -2, 3, 1, 3, 3, 4, 6, 6, 8, 8, 9, 11, 9, 13, 8, 15, 6, -128, -128, 4, 1, 14, 1, 14, -1, 13, -3, 11, -4, 8, -4, 6, -3, 5, -2, 4, 1, 4, 3, 5, 6, 6, 7, 8, 8, 11, 8, 13, 7, 14, 5, 15, 6, 11, -12, 9, -12, 7, -11, 6, -8, 6, 9, 7, 9, -128, -128, 11, -12, 11, -11, 9, -11, 7, -10, -128, -128, 8, -11, 7, -8, 7, 9, -128, -128, 3, -5, 10, -5, 10, -4, -128, -128, 3, -5, 3, -4, 10, -4, 16, -5, 15, -5, 15, 10, 14, 13, 13, 14, 11, 15, 9, 15, 7, 14, 6, 13, 4, 13, -128, -128, 16, -5, 16, 10, 15, 13, 13, 15, 11, 16, 8, 16, 6, 15, 4, 13, -128, -128, 15, -2, 13, -4, 11, -5, 8, -5, 6, -4, 4, -2, 3, 1, 3, 3, 4, 6, 6, 8, 8, 9, 11, 9, 13, 8, 15, 6, -128, -128, 15, -2, 11, -4, 8, -4, 6, -3, 5, -2, 4, 1, 4, 3, 5, 6, 6, 7, 8, 8, 11, 8, 15, 6, 4, -12, 4, 9, 5, 9, -128, -128, 4, -12, 5, -12, 5, 9, -128, -128, 5, -1, 8, -4, 10, -5, 13, -5, 15, -4, 16, -1, 16, 9, -128, -128, 5, -1, 8, -3, 10, -4, 12, -4, 14, -3, 15, -1, 15, 9, 16, 9, 4, -12, 3, -11, 3, -10, 4, -9, 5, -9, 6, -10, 6, -11, 5, -12, 4, -12, -128, -128, 4, -11, 4, -10, 5, -10, 5, -11, 4, -11, -128, -128, 4, -5, 4, 9, 5, 9, -128, -128, 4, -5, 5, -5, 5, 9, 4, -12, 3, -11, 3, -10, 4, -9, 5, -9, 6, -10, 6, -11, 5, -12, 4, -12, -128, -128, 4, -11, 4, -10, 5, -10, 5, -11, 4, -11, -128, -128, 4, -5, 4, 16, 5, 16, -128, -128, 4, -5, 5, -5, 5, 16, 4, -12, 4, 9, 5, 9, -128, -128, 4, -12, 5, -12, 5, 9, -128, -128, 16, -5, 15, -5, 5, 5, -128, -128, 16, -5, 5, 6, -128, -128, 8, 2, 14, 9, 16, 9, -128, -128, 9, 1, 16, 9, 4, -12, 4, 9, 5, 9, -128, -128, 4, -12, 5, -12, 5, 9, 4, -5, 4, 9, 5, 9, -128, -128, 4, -5, 5, -5, 5, 9, -128, -128, 5, -1, 8, -4, 10, -5, 13, -5, 15, -4, 16, -1, 16, 9, -128, -128, 5, -1, 8, -3, 10, -4, 12, -4, 14, -3, 15, -1, 15, 9, 16, 9, -128, -128, 16, -1, 19, -4, 21, -5, 24, -5, 26, -4, 27, -1, 27, 9, -128, -128, 16, -1, 19, -3, 21, -4, 23, -4, 25, -3, 26, -1, 26, 9, 27, 9, 4, -5, 4, 9, 5, 9, -128, -128, 4, -5, 5, -5, 5, 9, -128, -128, 5, -1, 8, -4, 10, -5, 13, -5, 15, -4, 16, -1, 16, 9, -128, -128, 5, -1, 8, -3, 10, -4, 12, -4, 14, -3, 15, -1, 15, 9, 16, 9, 8, -5, 6, -4, 4, -2, 3, 1, 3, 3, 4, 6, 6, 8, 8, 9, 11, 9, 13, 8, 15, 6, 16, 3, 16, 1, 15, -2, 13, -4, 11, -5, 8, -5, -128, -128, 8, -4, 6, -3, 5, -2, 4, 1, 4, 3, 5, 6, 6, 7, 8, 8, 11, 8, 13, 7, 14, 6, 15, 3, 15, 1, 14, -2, 13, -3, 11, -4, 8, -4, 4, -5, 4, 16, 5, 16, -128, -128, 4, -5, 5, -5, 5, 16, -128, -128, 5, -2, 7, -4, 9, -5, 12, -5, 14, -4, 16, -2, 17, 1, 17, 3, 16, 6, 14, 8, 12, 9, 9, 9, 7, 8, 5, 6, -128, -128, 5, -2, 9, -4, 12, -4, 14, -3, 15, -2, 16, 1, 16, 3, 15, 6, 14, 7, 12, 8, 9, 8, 5, 6, 15, -5, 15, 16, 16, 16, -128, -128, 15, -5, 16, -5, 16, 16, -128, -128, 15, -2, 13, -4, 11, -5, 8, -5, 6, -4, 4, -2, 3, 1, 3, 3, 4, 6, 6, 8, 8, 9, 11, 9, 13, 8, 15, 6, -128, -128, 15, -2, 11, -4, 8, -4, 6, -3, 5, -2, 4, 1, 4, 3, 5, 6, 6, 7, 8, 8, 11, 8, 15, 6, 4, -5, 4, 9, 5, 9, -128, -128, 4, -5, 5, -5, 5, 9, -128, -128, 5, 1, 6, -2, 8, -4, 10, -5, 13, -5, -128, -128, 5, 1, 6, -1, 8, -3, 10, -4, 13, -4, 13, -5, 14, -2, 13, -4, 10, -5, 7, -5, 4, -4, 3, -2, 4, 0, 6, 1, 11, 3, 13, 4, -128, -128, 12, 3, 13, 5, 13, 6, 12, 8, -128, -128, 13, 7, 10, 8, 7, 8, 4, 7, -128, -128, 5, 8, 4, 6, 3, 6, -128, -128, 14, -2, 13, -2, 12, -4, -128, -128, 13, -3, 10, -4, 7, -4, 4, -3, -128, -128, 5, -4, 4, -2, 5, 0, -128, -128, 4, -1, 6, 0, 11, 2, 13, 3, 14, 5, 14, 6, 13, 8, 10, 9, 7, 9, 4, 8, 3, 6, 5, -12, 5, 9, 6, 9, -128, -128, 5, -12, 6, -12, 6, 9, -128, -128, 2, -5, 9, -5, 9, -4, -128, -128, 2, -5, 2, -4, 9, -4, 4, -5, 4, 5, 5, 8, 7, 9, 10, 9, 12, 8, 15, 5, -128, -128, 4, -5, 5, -5, 5, 5, 6, 7, 8, 8, 10, 8, 12, 7, 15, 5, -128, -128, 15, -5, 15, 9, 16, 9, -128, -128, 15, -5, 16, -5, 16, 9, 2, -5, 8, 9, -128, -128, 2, -5, 3, -5, 8, 7, -128, -128, 14, -5, 13, -5, 8, 7, -128, -128, 14, -5, 8, 9, 3, -5, 8, 9, -128, -128, 3, -5, 4, -5, 8, 6, -128, -128, 12, -5, 8, 6, -128, -128, 12, -2, 8, 9, -128, -128, 12, -2, 16, 9, -128, -128, 12, -5, 16, 6, -128, -128, 21, -5, 20, -5, 16, 6, -128, -128, 21, -5, 16, 9, 3, -5, 14, 9, 15, 9, -128, -128, 3, -5, 4, -5, 15, 9, -128, -128, 15, -5, 14, -5, 3, 9, -128, -128, 15, -5, 4, 9, 3, 9, 2, -5, 8, 9, -128, -128, 2, -5, 3, -5, 8, 7, -128, -128, 14, -5, 13, -5, 8, 7, 4, 16, -128, -128, 14, -5, 8, 9, 5, 16, 4, 16, 13, -4, 3, 9, -128, -128, 15, -5, 5, 8, -128, -128, 3, -5, 15, -5, -128, -128, 3, -5, 3, -4, 13, -4, -128, -128, 5, 8, 15, 8, 15, 9, -128, -128, 3, 9, 15, 9, 10, -16, 3, 0, 10, 16, 4, -16, 4, 16, 4, -16, 11, 0, 4, 16, 3, 3, 3, 1, 4, -2, 6, -3, 8, -3, 10, -2, 14, 1, 16, 2, 18, 2, 20, 1, 21, -1, -128, -128, 3, 1, 4, -1, 6, -2, 8, -2, 10, -1, 14, 2, 16, 3, 18, 3, 20, 2, 21, -1, 21, -3, 0, -12, 0, 9, 1, 9, 1, -12, 2, -12, 2, 9, 3, 9, 3, -12, 4, -12, 4, 9, 5, 9, 5, -12, 6, -12, 6, 9, 7, 9, 7, -12, 8, -12, 8, 9, 9, 9, 9, -12, 10, -12, 10, 9, 11, 9, 11, -12, 12, -12, 12, 9, 13, 9, 13, -12, 14, -12, 14, 9, 15, 9, 15, -12, 16, -12, 16, 9 +}; + +const hershey_font_t futuram { + .chars = { + {.width=16, .vertex_count=0, .vertices=&futuram_vertices[0]}, + {.width=11, .vertex_count=23, .vertices=&futuram_vertices[0]}, + {.width=18, .vertex_count=21, .vertices=&futuram_vertices[46]}, + {.width=21, .vertex_count=11, .vertices=&futuram_vertices[88]}, + {.width=19, .vertex_count=50, .vertices=&futuram_vertices[110]}, + {.width=24, .vertex_count=31, .vertices=&futuram_vertices[210]}, + {.width=25, .vertex_count=48, .vertices=&futuram_vertices[272]}, + {.width=9, .vertex_count=10, .vertices=&futuram_vertices[368]}, + {.width=14, .vertex_count=19, .vertices=&futuram_vertices[388]}, + {.width=14, .vertex_count=19, .vertices=&futuram_vertices[426]}, + {.width=16, .vertex_count=38, .vertices=&futuram_vertices[464]}, + {.width=25, .vertex_count=15, .vertices=&futuram_vertices[540]}, + {.width=11, .vertex_count=23, .vertices=&futuram_vertices[570]}, + {.width=26, .vertex_count=2, .vertices=&futuram_vertices[616]}, + {.width=11, .vertex_count=15, .vertices=&futuram_vertices[620]}, + {.width=23, .vertex_count=7, .vertices=&futuram_vertices[650]}, + {.width=20, .vertex_count=41, .vertices=&futuram_vertices[664]}, + {.width=20, .vertex_count=11, .vertices=&futuram_vertices[746]}, + {.width=20, .vertex_count=33, .vertices=&futuram_vertices[768]}, + {.width=20, .vertex_count=47, .vertices=&futuram_vertices[834]}, + {.width=20, .vertex_count=17, .vertices=&futuram_vertices[928]}, + {.width=20, .vertex_count=52, .vertices=&futuram_vertices[962]}, + {.width=20, .vertex_count=61, .vertices=&futuram_vertices[1066]}, + {.width=20, .vertex_count=11, .vertices=&futuram_vertices[1188]}, + {.width=20, .vertex_count=67, .vertices=&futuram_vertices[1210]}, + {.width=20, .vertex_count=61, .vertices=&futuram_vertices[1344]}, + {.width=11, .vertex_count=31, .vertices=&futuram_vertices[1466]}, + {.width=11, .vertex_count=39, .vertices=&futuram_vertices[1528]}, + {.width=24, .vertex_count=3, .vertices=&futuram_vertices[1606]}, + {.width=25, .vertex_count=15, .vertices=&futuram_vertices[1612]}, + {.width=24, .vertex_count=3, .vertices=&futuram_vertices[1642]}, + {.width=19, .vertex_count=57, .vertices=&futuram_vertices[1648]}, + {.width=27, .vertex_count=55, .vertices=&futuram_vertices[1762]}, + {.width=20, .vertex_count=19, .vertices=&futuram_vertices[1872]}, + {.width=20, .vertex_count=43, .vertices=&futuram_vertices[1910]}, + {.width=21, .vertex_count=37, .vertices=&futuram_vertices[1996]}, + {.width=21, .vertex_count=31, .vertices=&futuram_vertices[2070]}, + {.width=19, .vertex_count=26, .vertices=&futuram_vertices[2132]}, + {.width=18, .vertex_count=20, .vertices=&futuram_vertices[2184]}, + {.width=21, .vertex_count=43, .vertices=&futuram_vertices[2224]}, + {.width=22, .vertex_count=21, .vertices=&futuram_vertices[2310]}, + {.width=9, .vertex_count=7, .vertices=&futuram_vertices[2352]}, + {.width=17, .vertex_count=19, .vertices=&futuram_vertices[2366]}, + {.width=21, .vertex_count=21, .vertices=&futuram_vertices[2404]}, + {.width=17, .vertex_count=13, .vertices=&futuram_vertices[2446]}, + {.width=24, .vertex_count=25, .vertices=&futuram_vertices[2472]}, + {.width=22, .vertex_count=19, .vertices=&futuram_vertices[2522]}, + {.width=22, .vertex_count=39, .vertices=&futuram_vertices[2560]}, + {.width=20, .vertex_count=26, .vertices=&futuram_vertices[2638]}, + {.width=22, .vertex_count=47, .vertices=&futuram_vertices[2690]}, + {.width=20, .vertex_count=33, .vertices=&futuram_vertices[2784]}, + {.width=20, .vertex_count=42, .vertices=&futuram_vertices[2850]}, + {.width=17, .vertex_count=14, .vertices=&futuram_vertices[2934]}, + {.width=22, .vertex_count=23, .vertices=&futuram_vertices[2962]}, + {.width=20, .vertex_count=13, .vertices=&futuram_vertices[3008]}, + {.width=26, .vertex_count=25, .vertices=&futuram_vertices[3034]}, + {.width=20, .vertex_count=15, .vertices=&futuram_vertices[3084]}, + {.width=19, .vertex_count=16, .vertices=&futuram_vertices[3114]}, + {.width=20, .vertex_count=19, .vertices=&futuram_vertices[3146]}, + {.width=14, .vertex_count=11, .vertices=&futuram_vertices[3184]}, + {.width=14, .vertex_count=2, .vertices=&futuram_vertices[3206]}, + {.width=14, .vertex_count=11, .vertices=&futuram_vertices[3210]}, + {.width=22, .vertex_count=7, .vertices=&futuram_vertices[3232]}, + {.width=20, .vertex_count=2, .vertices=&futuram_vertices[3246]}, + {.width=12, .vertex_count=6, .vertices=&futuram_vertices[3250]}, + {.width=20, .vertex_count=35, .vertices=&futuram_vertices[3262]}, + {.width=20, .vertex_count=35, .vertices=&futuram_vertices[3332]}, + {.width=18, .vertex_count=31, .vertices=&futuram_vertices[3402]}, + {.width=20, .vertex_count=35, .vertices=&futuram_vertices[3464]}, + {.width=18, .vertex_count=35, .vertices=&futuram_vertices[3534]}, + {.width=14, .vertex_count=23, .vertices=&futuram_vertices[3604]}, + {.width=20, .vertex_count=47, .vertices=&futuram_vertices[3650]}, + {.width=20, .vertex_count=24, .vertices=&futuram_vertices[3744]}, + {.width=9, .vertex_count=23, .vertices=&futuram_vertices[3792]}, + {.width=9, .vertex_count=23, .vertices=&futuram_vertices[3838]}, + {.width=19, .vertex_count=21, .vertices=&futuram_vertices[3884]}, + {.width=9, .vertex_count=7, .vertices=&futuram_vertices[3926]}, + {.width=31, .vertex_count=41, .vertices=&futuram_vertices[3940]}, + {.width=20, .vertex_count=24, .vertices=&futuram_vertices[4022]}, + {.width=19, .vertex_count=35, .vertices=&futuram_vertices[4070]}, + {.width=20, .vertex_count=35, .vertices=&futuram_vertices[4140]}, + {.width=20, .vertex_count=35, .vertices=&futuram_vertices[4210]}, + {.width=14, .vertex_count=20, .vertices=&futuram_vertices[4280]}, + {.width=17, .vertex_count=49, .vertices=&futuram_vertices[4320]}, + {.width=11, .vertex_count=15, .vertices=&futuram_vertices[4418]}, + {.width=20, .vertex_count=24, .vertices=&futuram_vertices[4448]}, + {.width=16, .vertex_count=13, .vertices=&futuram_vertices[4496]}, + {.width=24, .vertex_count=25, .vertices=&futuram_vertices[4522]}, + {.width=18, .vertex_count=15, .vertices=&futuram_vertices[4572]}, + {.width=16, .vertex_count=16, .vertices=&futuram_vertices[4602]}, + {.width=18, .vertex_count=19, .vertices=&futuram_vertices[4634]}, + {.width=14, .vertex_count=3, .vertices=&futuram_vertices[4672]}, + {.width=8, .vertex_count=2, .vertices=&futuram_vertices[4678]}, + {.width=14, .vertex_count=3, .vertices=&futuram_vertices[4682]}, + {.width=24, .vertex_count=23, .vertices=&futuram_vertices[4688]} + } +}; + +static const int8_t gothgbt_vertices[9046] = { + 6, -12, 5, -11, 3, -10, 5, -9, 6, 2, -128, -128, 6, -9, 7, -10, 6, -11, 5, -10, 6, -9, 6, 2, -128, -128, 6, -12, 7, -11, 9, -10, 7, -9, 6, 2, -128, -128, 6, 6, 4, 8, 6, 9, 8, 8, 6, 6, -128, -128, 6, 7, 5, 8, 7, 8, 6, 7, 5, -12, 4, -11, 4, -5, -128, -128, 5, -11, 4, -5, -128, -128, 5, -12, 6, -11, 4, -5, -128, -128, 14, -12, 13, -11, 13, -5, -128, -128, 14, -11, 13, -5, -128, -128, 14, -12, 15, -11, 13, -5, 11, -12, 4, 16, -128, -128, 17, -12, 10, 16, -128, -128, 4, -1, 18, -1, -128, -128, 3, 5, 17, 5, 8, -16, 8, 13, -128, -128, 12, -16, 12, 13, -128, -128, 12, -12, 14, -11, 15, -9, 15, -7, 17, -8, 16, -10, 15, -11, 12, -12, 8, -12, 5, -11, 3, -9, 3, -6, 4, -4, 7, -2, 13, 0, 15, 1, 16, 3, 16, 6, 15, 8, -128, -128, 16, -8, 15, -10, -128, -128, 4, -6, 5, -4, 7, -3, 13, -1, 15, 0, 16, 2, -128, -128, 5, 7, 4, 5, -128, -128, 5, -11, 4, -9, 4, -7, 5, -5, 7, -4, 13, -2, 16, 0, 17, 2, 17, 5, 16, 7, 15, 8, 12, 9, 8, 9, 5, 8, 4, 7, 3, 5, 5, 4, 5, 6, 6, 8, 8, 9, 21, -12, 3, 9, -128, -128, 8, -12, 10, -10, 10, -8, 9, -6, 7, -5, 5, -5, 3, -7, 3, -9, 4, -11, 6, -12, 8, -12, 10, -11, 13, -10, 16, -10, 19, -11, 21, -12, -128, -128, 17, 2, 15, 3, 14, 5, 14, 7, 16, 9, 18, 9, 20, 8, 21, 6, 21, 4, 19, 2, 17, 2, 20, -4, 21, -3, 22, -3, 23, -4, -128, -128, 19, -3, 20, -2, 22, -2, -128, -128, 19, -2, 20, -1, 21, -1, 22, -2, 23, -4, -128, -128, 20, -4, 14, 2, -128, -128, 13, 3, 7, 9, 3, 4, 9, -2, -128, -128, 10, -3, 14, -7, 10, -12, 5, -6, 11, 0, 15, 6, 17, 8, 19, 9, 21, 9, 22, 8, 23, 6, -128, -128, 7, 8, 4, 4, -128, -128, 13, -7, 10, -11, -128, -128, 6, -6, 11, -1, 15, 5, 17, 7, 19, 8, 22, 8, -128, -128, 8, 8, 4, 3, -128, -128, 13, -6, 9, -11, -128, -128, 6, -7, 12, -1, 16, 5, 17, 6, 19, 7, 22, 7, 23, 6, 6, -6, 6, -8, 4, -10, 6, -12, 7, -10, 7, -8, 6, -6, 4, -5, -128, -128, 6, -11, 5, -10, 6, -9, 6, -11, 10, -16, 8, -14, 6, -11, 4, -7, 3, -2, 3, 2, 4, 7, 6, 11, 8, 14, 10, 16, -128, -128, 6, -10, 5, -7, 4, -3, 4, 3, 5, 7, 6, 10, -128, -128, 8, -14, 7, -12, 6, -9, 5, -3, 5, 3, 6, 9, 7, 12, 8, 14, 4, -16, 6, -14, 8, -11, 10, -7, 11, -2, 11, 2, 10, 7, 8, 11, 6, 14, 4, 16, -128, -128, 8, -10, 9, -7, 10, -3, 10, 3, 9, 7, 8, 10, -128, -128, 6, -14, 7, -12, 8, -9, 9, -3, 9, 3, 8, 9, 7, 12, 6, 14, 8, -12, 7, -11, 9, -1, 8, 0, -128, -128, 8, -12, 8, 0, -128, -128, 8, -12, 9, -11, 7, -1, 8, 0, -128, -128, 3, -9, 4, -9, 12, -3, 13, -3, -128, -128, 3, -9, 13, -3, -128, -128, 3, -9, 3, -8, 13, -4, 13, -3, -128, -128, 13, -9, 12, -9, 4, -3, 3, -3, -128, -128, 13, -9, 3, -3, -128, -128, 13, -9, 13, -8, 3, -4, 3, -3, 12, -9, 12, 8, 13, 8, -128, -128, 12, -9, 13, -9, 13, 8, -128, -128, 4, -1, 21, -1, 21, 0, -128, -128, 4, -1, 4, 0, 21, 0, 6, 12, 6, 10, 4, 8, 6, 6, 7, 8, 7, 10, 6, 12, 4, 13, -128, -128, 6, 7, 5, 8, 6, 9, 6, 7, 4, -1, 21, -1, 21, 0, -128, -128, 4, -1, 4, 0, 21, 0, 6, 6, 4, 8, 6, 9, 8, 8, 6, 6, -128, -128, 6, 7, 5, 8, 7, 8, 6, 7, 20, -16, 2, 16, 3, 16, -128, -128, 20, -16, 21, -16, 3, 16, 4, -10, 4, 6, 2, 7, -128, -128, 5, -9, 5, 6, 8, 8, -128, -128, 6, -10, 6, 6, 8, 7, 9, 8, -128, -128, 4, -10, 6, -10, 11, -11, 13, -12, -128, -128, 11, -11, 12, -10, 14, -9, 14, 7, -128, -128, 12, -11, 15, -9, 15, 6, -128, -128, 13, -12, 14, -11, 16, -10, 18, -10, 16, -9, 16, 7, -128, -128, 2, 7, 4, 7, 6, 8, 7, 9, 9, 8, 14, 7, 16, 7, 7, -10, 8, -9, 9, -7, 9, 6, 7, 7, -128, -128, 9, -9, 8, -10, 9, -11, 10, -9, 10, 7, 12, 8, -128, -128, 7, -10, 10, -12, 11, -10, 11, 6, 13, 7, 14, 7, -128, -128, 7, 7, 8, 7, 10, 8, 11, 9, 12, 8, 14, 7, 4, -10, 6, -10, 8, -11, 9, -12, 11, -11, 14, -10, 16, -10, -128, -128, 8, -10, 10, -11, -128, -128, 4, -10, 6, -9, 8, -9, 10, -10, 11, -11, -128, -128, 14, -10, 14, -2, -128, -128, 15, -9, 15, -3, -128, -128, 16, -10, 16, -2, 9, -2, 6, -1, 4, 1, 3, 4, 3, 9, -128, -128, 3, 9, 7, 7, 11, 6, 14, 6, 18, 7, -128, -128, 6, 8, 9, 7, 14, 7, 17, 8, -128, -128, 3, 9, 8, 8, 13, 8, 16, 9, 18, 7, 4, -10, 5, -10, 7, -11, 8, -12, 10, -11, 14, -10, 16, -10, -128, -128, 7, -10, 9, -11, -128, -128, 4, -10, 6, -9, 8, -9, 10, -11, -128, -128, 14, -10, 14, -3, -128, -128, 15, -9, 15, -4, -128, -128, 16, -10, 16, -3, 14, -3, 11, -2, 9, -1, -128, -128, 9, -2, 11, -1, 14, 0, 16, 0, 16, 7, -128, -128, 15, 1, 15, 6, -128, -128, 14, 0, 14, 7, -128, -128, 3, 7, 5, 6, 7, 6, 9, 7, 10, 8, -128, -128, 7, 7, 9, 8, -128, -128, 3, 7, 5, 7, 7, 8, 8, 9, 10, 8, 14, 7, 16, 7, 13, -12, 3, -2, 3, 3, 12, 3, -128, -128, 14, 3, 18, 3, 19, 4, 19, 2, 18, 3, -128, -128, 4, -2, 4, 2, -128, -128, 5, -4, 5, 3, -128, -128, 12, -11, 12, 6, 10, 7, -128, -128, 13, -8, 14, -10, 13, -11, 13, 7, 15, 8, -128, -128, 13, -12, 15, -10, 14, -8, 14, 6, 16, 7, 17, 7, -128, -128, 10, 7, 11, 7, 13, 8, 14, 9, 15, 8, 17, 7, 4, -12, 4, -3, -128, -128, 4, -12, 16, -12, -128, -128, 5, -11, 14, -11, -128, -128, 4, -10, 13, -10, 15, -11, 16, -12, -128, -128, 14, -6, 13, -5, 11, -4, 7, -3, 4, -3, -128, -128, 11, -4, 12, -4, 14, -3, 14, 7, -128, -128, 13, -5, 15, -4, 15, 6, -128, -128, 14, -6, 15, -5, 17, -4, 18, -4, 16, -3, 16, 7, -128, -128, 3, 7, 5, 6, 7, 6, 9, 7, 10, 8, -128, -128, 7, 7, 9, 8, -128, -128, 3, 7, 5, 7, 7, 8, 8, 9, 10, 8, 14, 7, 16, 7, 4, -10, 4, 6, 2, 7, -128, -128, 5, -9, 5, 6, 8, 8, -128, -128, 6, -10, 6, 6, 8, 7, 9, 8, -128, -128, 4, -10, 6, -10, 10, -11, 12, -12, 13, -11, 15, -10, 16, -10, -128, -128, 11, -11, 13, -10, -128, -128, 10, -11, 12, -9, 14, -9, 16, -10, -128, -128, 6, -2, 7, -2, 11, -3, 13, -4, 14, -5, -128, -128, 11, -3, 12, -3, 14, -2, 14, 7, -128, -128, 13, -4, 15, -2, 15, 6, -128, -128, 14, -5, 15, -4, 17, -3, 18, -3, 16, -2, 16, 7, -128, -128, 2, 7, 4, 7, 6, 8, 7, 9, 9, 8, 14, 7, 16, 7, 3, -10, 5, -12, 8, -11, 13, -11, 18, -12, -128, -128, 4, -11, 7, -10, 12, -10, 15, -11, -128, -128, 3, -10, 7, -9, 10, -9, 14, -10, 18, -12, -128, -128, 18, -12, 17, -10, 15, -7, 11, -3, 9, 0, 8, 3, 8, 6, 9, 9, -128, -128, 10, -1, 9, 2, 9, 5, 10, 8, -128, -128, 13, -5, 11, -2, 10, 1, 10, 4, 11, 7, 9, 9, 4, -9, 4, -3, -128, -128, 5, -8, 5, -4, -128, -128, 6, -9, 6, -3, -128, -128, 4, -9, 6, -9, 11, -10, 13, -11, 14, -12, -128, -128, 11, -10, 12, -10, 14, -9, 14, -3, -128, -128, 13, -11, 15, -10, 15, -4, -128, -128, 14, -12, 15, -11, 17, -10, 18, -10, 16, -9, 16, -3, -128, -128, 4, -3, 6, -3, 14, 0, 16, 0, -128, -128, 16, -3, 14, -3, 6, 0, 4, 0, -128, -128, 4, 0, 4, 6, 2, 7, -128, -128, 5, 1, 5, 6, 8, 8, -128, -128, 6, 0, 6, 6, 8, 7, 9, 8, -128, -128, 14, 0, 14, 7, -128, -128, 15, 1, 15, 6, -128, -128, 16, 0, 16, 7, -128, -128, 2, 7, 4, 7, 6, 8, 7, 9, 9, 8, 14, 7, 16, 7, 4, -10, 4, -1, 2, 0, -128, -128, 5, -9, 5, 0, 7, 1, -128, -128, 6, -10, 6, -1, 8, 0, 9, 0, -128, -128, 4, -10, 6, -10, 11, -11, 13, -12, -128, -128, 11, -11, 12, -10, 14, -9, 14, 7, -128, -128, 12, -11, 15, -9, 15, 6, -128, -128, 13, -12, 14, -11, 16, -10, 18, -10, 16, -9, 16, 7, -128, -128, 2, 0, 3, 0, 5, 1, 6, 2, 7, 1, 9, 0, 13, -1, 14, -1, -128, -128, 3, 7, 5, 6, 7, 6, 9, 7, 10, 8, -128, -128, 7, 7, 9, 8, -128, -128, 3, 7, 5, 7, 7, 8, 8, 9, 10, 8, 14, 7, 16, 7, 6, -5, 4, -3, 6, -2, 8, -3, 6, -5, -128, -128, 6, -4, 5, -3, 7, -3, 6, -4, -128, -128, 6, 6, 4, 8, 6, 9, 8, 8, 6, 6, -128, -128, 6, 7, 5, 8, 7, 8, 6, 7, 6, -5, 4, -3, 6, -2, 8, -3, 6, -5, -128, -128, 6, -4, 5, -3, 7, -3, 6, -4, -128, -128, 6, 12, 6, 10, 4, 8, 6, 6, 7, 8, 7, 10, 6, 12, 4, 13, -128, -128, 6, 7, 5, 8, 6, 9, 6, 7, 20, -9, 4, 0, 20, 9, 4, -5, 21, -5, 21, -4, -128, -128, 4, -5, 4, -4, 21, -4, -128, -128, 4, 3, 21, 3, 21, 4, -128, -128, 4, 3, 4, 4, 21, 4, 4, -9, 20, 0, 4, 9, 3, -8, 4, -10, 5, -11, 8, -12, 10, -12, 13, -11, 14, -10, 15, -8, 15, -6, 14, -4, 12, -2, 10, -1, -128, -128, 4, -8, 5, -10, -128, -128, 13, -10, 14, -9, 14, -5, 13, -4, -128, -128, 3, -8, 5, -7, 5, -9, 6, -11, 8, -12, -128, -128, 10, -12, 12, -11, 13, -9, 13, -5, 12, -3, 10, -1, -128, -128, 9, -1, 9, 2, 10, -1, 8, -1, 9, 2, -128, -128, 9, 6, 7, 8, 9, 9, 11, 8, 9, 6, -128, -128, 9, 7, 8, 8, 10, 8, 9, 7, 18, -4, 17, -6, 15, -7, 12, -7, 10, -6, 9, -5, 8, -2, 8, 1, 9, 3, 11, 4, 14, 4, 16, 3, 17, 1, -128, -128, 12, -7, 10, -5, 9, -2, 9, 1, 10, 3, 11, 4, -128, -128, 18, -7, 17, 1, 17, 3, 19, 4, 21, 4, 23, 2, 24, -1, 24, -3, 23, -6, 22, -8, 20, -10, 18, -11, 15, -12, 12, -12, 9, -11, 7, -10, 5, -8, 4, -6, 3, -3, 3, 0, 4, 3, 5, 5, 7, 7, 9, 8, 12, 9, 15, 9, 18, 8, 20, 7, 21, 6, -128, -128, 19, -7, 18, 1, 18, 3, 19, 4, 5, -9, 7, -11, 9, -12, 11, -12, 12, -11, 19, 5, 20, 6, 22, 6, -128, -128, 10, -11, 11, -10, 18, 6, 19, 8, 20, 7, 18, 6, -128, -128, 7, -11, 9, -11, 10, -10, 17, 6, 18, 8, 19, 9, 20, 9, 22, 6, -128, -128, 5, -5, 6, -6, 8, -7, 9, -7, 10, -6, -128, -128, 9, -6, 9, -5, -128, -128, 6, -6, 8, -6, 9, -4, -128, -128, 0, 9, 2, 7, 4, 6, 7, 6, 9, 7, -128, -128, 3, 7, 7, 7, 8, 8, -128, -128, 0, 9, 3, 8, 6, 8, 7, 9, 9, 7, -128, -128, 11, -8, 5, 6, -128, -128, 7, 1, 15, 1, 2, -10, 4, -12, 7, -12, 9, -11, 11, -12, -128, -128, 5, -11, 8, -11, -128, -128, 2, -10, 4, -11, 6, -10, 9, -10, 11, -12, -128, -128, 7, -7, 6, -6, 5, -4, 5, -3, 3, -3, 2, -2, 2, 0, 3, -1, 5, -1, 5, 5, -128, -128, 6, -5, 6, 3, -128, -128, 3, -2, 6, -2, -128, -128, 7, -7, 7, 2, 6, 4, 5, 5, -128, -128, 12, -9, 11, -8, 10, -6, 10, 3, -128, -128, 11, -7, 11, 1, -128, -128, 12, -9, 12, 0, 11, 2, 10, 3, -128, -128, 12, -9, 18, -12, 20, -11, 21, -9, 21, -7, 19, -5, 15, -3, -128, -128, 18, -11, 20, -9, 20, -7, -128, -128, 16, -11, 18, -10, 19, -9, 19, -6, 17, -4, -128, -128, 17, -4, 20, -2, 21, 0, 21, 6, -128, -128, 19, -2, 20, 0, 20, 5, -128, -128, 17, -4, 18, -3, 19, -1, 19, 6, -128, -128, 4, 9, 7, 7, 10, 6, 14, 6, 17, 7, -128, -128, 6, 8, 9, 7, 14, 7, 16, 8, -128, -128, 4, 9, 8, 8, 13, 8, 15, 9, 17, 7, 19, 6, 21, 6, -128, -128, 15, -3, 15, 6, -128, -128, 15, 0, 19, 0, -128, -128, 15, 3, 19, 3, 9, -11, 7, -10, 5, -8, 4, -6, 3, -3, 3, 1, 4, 4, 5, 6, 8, 8, 11, 9, 14, 9, 17, 8, 19, 7, 21, 5, 22, 3, -128, -128, 5, -7, 4, -4, 4, 1, 6, 5, 9, 7, 12, 8, 15, 8, 18, 7, -128, -128, 9, -11, 7, -9, 6, -7, 5, -4, 5, 0, 6, 3, 9, 6, 12, 7, 15, 7, 18, 6, 20, 5, 22, 3, -128, -128, 11, -8, 11, 4, -128, -128, 12, -8, 12, 2, -128, -128, 13, -9, 13, 1, 12, 3, 11, 4, -128, -128, 11, -8, 13, -9, 16, -12, 18, -11, 20, -11, 21, -12, -128, -128, 15, -11, 17, -10, 19, -10, -128, -128, 14, -10, 16, -9, 18, -9, 20, -10, 21, -12, -128, -128, 18, -9, 18, 6, 2, -12, 16, -12, 18, -11, 19, -9, 19, 6, -128, -128, 4, -11, 16, -11, 18, -9, 18, 5, -128, -128, 2, -12, 3, -11, 5, -10, 16, -10, 17, -9, 17, 6, -128, -128, 8, -7, 7, -6, 6, -4, 6, -3, 4, -3, 3, -2, 3, 0, 4, -1, 6, -1, 6, 4, -128, -128, 7, -5, 7, 2, -128, -128, 4, -2, 7, -2, -128, -128, 8, -7, 8, 1, 7, 3, 6, 4, -128, -128, 2, 9, 5, 7, 8, 6, 12, 6, 15, 7, -128, -128, 4, 8, 7, 7, 12, 7, 14, 8, -128, -128, 2, 9, 6, 8, 11, 8, 13, 9, 15, 7, 17, 6, 19, 6, -128, -128, 11, -10, 11, 6, -128, -128, 11, -5, 13, -4, 15, -4, 17, -5, -128, -128, 11, 1, 13, 0, 15, 0, 17, 1, 2, -10, 4, -12, 6, -12, 8, -11, 10, -12, -128, -128, 5, -11, 7, -11, -128, -128, 2, -10, 4, -11, 6, -10, 8, -10, 10, -12, -128, -128, 7, -7, 6, -6, 5, -4, 5, -3, 3, -3, 2, -2, 2, 0, 3, -1, 5, -1, 5, 5, -128, -128, 6, -5, 6, 3, -128, -128, 3, -2, 6, -2, -128, -128, 7, -7, 7, 2, 6, 4, 5, 5, -128, -128, 10, -5, 11, -8, 12, -10, 13, -11, 15, -12, 17, -12, 20, -11, -128, -128, 13, -10, 15, -11, 17, -11, 19, -10, -128, -128, 11, -8, 12, -9, 14, -10, 16, -10, 18, -9, 20, -11, -128, -128, 10, 3, 11, 0, 12, -2, 13, -3, 15, -3, 17, -2, -128, -128, 13, -2, 15, -2, 16, -1, -128, -128, 11, 0, 12, -1, 14, -1, 15, 0, 17, -2, -128, -128, 4, 9, 7, 7, 11, 6, 16, 6, 20, 7, -128, -128, 6, 8, 9, 7, 16, 7, 19, 8, -128, -128, 4, 9, 8, 8, 15, 8, 18, 9, 20, 7, -128, -128, 10, -5, 10, 6, 4, -10, 6, -12, 9, -12, 11, -11, 13, -12, -128, -128, 7, -11, 10, -11, -128, -128, 4, -10, 6, -11, 8, -10, 11, -10, 13, -12, -128, -128, 10, -7, 9, -6, 8, -4, 8, -3, 6, -3, 5, -2, 5, 0, 6, -1, 8, -1, 8, 4, -128, -128, 9, -5, 9, 2, -128, -128, 6, -2, 9, -2, -128, -128, 10, -7, 10, 1, 9, 3, 8, 4, -128, -128, 13, -8, 13, 7, 12, 8, 11, 8, 7, 6, 5, 6, 3, 7, 1, 9, -128, -128, 14, -8, 14, 6, -128, -128, 14, -2, 18, -2, -128, -128, 10, 8, 9, 8, 7, 7, 4, 7, -128, -128, 15, -9, 15, -3, 18, -3, -128, -128, 18, -1, 15, -1, 15, 5, 14, 7, 10, 9, 8, 9, 6, 8, 4, 8, 1, 9, -128, -128, 13, -8, 15, -9, 18, -12, 20, -11, 22, -11, 23, -12, -128, -128, 17, -11, 19, -10, 21, -10, -128, -128, 16, -10, 18, -9, 20, -9, 22, -10, 23, -12, -128, -128, 18, -9, 18, 5, 9, -11, 7, -10, 5, -8, 4, -6, 3, -3, 3, 0, 4, 3, 5, 5, 7, 7, 9, 8, 12, 9, 16, 9, 19, 8, 21, 6, 22, 4, 22, 1, 21, -1, 20, -2, 18, -3, 16, -3, -128, -128, 5, -7, 4, -4, 4, 1, 5, 4, -128, -128, 9, -11, 7, -9, 6, -7, 5, -4, 5, 1, 6, 4, 7, 6, 9, 8, -128, -128, 20, 6, 21, 5, 21, 1, 20, -1, -128, -128, 16, 9, 18, 8, 19, 7, 20, 5, 20, 1, 19, -1, 18, -2, 16, -3, -128, -128, 11, -8, 11, 5, -128, -128, 12, -8, 12, 3, -128, -128, 13, -9, 13, 2, 12, 4, 11, 5, -128, -128, 11, -8, 13, -9, 16, -12, 18, -11, 20, -11, 21, -12, -128, -128, 15, -11, 17, -10, 19, -10, -128, -128, 14, -10, 16, -9, 18, -9, 20, -10, 21, -12, -128, -128, 20, -10, 16, -3, 16, 9, -128, -128, 16, 1, 20, 1, -128, -128, 16, 4, 20, 4, 2, -10, 4, -12, 7, -12, 9, -11, 11, -12, -128, -128, 5, -11, 8, -11, -128, -128, 2, -10, 4, -11, 6, -10, 9, -10, 11, -12, -128, -128, 7, -7, 6, -6, 5, -4, 5, -3, 3, -3, 2, -2, 2, 0, 3, -1, 5, -1, 5, 5, -128, -128, 6, -5, 6, 3, -128, -128, 3, -2, 6, -2, -128, -128, 7, -7, 7, 2, 6, 4, 5, 5, -128, -128, 4, 9, 7, 7, 10, 6, 13, 6, 15, 7, -128, -128, 6, 8, 9, 7, 12, 7, 14, 8, -128, -128, 4, 9, 8, 8, 11, 8, 13, 9, 15, 7, -128, -128, 12, -9, 11, -8, 10, -6, 10, 3, -128, -128, 11, -7, 11, 1, -128, -128, 12, -9, 12, 0, 11, 2, 10, 3, -128, -128, 12, -9, 14, -11, 16, -12, 18, -12, 20, -11, -128, -128, 17, -11, 18, -11, 19, -10, -128, -128, 14, -11, 16, -11, 18, -9, 20, -11, -128, -128, 15, -3, 17, -4, 19, -6, 20, -5, 21, -2, 21, 2, 20, 6, 18, 9, -128, -128, 18, -5, 19, -4, 20, -2, 20, 3, 19, 6, -128, -128, 17, -4, 18, -4, 19, -2, 19, 3, 18, 9, -128, -128, 15, -3, 15, 7, -128, -128, 15, 0, 19, 0, -128, -128, 15, 3, 19, 3, 3, -10, 5, -12, 8, -12, 11, -11, 13, -12, -128, -128, 6, -11, 10, -11, -128, -128, 3, -10, 5, -11, 8, -10, 11, -10, 13, -12, -128, -128, 10, -7, 9, -6, 8, -4, 8, -3, 6, -3, 5, -2, 5, 0, 6, -1, 8, -1, 8, 4, -128, -128, 9, -5, 9, 2, -128, -128, 6, -2, 9, -2, -128, -128, 10, -7, 10, 1, 9, 3, 8, 4, -128, -128, 16, -10, 14, -8, 13, -5, 13, 6, 12, 8, 10, 8, 6, 6, 4, 6, 2, 7, 0, 9, -128, -128, 14, -7, 14, 5, -128, -128, 9, 8, 8, 8, 6, 7, 3, 7, -128, -128, 16, -10, 15, -8, 15, 4, 14, 6, 12, 8, 10, 9, 7, 9, 5, 8, 2, 8, 0, 9, 4, -10, 6, -12, 9, -12, 12, -11, 14, -12, -128, -128, 7, -11, 11, -11, -128, -128, 4, -10, 6, -11, 9, -10, 12, -10, 14, -12, -128, -128, 11, -7, 10, -6, 9, -4, 9, -3, 7, -3, 6, -2, 6, 0, 7, -1, 9, -1, 9, 4, -128, -128, 10, -5, 10, 2, -128, -128, 7, -2, 10, -2, -128, -128, 11, -7, 11, 1, 10, 3, 9, 4, -128, -128, 17, -10, 15, -8, 14, -5, 14, 6, 13, 8, -128, -128, 15, -7, 15, 5, -128, -128, 17, -10, 16, -8, 16, 4, 15, 6, 13, 8, 10, 9, 7, 9, 4, 8, 2, 6, 2, 4, 3, 3, 4, 3, 5, 4, 4, 5, 3, 5, -128, -128, 2, 4, 5, 4, 2, -10, 4, -12, 7, -12, 9, -11, 11, -12, -128, -128, 5, -11, 8, -11, -128, -128, 2, -10, 4, -11, 6, -10, 9, -10, 11, -12, -128, -128, 7, -7, 6, -6, 5, -4, 5, -3, 3, -3, 2, -2, 2, 0, 3, -1, 5, -1, 5, 5, -128, -128, 6, -5, 6, 3, -128, -128, 3, -2, 6, -2, -128, -128, 7, -7, 7, 2, 6, 4, 5, 5, -128, -128, 4, 9, 7, 7, 10, 6, 13, 6, 15, 7, -128, -128, 6, 8, 8, 7, 12, 7, 14, 8, -128, -128, 4, 9, 8, 8, 11, 8, 13, 9, 15, 7, -128, -128, 12, -9, 11, -8, 10, -6, 10, 3, -128, -128, 11, -7, 11, 1, -128, -128, 12, -9, 12, 0, 11, 2, 10, 3, -128, -128, 12, -9, 14, -11, 16, -12, 18, -12, 20, -11, -128, -128, 17, -11, 18, -11, 19, -10, -128, -128, 14, -11, 16, -11, 18, -9, 20, -11, -128, -128, 15, -3, 18, -6, 19, -5, 21, -4, -128, -128, 17, -5, 19, -4, 21, -4, -128, -128, 21, -4, 19, -1, 17, 1, 15, 3, -128, -128, 17, 1, 19, 2, 20, 6, 21, 8, 22, 8, -128, -128, 19, 4, 20, 8, -128, -128, 17, 1, 18, 2, 19, 8, 20, 9, 21, 9, 22, 8, -128, -128, 15, -3, 15, 7, 2, -10, 4, -12, 7, -12, 9, -11, 11, -12, -128, -128, 5, -11, 8, -11, -128, -128, 2, -10, 4, -11, 6, -10, 9, -10, 11, -12, -128, -128, 7, -7, 6, -6, 5, -4, 5, -3, 3, -3, 2, -2, 2, 0, 3, -1, 5, -1, 5, 5, -128, -128, 6, -5, 6, 3, -128, -128, 3, -2, 6, -2, -128, -128, 7, -7, 7, 2, 6, 4, 5, 5, -128, -128, 4, 9, 7, 7, 11, 6, 16, 6, 20, 7, -128, -128, 6, 8, 9, 7, 16, 7, 19, 8, -128, -128, 4, 9, 8, 8, 15, 8, 18, 9, 20, 7, -128, -128, 12, -9, 11, -8, 10, -6, 10, 3, -128, -128, 11, -7, 11, 1, -128, -128, 12, -9, 12, 0, 11, 2, 10, 3, -128, -128, 12, -9, 14, -11, 16, -12, 18, -12, 20, -11, -128, -128, 17, -11, 18, -11, 19, -10, -128, -128, 14, -11, 16, -11, 18, -9, 20, -11, -128, -128, 16, -11, 16, 6, 8, -8, 7, -7, 6, -5, 6, -3, 4, -3, 3, -2, 3, 0, 4, -1, 6, -1, 6, 3, -128, -128, 7, -6, 7, 1, -128, -128, 4, -2, 7, -2, -128, -128, 8, -8, 8, 0, 7, 2, 6, 3, -128, -128, 1, 9, 3, 7, 5, 6, 7, 6, 9, 7, 10, 7, 11, 6, -128, -128, 4, 7, 7, 7, 9, 8, -128, -128, 1, 9, 3, 8, 6, 8, 8, 9, 9, 9, 10, 8, 11, 6, -128, -128, 8, -8, 12, -12, 16, -8, 16, 5, 17, 7, 18, 7, -128, -128, 12, -11, 15, -8, 15, 6, 14, 7, 15, 8, 16, 7, 15, 6, -128, -128, 12, -2, 15, -2, -128, -128, 10, -10, 11, -10, 14, -7, 14, -3, 11, -3, -128, -128, 11, -1, 14, -1, 14, 6, 13, 7, 15, 9, 18, 7, 19, 6, -128, -128, 16, -8, 20, -12, 24, -8, 24, 5, 25, 7, 26, 7, -128, -128, 20, -11, 23, -8, 23, 6, 25, 8, -128, -128, 20, -2, 23, -2, -128, -128, 18, -10, 19, -10, 22, -7, 22, -3, 19, -3, -128, -128, 19, -1, 22, -1, 22, 7, 24, 9, 26, 7, -128, -128, 11, -10, 11, 6, -128, -128, 19, -10, 19, 6, 2, -9, 4, -11, 6, -12, 8, -12, 10, -11, 12, -8, 17, 3, 19, 6, 20, 7, -128, -128, 8, -11, 10, -9, 11, -7, 17, 5, 20, 8, -128, -128, 4, -11, 6, -11, 8, -10, 10, -7, 15, 4, 17, 7, 18, 8, 20, 9, -128, -128, 17, -10, 19, -9, 21, -9, 23, -10, 24, -12, -128, -128, 18, -11, 20, -10, 22, -10, -128, -128, 17, -10, 19, -12, 21, -11, 23, -11, 24, -12, -128, -128, 6, -3, 4, -3, 3, -2, 3, 0, 4, -1, 6, -1, -128, -128, 4, -2, 6, -2, -128, -128, 2, 9, 4, 7, 6, 6, 9, 6, 11, 7, -128, -128, 5, 7, 8, 7, 10, 8, -128, -128, 2, 9, 5, 8, 8, 8, 9, 9, 11, 7, -128, -128, 6, -11, 6, 6, -128, -128, 20, -9, 20, 9, -128, -128, 13, -6, 14, -5, 16, -4, 18, -4, 20, -5, -128, -128, 6, 2, 8, 1, 12, 1, 14, 2, 9, -12, 7, -11, 5, -9, 4, -7, 3, -4, 3, 0, 4, 3, 5, 5, 7, 7, 9, 8, 12, 9, 14, 9, 17, 8, 19, 7, 21, 5, 22, 3, 23, 0, 23, -4, 22, -7, 21, -9, 19, -11, 17, -12, 16, -11, 13, -9, 10, -8, -128, -128, 5, -8, 4, -5, 4, 1, 5, 4, -128, -128, 9, -12, 7, -10, 6, -8, 5, -5, 5, 1, 6, 4, 7, 6, 9, 8, -128, -128, 21, 4, 22, 1, 22, -5, 20, -9, 19, -10, -128, -128, 17, 8, 19, 6, 20, 4, 21, 1, 21, -5, 20, -7, 18, -10, 16, -11, -128, -128, 10, -8, 10, 5, -128, -128, 11, -8, 11, 3, -128, -128, 12, -8, 12, 2, 11, 4, 10, 5, -128, -128, 16, -11, 16, 8, -128, -128, 16, -5, 18, -4, 19, -4, 21, -5, -128, -128, 16, 1, 18, 0, 19, 0, 21, 1, 3, -12, 4, -11, 5, -9, 5, -3, 3, -3, 2, -2, 2, 0, 3, -1, 5, -1, 5, 7, 2, 9, 5, 8, 5, 16, 7, 14, -128, -128, 5, -10, 6, -8, 6, 14, -128, -128, 3, -2, 6, -2, -128, -128, 3, -12, 5, -11, 6, -10, 7, -8, 7, 14, -128, -128, 7, -7, 10, -9, 14, -12, 18, -8, 18, 6, -128, -128, 14, -11, 17, -8, 17, 6, -128, -128, 12, -10, 13, -10, 16, -7, 16, 7, -128, -128, 10, 6, 13, 6, 16, 7, -128, -128, 11, 7, 13, 7, 15, 8, -128, -128, 10, 8, 12, 8, 14, 9, 16, 7, 18, 6, -128, -128, 10, -9, 10, 13, -128, -128, 10, -5, 12, -4, 14, -4, 16, -5, -128, -128, 10, 1, 12, 0, 14, 0, 16, 1, 9, -12, 7, -11, 5, -9, 4, -7, 3, -4, 3, 0, 4, 3, 5, 5, 7, 7, 9, 8, 11, 9, 15, 9, 17, 8, 19, 7, 21, 5, 22, 3, 23, 0, 23, -4, 22, -7, 21, -9, 19, -11, 17, -12, 16, -11, 13, -9, 10, -8, -128, -128, 5, -8, 4, -5, 4, 1, 5, 4, -128, -128, 9, -12, 7, -10, 6, -8, 5, -5, 5, 1, 6, 4, 7, 6, 9, 8, -128, -128, 21, 4, 22, 1, 22, -5, 20, -9, 19, -10, -128, -128, 17, 8, 19, 6, 20, 4, 21, 1, 21, -5, 20, -7, 18, -10, 16, -11, -128, -128, 10, -8, 10, 5, -128, -128, 11, -8, 11, 3, -128, -128, 12, -8, 12, 2, 11, 4, 10, 5, -128, -128, 16, -11, 16, 8, -128, -128, 16, -5, 18, -4, 19, -4, 21, -5, -128, -128, 16, 1, 18, 0, 19, 0, 21, 1, -128, -128, 11, 9, 12, 8, 13, 8, 15, 9, 19, 14, 21, 15, 22, 15, -128, -128, 15, 10, 17, 13, 19, 15, 20, 15, -128, -128, 13, 8, 14, 9, 17, 15, 19, 16, 21, 16, 22, 15, 2, -10, 4, -12, 7, -12, 9, -11, 11, -12, -128, -128, 5, -11, 8, -11, -128, -128, 2, -10, 4, -11, 6, -10, 9, -10, 11, -12, -128, -128, 7, -7, 6, -6, 5, -4, 5, -3, 3, -3, 2, -2, 2, 0, 3, -1, 5, -1, 5, 5, -128, -128, 6, -5, 6, 3, -128, -128, 3, -2, 6, -2, -128, -128, 7, -7, 7, 2, 6, 4, 5, 5, -128, -128, 4, 9, 7, 7, 10, 6, 12, 6, 15, 7, -128, -128, 6, 8, 8, 7, 12, 7, 14, 8, -128, -128, 4, 9, 8, 8, 11, 8, 13, 9, 15, 7, -128, -128, 12, -9, 11, -8, 10, -6, 10, 3, -128, -128, 11, -7, 11, 1, -128, -128, 12, -9, 12, 0, 11, 2, 10, 3, -128, -128, 12, -9, 15, -11, 17, -12, 19, -11, 20, -9, 20, -6, 19, -4, 18, -3, 14, -1, 12, 0, -128, -128, 17, -11, 18, -11, 19, -9, 19, -5, 18, -4, -128, -128, 15, -11, 17, -10, 18, -8, 18, -5, 17, -3, 14, -1, -128, -128, 14, -1, 16, 0, 17, 1, 20, 6, 21, 7, 22, 7, -128, -128, 17, 2, 19, 6, 21, 8, -128, -128, 14, -1, 16, 1, 18, 7, 20, 9, 22, 7, 14, -9, 13, -10, 11, -11, 8, -12, -128, -128, 15, -10, 13, -11, -128, -128, 16, -11, 12, -12, 8, -12, 5, -11, 4, -10, 3, -8, 4, -6, 5, -5, 8, -4, 16, -4, 18, -3, 19, -2, 19, 0, 18, 3, -128, -128, 4, -7, 5, -6, 8, -5, 17, -5, 19, -4, 20, -3, 20, -1, 19, 1, -128, -128, 4, -10, 4, -8, 5, -7, 8, -6, 18, -6, 20, -5, 21, -3, 21, -1, 18, 3, 14, 9, -128, -128, 2, -3, 3, -2, 5, -1, 14, -1, 15, 0, 15, 1, 14, 3, -128, -128, 3, -1, 5, 0, 13, 0, 14, 1, -128, -128, 2, -3, 2, -2, 3, 0, 5, 1, 12, 1, 14, 2, 14, 3, -128, -128, 2, 9, 5, 7, 9, 6, 12, 6, 15, 7, -128, -128, 4, 8, 7, 7, 11, 7, 14, 8, -128, -128, 2, 9, 6, 8, 11, 8, 14, 9, -128, -128, 16, -11, 14, -9, 12, -6, -128, -128, 11, -4, 9, -1, -128, -128, 8, 1, 6, 3, 4, 4, 3, 4, 3, 3, 4, 4, 5, -8, 4, -6, 3, -3, 3, 1, 4, 4, 6, 7, 8, 8, 11, 9, 14, 9, 17, 8, 19, 7, 21, 5, 22, 3, -128, -128, 4, 1, 5, 4, 7, 6, 9, 7, 12, 8, 15, 8, 18, 7, -128, -128, 5, -8, 4, -5, 4, -1, 5, 2, 7, 5, 9, 6, 12, 7, 15, 7, 18, 6, 20, 5, 22, 3, -128, -128, 3, -9, 4, -11, 6, -12, 10, -12, 16, -11, 20, -11, 22, -12, -128, -128, 11, -11, 15, -10, 19, -10, -128, -128, 3, -9, 4, -10, 6, -11, 9, -11, 15, -9, 18, -9, 20, -10, 22, -12, -128, -128, 14, -9, 13, -8, 11, -7, 11, 4, -128, -128, 12, -7, 12, 2, -128, -128, 13, -8, 13, 1, 12, 3, 11, 4, -128, -128, 18, -9, 18, 6, 2, -10, 4, -12, 6, -12, 9, -11, 11, -12, -128, -128, 5, -11, 8, -11, -128, -128, 2, -10, 4, -11, 7, -10, 9, -10, 11, -12, -128, -128, 5, -8, 4, -6, 3, -3, 3, 1, 4, 4, 5, 6, 7, 8, 10, 9, 13, 9, 16, 8, 18, 7, 20, 9, 22, 7, -128, -128, 4, 1, 5, 4, 8, 7, 11, 8, 14, 8, -128, -128, 5, -8, 4, -4, 4, -1, 5, 2, 6, 4, 8, 6, 11, 7, 15, 7, 18, 6, -128, -128, 15, -9, 11, -8, 10, -6, 10, 4, -128, -128, 11, -7, 11, 2, -128, -128, 12, -8, 12, 1, 11, 3, 10, 4, -128, -128, 15, -9, 17, -10, 19, -12, 20, -11, 22, -10, 20, -9, 20, 5, 21, 7, 22, 7, -128, -128, 19, -9, 20, -10, 19, -11, 18, -10, 19, -9, 19, 6, 21, 8, -128, -128, 17, -10, 18, -9, 18, 6, -128, -128, 15, -9, 15, 7, -128, -128, 15, -4, 18, -4, -128, -128, 15, 0, 18, 0, 3, -12, 4, -11, 5, -9, 5, -3, 3, -3, 2, -2, 2, 0, 3, -1, 5, -1, 5, 6, 3, 7, -128, -128, 5, -10, 6, -8, 6, 6, -128, -128, 3, -2, 6, -2, -128, -128, 7, 7, 10, 7, 12, 8, -128, -128, 3, -12, 5, -11, 6, -10, 7, -8, 7, 6, 11, 6, 14, 7, -128, -128, 3, 7, 6, 7, 9, 8, 11, 9, 14, 7, 17, 6, 19, 6, -128, -128, 11, -8, 14, -9, 16, -10, 18, -12, 19, -11, 21, -10, 19, -9, 19, 6, -128, -128, 18, -9, 19, -10, 18, -11, 17, -10, 18, -9, 18, 5, -128, -128, 16, -10, 17, -9, 17, 6, -128, -128, 11, -8, 11, 6, -128, -128, 11, -5, 13, -4, 15, -4, 17, -5, -128, -128, 11, 1, 13, 0, 15, 0, 17, 1, 3, -12, 4, -11, 5, -9, 5, -3, 3, -3, 2, -2, 2, 0, 3, -1, 5, -1, 5, 6, 3, 7, -128, -128, 5, -10, 6, -8, 6, 6, -128, -128, 3, -2, 6, -2, -128, -128, 7, 7, 9, 7, 11, 8, -128, -128, 3, -12, 5, -11, 6, -10, 7, -8, 7, 6, 10, 6, 12, 7, -128, -128, 3, 7, 6, 7, 9, 8, 10, 9, 12, 7, 15, 6, 17, 7, 18, 9, 20, 7, 23, 6, -128, -128, 10, -10, 13, -12, 15, -10, 15, 6, 18, 6, 20, 7, -128, -128, 13, -11, 14, -10, 14, 6, -128, -128, 10, -10, 12, -10, 13, -9, 13, 6, 12, 7, -128, -128, 18, 7, 19, 8, -128, -128, 18, -10, 21, -12, 23, -10, 23, 6, -128, -128, 21, -11, 22, -10, 22, 6, -128, -128, 18, -10, 20, -10, 21, -9, 21, 6, 20, 7, -128, -128, 10, -10, 10, 6, -128, -128, 18, -10, 18, 6, -128, -128, 10, -4, 13, -4, -128, -128, 10, 0, 13, 0, -128, -128, 18, -4, 21, -4, -128, -128, 18, 0, 21, 0, 1, -9, 3, -11, 5, -12, 7, -12, 8, -11, 16, 7, 17, 8, 19, 8, -128, -128, 6, -11, 7, -10, 15, 7, 16, 8, -128, -128, 3, -11, 5, -11, 6, -10, 14, 8, 15, 9, 17, 9, 19, 8, 21, 6, -128, -128, 16, -12, 18, -11, 20, -11, 21, -12, -128, -128, 16, -11, 17, -10, 19, -10, -128, -128, 15, -10, 16, -9, 18, -9, 20, -10, 21, -12, -128, -128, 1, 9, 2, 7, 4, 6, 6, 6, 7, 7, -128, -128, 3, 7, 5, 7, 6, 8, -128, -128, 1, 9, 2, 8, 4, 8, 6, 9, -128, -128, 16, -12, 12, -3, -128, -128, 10, 0, 6, 9, -128, -128, 5, -2, 9, -2, -128, -128, 12, -2, 17, -2, 3, -12, 4, -11, 5, -9, 5, -3, 3, -3, 2, -2, 2, 0, 3, -1, 5, -1, 5, 6, 3, 7, -128, -128, 5, -10, 6, -8, 6, 6, -128, -128, 3, -2, 6, -2, -128, -128, 7, 7, 10, 7, 12, 8, -128, -128, 3, -12, 5, -11, 6, -10, 7, -8, 7, 6, 11, 6, 14, 7, -128, -128, 3, 7, 6, 7, 9, 8, 11, 9, 14, 7, 17, 6, -128, -128, 11, -8, 14, -9, 16, -10, 18, -12, 19, -11, 21, -10, 19, -9, 19, 12, 18, 14, 16, 16, 14, 15, 10, 14, 5, 14, -128, -128, 18, -9, 19, -10, 18, -11, 17, -10, 18, -9, 18, 7, -128, -128, 16, -10, 17, -9, 17, 6, 19, 9, -128, -128, 17, 15, 15, 14, 12, 14, -128, -128, 18, 14, 15, 13, 9, 13, 5, 14, -128, -128, 11, -8, 11, 6, -128, -128, 11, -5, 13, -4, 15, -4, 17, -5, -128, -128, 11, 1, 13, 0, 15, 0, 17, 1, 16, -11, 15, -9, 10, -3, 7, 1, 5, 5, 2, 9, -128, -128, 14, -7, 6, 4, -128, -128, 18, -12, 15, -8, 13, -4, 10, 0, 5, 6, 4, 8, -128, -128, 2, -10, 4, -12, 7, -11, 13, -11, 18, -12, -128, -128, 3, -11, 7, -10, 11, -10, 15, -11, -128, -128, 2, -10, 6, -9, 10, -9, 14, -10, 16, -11, -128, -128, 4, 8, 6, 7, 10, 6, 14, 6, 18, 7, -128, -128, 5, 8, 9, 7, 13, 7, 17, 8, -128, -128, 2, 9, 7, 8, 13, 8, 16, 9, 18, 7, -128, -128, 5, -2, 9, -2, -128, -128, 12, -2, 16, -2, 4, -16, 4, 16, -128, -128, 5, -16, 5, 16, -128, -128, 4, -16, 11, -16, -128, -128, 4, 16, 11, 16, 0, -12, 14, 12, 9, -16, 9, 16, -128, -128, 10, -16, 10, 16, -128, -128, 3, -16, 10, -16, -128, -128, 3, 16, 10, 16, 6, -6, 8, -9, 10, -6, -128, -128, 3, -3, 8, -8, 13, -3, -128, -128, 8, -8, 8, 9, 0, 11, 16, 11, 8, -12, 6, -11, 5, -9, 5, -7, 6, -5, 8, -7, 6, -9, 6, -11, -128, -128, 6, -8, 6, -6, 7, -7, 6, -8, 6, 0, 4, 2, 3, 4, 3, 6, 4, 8, 6, 9, 8, 7, 11, 6, -128, -128, 3, 4, 4, 6, 5, 7, 7, 8, -128, -128, 4, 2, 4, 4, 5, 6, 7, 7, 8, 7, -128, -128, 4, -2, 6, -2, 9, -3, 11, -4, 12, -5, 14, -3, 13, -2, 13, 6, 14, 7, 15, 7, -128, -128, 5, -4, 4, -3, 7, -3, -128, -128, 10, -3, 13, -3, 12, -4, 12, 7, 13, 8, -128, -128, 3, -3, 5, -5, 6, -4, 8, -3, 11, -2, 11, 7, 13, 9, 15, 7, -128, -128, 3, -3, 8, 2, 3, -10, 4, -8, 4, 6, 2, 7, -128, -128, 5, -8, 4, -10, 5, -11, 5, 6, 8, 8, -128, -128, 3, -10, 6, -12, 6, 6, 8, 7, 9, 8, -128, -128, 2, 7, 4, 7, 6, 8, 7, 9, 9, 8, 12, 7, 14, 7, -128, -128, 6, -2, 9, -3, 11, -4, 12, -5, 13, -4, 15, -3, 16, -3, 14, -2, 14, 7, -128, -128, 11, -4, 13, -3, 13, 6, -128, -128, 9, -3, 10, -3, 12, -2, 12, 7, 4, -3, 4, 6, 2, 7, 3, 7, 5, 8, 6, 9, -128, -128, 5, -3, 5, 7, 7, 8, -128, -128, 6, -3, 6, 6, 8, 7, 9, 7, 7, 8, 6, 9, -128, -128, 4, -3, 8, -4, 10, -5, 11, -4, 13, -3, 14, -3, -128, -128, 9, -4, 10, -3, 12, -3, -128, -128, 6, -3, 8, -4, 10, -2, 12, -2, 14, -3, 9, -5, 7, -4, 4, -3, 4, 6, 2, 7, -128, -128, 5, -3, 5, 6, 8, 8, -128, -128, 9, -5, 6, -3, 6, 6, 8, 7, 9, 8, -128, -128, 2, 7, 4, 7, 6, 8, 7, 9, 9, 8, 12, 7, 14, 7, -128, -128, 4, -10, 7, -12, 8, -9, 14, -3, 14, 7, -128, -128, 7, -9, 5, -10, 6, -11, 7, -9, 13, -3, 13, 6, -128, -128, 4, -10, 12, -2, 12, 7, 4, -3, 4, 6, 2, 7, 3, 7, 5, 8, 6, 9, -128, -128, 5, -3, 5, 7, 7, 8, -128, -128, 6, -3, 6, 6, 8, 7, 9, 7, 7, 8, 6, 9, -128, -128, 4, -3, 8, -4, 10, -5, 13, -1, 11, 0, 6, 3, -128, -128, 9, -4, 12, -1, -128, -128, 6, -3, 8, -4, 11, 0, 4, -10, 4, 6, 2, 7, 3, 7, 5, 8, 6, 9, -128, -128, 5, -10, 5, 7, 7, 8, -128, -128, 6, -10, 6, 6, 8, 7, 9, 7, 7, 8, 6, 9, -128, -128, 4, -10, 7, -11, 9, -12, 10, -11, 12, -10, 13, -10, -128, -128, 8, -11, 9, -10, 11, -10, -128, -128, 6, -10, 7, -11, 9, -9, 11, -9, 13, -10, -128, -128, 1, -5, 4, -5, -128, -128, 6, -5, 10, -5, 4, -3, 4, 6, 2, 7, 3, 7, 5, 8, 6, 9, 7, 8, 9, 7, 12, 6, -128, -128, 5, -2, 5, 7, 7, 8, -128, -128, 6, -3, 6, 6, 8, 7, 9, 7, -128, -128, 4, -3, 6, -3, 9, -4, 11, -5, 12, -4, 14, -3, 16, -3, 14, -2, 14, 10, 13, 13, 11, 15, 9, 16, 8, 15, 6, 14, 4, 14, -128, -128, 10, -4, 13, -2, 13, 10, -128, -128, 10, 15, 8, 14, 7, 14, -128, -128, 9, -4, 10, -3, 12, -2, 12, 8, 13, 11, 13, 13, -128, -128, 11, 15, 10, 14, 8, 13, 6, 13, 4, 14, 3, -10, 4, -8, 4, 6, 2, 7, 3, 7, 5, 8, 6, 9, -128, -128, 5, -8, 4, -10, 5, -11, 5, 7, 7, 8, -128, -128, 3, -10, 6, -12, 6, 6, 8, 7, 6, 9, -128, -128, 6, -2, 9, -3, 11, -4, 12, -5, 13, -4, 15, -3, 16, -3, 14, -2, 14, 7, 12, 9, 11, 11, -128, -128, 11, -4, 13, -3, 13, 7, 12, 9, -128, -128, 9, -3, 10, -3, 12, -2, 12, 7, 11, 11, 11, 14, 12, 16, 13, 16, 11, 14, 5, -12, 3, -10, 5, -9, 7, -10, 5, -12, -128, -128, 5, -11, 4, -10, 6, -10, 5, -11, -128, -128, 5, -5, 4, -4, 2, -3, 4, -2, 4, 7, 6, 9, 8, 7, -128, -128, 5, -2, 6, -3, 5, -4, 4, -3, 5, -2, 5, 7, 6, 8, -128, -128, 5, -5, 6, -4, 8, -3, 6, -2, 6, 6, 7, 7, 8, 7, 5, -12, 3, -10, 5, -9, 7, -10, 5, -12, -128, -128, 5, -11, 4, -10, 6, -10, 5, -11, -128, -128, 5, -5, 4, -4, 2, -3, 4, -2, 4, 7, 6, 9, 7, 11, -128, -128, 5, -2, 6, -3, 5, -4, 4, -3, 5, -2, 5, 7, 6, 9, -128, -128, 5, -5, 6, -4, 8, -3, 6, -2, 6, 7, 7, 11, 7, 14, 5, 16, 3, 16, 3, 15, 5, 16, 3, -10, 4, -8, 4, 6, 2, 7, 3, 7, 5, 8, 6, 9, -128, -128, 5, -8, 4, -10, 5, -11, 5, 7, 7, 8, -128, -128, 3, -10, 6, -12, 6, 6, 8, 7, 6, 9, -128, -128, 6, -2, 9, -4, 11, -5, 13, -2, 10, 0, 6, 3, -128, -128, 10, -4, 12, -2, -128, -128, 9, -4, 11, -1, -128, -128, 10, 0, 11, 1, 13, 6, 14, 7, 15, 7, -128, -128, 10, 1, 11, 2, 12, 7, 13, 8, -128, -128, 9, 1, 10, 2, 11, 7, 13, 9, 15, 7, 3, -10, 4, -8, 4, 6, 2, 7, 3, 7, 5, 8, 6, 9, -128, -128, 5, -8, 4, -10, 5, -11, 5, 7, 7, 8, -128, -128, 3, -10, 6, -12, 6, 6, 8, 7, 9, 7, 7, 8, 6, 9, 2, -3, 3, -3, 4, -2, 4, 6, 2, 7, 3, 7, 5, 8, 6, 9, -128, -128, 4, -4, 5, -3, 5, 7, 7, 8, -128, -128, 2, -3, 4, -5, 6, -3, 6, 6, 8, 7, 6, 9, -128, -128, 6, -2, 9, -3, 11, -4, 12, -5, 14, -3, 14, 6, 16, 7, 14, 9, -128, -128, 11, -4, 13, -3, 13, 7, 15, 8, -128, -128, 9, -3, 10, -3, 12, -2, 12, 6, 11, 7, 13, 8, 14, 9, -128, -128, 14, -2, 17, -3, 19, -4, 20, -5, 21, -4, 23, -3, 24, -3, 22, -2, 22, 6, 23, 7, 24, 7, -128, -128, 19, -4, 21, -3, 21, 7, 22, 8, -128, -128, 17, -3, 18, -3, 20, -2, 20, 7, 22, 9, 24, 7, 2, -3, 3, -3, 4, -2, 4, 6, 2, 7, 3, 7, 5, 8, 6, 9, -128, -128, 4, -4, 5, -3, 5, 7, 7, 8, -128, -128, 2, -3, 4, -5, 6, -3, 6, 6, 8, 7, 6, 9, -128, -128, 6, -2, 9, -3, 11, -4, 12, -5, 13, -4, 15, -3, 16, -3, 14, -2, 14, 6, 15, 7, 16, 7, -128, -128, 11, -4, 13, -3, 13, 7, 14, 8, -128, -128, 9, -3, 10, -3, 12, -2, 12, 7, 14, 9, 16, 7, 4, -3, 4, 6, 2, 7, -128, -128, 5, -2, 5, 6, 8, 8, -128, -128, 6, -3, 6, 6, 8, 7, 9, 8, -128, -128, 2, 7, 4, 7, 6, 8, 7, 9, 9, 8, 12, 7, 14, 7, -128, -128, 4, -3, 6, -3, 9, -4, 11, -5, 12, -4, 14, -3, 16, -3, 14, -2, 14, 7, -128, -128, 10, -4, 13, -2, 13, 6, -128, -128, 9, -4, 10, -3, 12, -2, 12, 7, 3, -5, 4, -3, 4, 6, 2, 7, 4, 7, 4, 16, -128, -128, 4, -4, 5, -3, 5, 15, 6, 14, 5, 12, -128, -128, 5, 7, 6, 7, 8, 8, -128, -128, 3, -5, 5, -4, 6, -3, 6, 6, 8, 7, 9, 8, -128, -128, 6, 8, 7, 9, 9, 8, 12, 7, 14, 7, -128, -128, 6, 8, 6, 12, 7, 14, 4, 16, -128, -128, 6, -2, 9, -3, 11, -4, 12, -5, 13, -4, 15, -3, 16, -3, 14, -2, 14, 7, -128, -128, 11, -4, 13, -3, 13, 6, -128, -128, 9, -3, 10, -3, 12, -2, 12, 7, 4, -3, 4, 6, 2, 7, -128, -128, 5, -2, 5, 7, 7, 8, -128, -128, 6, -3, 6, 6, 8, 7, 9, 7, -128, -128, 2, 7, 3, 7, 5, 8, 6, 9, 7, 8, 9, 7, 12, 6, -128, -128, 4, -3, 6, -3, 9, -4, 11, -5, 12, -4, 14, -3, 16, -3, 14, -2, 14, 16, -128, -128, 10, -4, 13, -2, 13, 15, 12, 14, 13, 12, -128, -128, 9, -4, 10, -3, 12, -2, 12, 12, 11, 14, 14, 16, 2, -3, 3, -3, 4, -2, 4, 6, 2, 7, 3, 7, 5, 8, 6, 9, -128, -128, 3, -4, 5, -3, 5, 7, 7, 8, -128, -128, 2, -3, 4, -5, 6, -3, 6, 6, 8, 7, 9, 7, 7, 8, 6, 9, -128, -128, 6, -3, 10, -5, 11, -4, 13, -3, 14, -3, -128, -128, 9, -4, 10, -3, 12, -3, -128, -128, 8, -4, 10, -2, 12, -2, 14, -3, 3, -3, 3, 1, 5, 2, 11, 2, 13, 3, 13, 7, -128, -128, 4, -3, 4, 1, -128, -128, 12, 3, 12, 7, -128, -128, 6, -4, 5, -3, 5, 1, 7, 2, -128, -128, 9, 2, 11, 3, 11, 7, 10, 8, -128, -128, 3, -3, 6, -4, 8, -5, 10, -4, 12, -4, 13, -5, -128, -128, 7, -4, 9, -4, -128, -128, 6, -4, 8, -3, 10, -3, 12, -4, -128, -128, 13, 7, 10, 8, 8, 9, 6, 8, 4, 8, 2, 9, -128, -128, 9, 8, 7, 8, -128, -128, 10, 8, 8, 7, 5, 7, 2, 9, -128, -128, 13, -5, 12, -3, 10, 0, 5, 5, 2, 9, 3, -10, 4, -8, 4, 6, 2, 7, 3, 7, 5, 8, 6, 9, -128, -128, 5, -8, 4, -10, 5, -11, 5, 7, 7, 8, -128, -128, 3, -10, 6, -12, 6, 6, 8, 7, 9, 7, 7, 8, 6, 9, -128, -128, 1, -5, 4, -5, -128, -128, 6, -5, 9, -5, 2, -3, 3, -3, 4, -2, 4, 6, 2, 7, -128, -128, 3, -4, 5, -3, 5, 7, 7, 8, -128, -128, 2, -3, 4, -5, 6, -3, 6, 6, 8, 7, 9, 7, -128, -128, 2, 7, 3, 7, 5, 8, 6, 9, 7, 8, 9, 7, 12, 6, -128, -128, 12, -5, 13, -4, 15, -3, 16, -3, 14, -2, 14, 6, 15, 7, 16, 7, -128, -128, 11, -4, 13, -3, 13, 7, 14, 8, -128, -128, 12, -5, 10, -3, 12, -2, 12, 7, 14, 9, 16, 7, 3, -5, 4, -3, 4, 6, 7, 9, 9, 7, 12, 6, 14, 6, -128, -128, 4, -4, 5, -3, 5, 6, 8, 8, -128, -128, 3, -5, 5, -4, 6, -3, 6, 5, 7, 6, 9, 7, -128, -128, 12, -5, 13, -4, 15, -3, 16, -3, 14, -2, 14, 6, -128, -128, 11, -4, 13, -3, 13, 5, -128, -128, 12, -5, 10, -3, 12, -2, 12, 6, 3, -5, 4, -3, 4, 6, 7, 9, 9, 7, 12, 6, -128, -128, 4, -4, 5, -3, 5, 6, 8, 8, -128, -128, 3, -5, 5, -4, 6, -3, 6, 5, 7, 6, 9, 7, -128, -128, 12, -5, 10, -3, 12, -2, 12, 6, 15, 9, 17, 7, 20, 6, 22, 6, -128, -128, 11, -4, 13, -3, 13, 6, 16, 8, -128, -128, 12, -5, 13, -4, 15, -3, 14, -2, 14, 5, 15, 6, 17, 7, -128, -128, 20, -5, 21, -4, 23, -3, 24, -3, 22, -2, 22, 6, -128, -128, 19, -4, 21, -3, 21, 5, -128, -128, 20, -5, 18, -3, 20, -2, 20, 6, 3, -3, 4, -3, 6, -2, 7, -1, 11, 7, 12, 8, 14, 9, 16, 7, -128, -128, 5, -4, 7, -3, 12, 7, 14, 8, -128, -128, 3, -3, 5, -5, 7, -4, 8, -3, 12, 5, 13, 6, 15, 7, 16, 7, -128, -128, 10, 1, 13, -5, 14, -4, 16, -4, 17, -5, -128, -128, 13, -4, 14, -3, 15, -3, -128, -128, 12, -3, 14, -2, 16, -3, 17, -5, -128, -128, 9, 3, 6, 9, 5, 8, 3, 8, 2, 9, -128, -128, 6, 8, 5, 7, 4, 7, -128, -128, 7, 7, 5, 6, 3, 7, 2, 9, -128, -128, 5, 2, 8, 2, -128, -128, 11, 2, 14, 2, 2, -3, 3, -3, 4, -2, 4, 6, 2, 7, -128, -128, 3, -4, 5, -3, 5, 7, 7, 8, -128, -128, 2, -3, 4, -5, 6, -3, 6, 6, 8, 7, 9, 7, -128, -128, 2, 7, 3, 7, 5, 8, 6, 9, 7, 8, 9, 7, 12, 6, -128, -128, 12, -5, 13, -4, 15, -3, 16, -3, 14, -2, 14, 10, 13, 13, 11, 15, 9, 16, 8, 15, 6, 14, 4, 14, -128, -128, 11, -4, 13, -3, 13, 10, -128, -128, 10, 15, 8, 14, 7, 14, -128, -128, 12, -5, 10, -3, 12, -2, 12, 8, 13, 11, 13, 13, -128, -128, 11, 15, 10, 14, 8, 13, 6, 13, 4, 14, 15, -5, 3, 9, -128, -128, 3, -3, 5, -2, 8, -2, 11, -3, 15, -5, -128, -128, 4, -4, 6, -3, 10, -3, -128, -128, 3, -3, 5, -5, 7, -4, 11, -4, 15, -5, -128, -128, 3, 9, 7, 7, 10, 6, 13, 6, 15, 7, -128, -128, 8, 7, 12, 7, 14, 8, -128, -128, 3, 9, 7, 8, 11, 8, 13, 9, 15, 7, -128, -128, 5, 2, 13, 2, 9, -16, 7, -15, 6, -14, 5, -12, 5, -10, 6, -8, 7, -7, 8, -5, 8, -3, 6, -1, -128, -128, 7, -15, 6, -13, 6, -11, 7, -9, 8, -8, 9, -6, 9, -4, 8, -2, 4, 0, 8, 2, 9, 4, 9, 6, 8, 8, 7, 9, 6, 11, 6, 13, 7, 15, -128, -128, 6, 1, 8, 3, 8, 5, 7, 7, 6, 8, 5, 10, 5, 12, 6, 14, 7, 15, 9, 16, 4, -16, 4, 16, 5, -16, 7, -15, 8, -14, 9, -12, 9, -10, 8, -8, 7, -7, 6, -5, 6, -3, 8, -1, -128, -128, 7, -15, 8, -13, 8, -11, 7, -9, 6, -8, 5, -6, 5, -4, 6, -2, 10, 0, 6, 2, 5, 4, 5, 6, 6, 8, 7, 9, 8, 11, 8, 13, 7, 15, -128, -128, 8, 1, 6, 3, 6, 5, 7, 7, 8, 8, 9, 10, 9, 12, 8, 14, 7, 15, 5, 16, 3, 3, 3, 1, 4, -2, 6, -3, 8, -3, 10, -2, 14, 1, 16, 2, 18, 2, 20, 1, 21, -1, -128, -128, 3, 1, 4, -1, 6, -2, 8, -2, 10, -1, 14, 2, 16, 3, 18, 3, 20, 2, 21, -1, 21, -3, 6, -12, 4, -11, 3, -9, 3, -7, 4, -5, 6, -4, 8, -4, 10, -5, 11, -7, 11, -9, 10, -11, 8, -12, 6, -12, -128, -128, 6, -12, 3, -9, 4, -5, 8, -4, 11, -7, 10, -11, 6, -12, -128, -128, 8, -12, 4, -11, 3, -7, 6, -4, 10, -5, 11, -9, 8, -12 +}; + +const hershey_font_t gothgbt { + .chars = { + {.width=16, .vertex_count=0, .vertices=&gothgbt_vertices[0]}, + {.width=12, .vertex_count=29, .vertices=&gothgbt_vertices[0]}, + {.width=18, .vertex_count=21, .vertices=&gothgbt_vertices[58]}, + {.width=21, .vertex_count=11, .vertices=&gothgbt_vertices[100]}, + {.width=20, .vertex_count=59, .vertices=&gothgbt_vertices[122]}, + {.width=24, .vertex_count=31, .vertices=&gothgbt_vertices[240]}, + {.width=26, .vertex_count=61, .vertices=&gothgbt_vertices[302]}, + {.width=12, .vertex_count=13, .vertices=&gothgbt_vertices[424]}, + {.width=14, .vertex_count=26, .vertices=&gothgbt_vertices[450]}, + {.width=14, .vertex_count=26, .vertices=&gothgbt_vertices[502]}, + {.width=16, .vertex_count=38, .vertices=&gothgbt_vertices[554]}, + {.width=25, .vertex_count=15, .vertices=&gothgbt_vertices[630]}, + {.width=12, .vertex_count=13, .vertices=&gothgbt_vertices[660]}, + {.width=25, .vertex_count=7, .vertices=&gothgbt_vertices[686]}, + {.width=12, .vertex_count=10, .vertices=&gothgbt_vertices[700]}, + {.width=23, .vertex_count=7, .vertices=&gothgbt_vertices[720]}, + {.width=20, .vertex_count=41, .vertices=&gothgbt_vertices[734]}, + {.width=20, .vertex_count=26, .vertices=&gothgbt_vertices[816]}, + {.width=20, .vertex_count=47, .vertices=&gothgbt_vertices[868]}, + {.width=20, .vertex_count=56, .vertices=&gothgbt_vertices[962]}, + {.width=20, .vertex_count=40, .vertices=&gothgbt_vertices[1074]}, + {.width=20, .vertex_count=52, .vertices=&gothgbt_vertices[1154]}, + {.width=20, .vertex_count=58, .vertices=&gothgbt_vertices[1258]}, + {.width=20, .vertex_count=37, .vertices=&gothgbt_vertices[1374]}, + {.width=20, .vertex_count=70, .vertices=&gothgbt_vertices[1448]}, + {.width=20, .vertex_count=59, .vertices=&gothgbt_vertices[1588]}, + {.width=12, .vertex_count=21, .vertices=&gothgbt_vertices[1706]}, + {.width=12, .vertex_count=24, .vertices=&gothgbt_vertices[1748]}, + {.width=24, .vertex_count=3, .vertices=&gothgbt_vertices[1796]}, + {.width=25, .vertex_count=15, .vertices=&gothgbt_vertices[1802]}, + {.width=24, .vertex_count=3, .vertices=&gothgbt_vertices[1832]}, + {.width=18, .vertex_count=50, .vertices=&gothgbt_vertices[1838]}, + {.width=27, .vertex_count=55, .vertices=&gothgbt_vertices[1938]}, + {.width=22, .vertex_count=59, .vertices=&gothgbt_vertices[2048]}, + {.width=24, .vertex_count=109, .vertices=&gothgbt_vertices[2166]}, + {.width=24, .vertex_count=68, .vertices=&gothgbt_vertices[2384]}, + {.width=23, .vertex_count=71, .vertices=&gothgbt_vertices[2520]}, + {.width=22, .vertex_count=93, .vertices=&gothgbt_vertices[2662]}, + {.width=23, .vertex_count=90, .vertices=&gothgbt_vertices[2848]}, + {.width=25, .vertex_count=86, .vertices=&gothgbt_vertices[3028]}, + {.width=24, .vertex_count=111, .vertices=&gothgbt_vertices[3200]}, + {.width=19, .vertex_count=66, .vertices=&gothgbt_vertices[3422]}, + {.width=20, .vertex_count=64, .vertices=&gothgbt_vertices[3554]}, + {.width=24, .vertex_count=114, .vertices=&gothgbt_vertices[3682]}, + {.width=22, .vertex_count=84, .vertices=&gothgbt_vertices[3910]}, + {.width=28, .vertex_count=106, .vertices=&gothgbt_vertices[4078]}, + {.width=25, .vertex_count=83, .vertices=&gothgbt_vertices[4290]}, + {.width=26, .vertex_count=78, .vertices=&gothgbt_vertices[4456]}, + {.width=22, .vertex_count=69, .vertices=&gothgbt_vertices[4612]}, + {.width=26, .vertex_count=98, .vertices=&gothgbt_vertices[4750]}, + {.width=24, .vertex_count=107, .vertices=&gothgbt_vertices[4946]}, + {.width=23, .vertex_count=93, .vertices=&gothgbt_vertices[5160]}, + {.width=24, .vertex_count=70, .vertices=&gothgbt_vertices[5346]}, + {.width=24, .vertex_count=88, .vertices=&gothgbt_vertices[5486]}, + {.width=23, .vertex_count=71, .vertices=&gothgbt_vertices[5662]}, + {.width=27, .vertex_count=94, .vertices=&gothgbt_vertices[5804]}, + {.width=22, .vertex_count=64, .vertices=&gothgbt_vertices[5992]}, + {.width=23, .vertex_count=85, .vertices=&gothgbt_vertices[6120]}, + {.width=20, .vertex_count=56, .vertices=&gothgbt_vertices[6290]}, + {.width=14, .vertex_count=11, .vertices=&gothgbt_vertices[6402]}, + {.width=14, .vertex_count=2, .vertices=&gothgbt_vertices[6424]}, + {.width=14, .vertex_count=11, .vertices=&gothgbt_vertices[6428]}, + {.width=16, .vertex_count=10, .vertices=&gothgbt_vertices[6450]}, + {.width=16, .vertex_count=2, .vertices=&gothgbt_vertices[6470]}, + {.width=12, .vertex_count=13, .vertices=&gothgbt_vertices[6474]}, + {.width=17, .vertex_count=52, .vertices=&gothgbt_vertices[6500]}, + {.width=18, .vertex_count=43, .vertices=&gothgbt_vertices[6604]}, + {.width=14, .vertex_count=34, .vertices=&gothgbt_vertices[6690]}, + {.width=17, .vertex_count=40, .vertices=&gothgbt_vertices[6758]}, + {.width=14, .vertex_count=31, .vertices=&gothgbt_vertices[6838]}, + {.width=13, .vertex_count=40, .vertices=&gothgbt_vertices[6900]}, + {.width=18, .vertex_count=55, .vertices=&gothgbt_vertices[6980]}, + {.width=18, .vertex_count=46, .vertices=&gothgbt_vertices[7090]}, + {.width=10, .vertex_count=34, .vertices=&gothgbt_vertices[7182]}, + {.width=10, .vertex_count=38, .vertices=&gothgbt_vertices[7250]}, + {.width=17, .vertex_count=49, .vertices=&gothgbt_vertices[7326]}, + {.width=10, .vertex_count=21, .vertices=&gothgbt_vertices[7424]}, + {.width=26, .vertex_count=66, .vertices=&gothgbt_vertices[7466]}, + {.width=18, .vertex_count=44, .vertices=&gothgbt_vertices[7598]}, + {.width=18, .vertex_count=39, .vertices=&gothgbt_vertices[7686]}, + {.width=18, .vertex_count=53, .vertices=&gothgbt_vertices[7764]}, + {.width=18, .vertex_count=43, .vertices=&gothgbt_vertices[7870]}, + {.width=14, .vertex_count=37, .vertices=&gothgbt_vertices[7956]}, + {.width=16, .vertex_count=58, .vertices=&gothgbt_vertices[8030]}, + {.width=10, .vertex_count=27, .vertices=&gothgbt_vertices[8146]}, + {.width=18, .vertex_count=46, .vertices=&gothgbt_vertices[8200]}, + {.width=18, .vertex_count=35, .vertices=&gothgbt_vertices[8292]}, + {.width=26, .vertex_count=56, .vertices=&gothgbt_vertices[8362]}, + {.width=19, .vertex_count=58, .vertices=&gothgbt_vertices[8474]}, + {.width=18, .vertex_count=59, .vertices=&gothgbt_vertices[8590]}, + {.width=18, .vertex_count=37, .vertices=&gothgbt_vertices[8708]}, + {.width=14, .vertex_count=39, .vertices=&gothgbt_vertices[8782]}, + {.width=8, .vertex_count=2, .vertices=&gothgbt_vertices[8860]}, + {.width=14, .vertex_count=39, .vertices=&gothgbt_vertices[8864]}, + {.width=24, .vertex_count=23, .vertices=&gothgbt_vertices[8942]} + } +}; + +static const int8_t scriptc_vertices[5530] = { + 8, -12, 7, -11, 5, 1, -128, -128, 8, -11, 5, 1, -128, -128, 8, -12, 9, -11, 5, 1, -128, -128, 3, 7, 2, 8, 3, 9, 4, 8, 3, 7, 7, -12, 5, -5, -128, -128, 8, -12, 5, -5, -128, -128, 16, -12, 14, -5, -128, -128, 17, -12, 14, -5, 11, -12, 4, 16, -128, -128, 17, -12, 10, 16, -128, -128, 4, -1, 18, -1, -128, -128, 3, 5, 17, 5, 12, -16, 4, 13, -128, -128, 17, -16, 9, 13, -128, -128, 18, -8, 17, -7, 18, -6, 19, -7, 19, -8, 18, -10, 17, -11, 14, -12, 10, -12, 7, -11, 5, -9, 5, -7, 6, -5, 7, -4, 14, 0, 16, 2, -128, -128, 5, -7, 7, -5, 14, -1, 15, 0, 16, 2, 16, 5, 15, 7, 14, 8, 11, 9, 7, 9, 4, 8, 3, 7, 2, 5, 2, 4, 3, 3, 4, 4, 3, 5, 21, -12, 3, 9, -128, -128, 8, -12, 10, -10, 10, -8, 9, -6, 7, -5, 5, -5, 3, -7, 3, -9, 4, -11, 6, -12, 8, -12, 10, -11, 13, -10, 16, -10, 19, -11, 21, -12, -128, -128, 17, 2, 15, 3, 14, 5, 14, 7, 16, 9, 18, 9, 20, 8, 21, 6, 21, 4, 19, 2, 17, 2, 23, -4, 22, -3, 23, -2, 24, -3, 24, -4, 23, -5, 22, -5, 20, -4, 18, -2, 13, 6, 11, 8, 9, 9, 6, 9, 3, 8, 2, 6, 2, 4, 3, 2, 4, 1, 6, 0, 11, -2, 13, -3, 15, -5, 16, -7, 16, -9, 15, -11, 13, -12, 11, -11, 10, -9, 10, -6, 11, 0, 12, 3, 14, 6, 16, 8, 18, 9, 20, 9, 21, 7, 21, 6, -128, -128, 6, 9, 4, 8, 3, 6, 3, 4, 4, 2, 5, 1, 11, -2, -128, -128, 10, -6, 11, -1, 12, 2, 14, 5, 16, 7, 18, 8, 20, 8, 21, 7, 8, -10, 7, -11, 8, -12, 9, -11, 9, -10, 8, -8, 6, -6, 15, -16, 11, -13, 8, -10, 6, -7, 4, -3, 3, 2, 3, 6, 4, 11, 5, 14, 6, 16, -128, -128, 11, -13, 8, -9, 6, -5, 5, -2, 4, 3, 4, 8, 5, 13, 6, 16, 9, -16, 10, -14, 11, -11, 12, -6, 12, -2, 11, 3, 9, 7, 7, 10, 4, 13, 0, 16, -128, -128, 9, -16, 10, -13, 11, -8, 11, -3, 10, 2, 9, 5, 7, 9, 4, 13, 10, -12, 10, 0, -128, -128, 5, -9, 15, -3, -128, -128, 15, -9, 5, -3, 13, -9, 13, 9, -128, -128, 4, 0, 22, 0, 3, 9, 2, 8, 3, 7, 4, 8, 4, 9, 3, 11, 1, 13, 4, 0, 22, 0, 3, 7, 2, 8, 3, 9, 4, 8, 3, 7, 24, -16, -2, 16, 12, -12, 9, -11, 7, -9, 5, -6, 4, -3, 3, 1, 3, 4, 4, 7, 5, 8, 7, 9, 9, 9, 12, 8, 14, 6, 16, 3, 17, 0, 18, -4, 18, -7, 17, -10, 16, -11, 14, -12, 12, -12, -128, -128, 12, -12, 10, -11, 8, -9, 6, -6, 5, -3, 4, 1, 4, 4, 5, 7, 7, 9, -128, -128, 9, 9, 11, 8, 13, 6, 15, 3, 16, 0, 17, -4, 17, -7, 16, -10, 14, -12, 12, -8, 7, 9, -128, -128, 14, -12, 8, 9, -128, -128, 14, -12, 11, -9, 8, -7, 6, -6, -128, -128, 13, -9, 9, -7, 6, -6, 7, -8, 8, -7, 7, -6, 6, -7, 6, -8, 7, -10, 8, -11, 11, -12, 14, -12, 17, -11, 18, -9, 18, -7, 17, -5, 15, -3, 12, -1, 8, 1, 5, 3, 3, 5, 1, 9, -128, -128, 14, -12, 16, -11, 17, -9, 17, -7, 16, -5, 14, -3, 8, 1, -128, -128, 2, 7, 3, 6, 5, 6, 10, 8, 13, 8, 15, 7, 16, 5, -128, -128, 5, 6, 10, 9, 13, 9, 15, 8, 16, 5, 7, -8, 8, -7, 7, -6, 6, -7, 6, -8, 7, -10, 8, -11, 11, -12, 14, -12, 17, -11, 18, -9, 18, -7, 17, -5, 14, -3, 11, -2, -128, -128, 14, -12, 16, -11, 17, -9, 17, -7, 16, -5, 14, -3, -128, -128, 9, -2, 11, -2, 14, -1, 15, 0, 16, 2, 16, 5, 15, 7, 14, 8, 11, 9, 7, 9, 4, 8, 3, 7, 2, 5, 2, 4, 3, 3, 4, 4, 3, 5, -128, -128, 11, -2, 13, -1, 14, 0, 15, 2, 15, 5, 14, 7, 13, 8, 11, 9, 16, -11, 10, 9, -128, -128, 17, -12, 11, 9, -128, -128, 17, -12, 2, 3, 18, 3, 9, -12, 4, -2, -128, -128, 9, -12, 19, -12, -128, -128, 9, -11, 14, -11, 19, -12, -128, -128, 4, -2, 5, -3, 8, -4, 11, -4, 14, -3, 15, -2, 16, 0, 16, 3, 15, 6, 13, 8, 10, 9, 7, 9, 4, 8, 3, 7, 2, 5, 2, 4, 3, 3, 4, 4, 3, 5, -128, -128, 11, -4, 13, -3, 14, -2, 15, 0, 15, 3, 14, 6, 12, 8, 10, 9, 17, -9, 16, -8, 17, -7, 18, -8, 18, -9, 17, -11, 15, -12, 12, -12, 9, -11, 7, -9, 5, -6, 4, -3, 3, 1, 3, 5, 4, 7, 5, 8, 7, 9, 10, 9, 13, 8, 15, 6, 16, 4, 16, 1, 15, -1, 14, -2, 12, -3, 9, -3, 7, -2, 5, 0, 4, 2, -128, -128, 12, -12, 10, -11, 8, -9, 6, -6, 5, -3, 4, 1, 4, 6, 5, 8, -128, -128, 10, 9, 12, 8, 14, 6, 15, 4, 15, 0, 14, -2, 6, -12, 4, -6, -128, -128, 19, -12, 18, -9, 16, -6, 11, 0, 9, 3, 8, 5, 7, 9, -128, -128, 16, -6, 10, 0, 8, 3, 7, 5, 6, 9, -128, -128, 5, -9, 8, -12, 10, -12, 15, -9, -128, -128, 6, -10, 8, -11, 10, -11, 15, -9, 17, -9, 18, -10, 19, -12, 11, -12, 8, -11, 7, -10, 6, -8, 6, -5, 7, -3, 9, -2, 12, -2, 16, -3, 17, -4, 18, -6, 18, -9, 17, -11, 14, -12, 11, -12, -128, -128, 11, -12, 9, -11, 8, -10, 7, -8, 7, -5, 8, -3, 9, -2, -128, -128, 12, -2, 15, -3, 16, -4, 17, -6, 17, -9, 16, -11, 14, -12, -128, -128, 9, -2, 5, -1, 3, 1, 2, 3, 2, 6, 3, 8, 6, 9, 10, 9, 14, 8, 15, 7, 16, 5, 16, 2, 15, 0, 14, -1, 12, -2, -128, -128, 9, -2, 6, -1, 4, 1, 3, 3, 3, 6, 4, 8, 6, 9, -128, -128, 10, 9, 13, 8, 14, 7, 15, 5, 15, 1, 14, -1, 17, -5, 16, -3, 14, -1, 12, 0, 9, 0, 7, -1, 6, -2, 5, -4, 5, -7, 6, -9, 8, -11, 11, -12, 14, -12, 16, -11, 17, -10, 18, -8, 18, -4, 17, 0, 16, 3, 14, 6, 12, 8, 9, 9, 6, 9, 4, 8, 3, 6, 3, 5, 4, 4, 5, 5, 4, 6, -128, -128, 7, -1, 6, -3, 6, -7, 7, -9, 9, -11, 11, -12, -128, -128, 16, -11, 17, -9, 17, -4, 16, 0, 15, 3, 13, 6, 11, 8, 9, 9, 6, -5, 5, -4, 6, -3, 7, -4, 6, -5, -128, -128, 3, 7, 2, 8, 3, 9, 4, 8, 6, -5, 5, -4, 6, -3, 7, -4, 6, -5, -128, -128, 3, 9, 2, 8, 3, 7, 4, 8, 4, 9, 3, 11, 1, 13, 20, -9, 4, 0, 20, 9, 4, -3, 22, -3, -128, -128, 4, 3, 22, 3, 4, -9, 20, 0, 4, 9, 7, -8, 8, -7, 7, -6, 6, -7, 6, -8, 7, -10, 8, -11, 11, -12, 15, -12, 18, -11, 19, -9, 19, -7, 18, -5, 17, -4, 11, -2, 9, -1, 9, 1, 10, 2, 12, 2, -128, -128, 15, -12, 17, -11, 18, -9, 18, -7, 17, -5, 16, -4, 14, -3, -128, -128, 8, 7, 7, 8, 8, 9, 9, 8, 8, 7, 18, -4, 17, -6, 15, -7, 12, -7, 10, -6, 9, -5, 8, -2, 8, 1, 9, 3, 11, 4, 14, 4, 16, 3, 17, 1, -128, -128, 12, -7, 10, -5, 9, -2, 9, 1, 10, 3, 11, 4, -128, -128, 18, -7, 17, 1, 17, 3, 19, 4, 21, 4, 23, 2, 24, -1, 24, -3, 23, -6, 22, -8, 20, -10, 18, -11, 15, -12, 12, -12, 9, -11, 7, -10, 5, -8, 4, -6, 3, -3, 3, 0, 4, 3, 5, 5, 7, 7, 9, 8, 12, 9, 15, 9, 18, 8, 20, 7, 21, 6, -128, -128, 19, -7, 18, 1, 18, 3, 19, 4, 19, -12, 17, -10, 15, -7, 12, -2, 10, 1, 7, 5, 4, 8, 2, 9, 0, 9, -1, 8, -1, 6, 0, 5, 1, 6, 0, 7, -128, -128, 19, -12, 18, -8, 16, 2, 15, 9, -128, -128, 19, -12, 16, 9, -128, -128, 15, 9, 15, 7, 14, 4, 13, 2, 11, 0, 9, -1, 7, -1, 6, 0, 6, 2, 7, 5, 10, 8, 13, 9, 17, 9, 19, 8, 15, -11, 14, -10, 13, -8, 11, -3, 9, 3, 8, 5, 6, 8, 4, 9, -128, -128, 14, -10, 13, -7, 11, 1, 10, 4, 9, 6, 7, 8, 4, 9, 2, 9, 1, 8, 1, 6, 2, 5, 3, 6, 2, 7, -128, -128, 9, -6, 8, -4, 7, -3, 5, -3, 4, -4, 4, -6, 5, -8, 7, -10, 9, -11, 12, -12, 18, -12, 20, -11, 21, -9, 21, -7, 20, -5, 18, -4, 14, -3, 12, -3, -128, -128, 18, -12, 19, -11, 20, -9, 20, -7, 19, -5, 18, -4, -128, -128, 14, -3, 17, -2, 18, -1, 19, 1, 19, 4, 18, 7, 17, 8, 15, 9, 13, 9, 12, 8, 12, 6, 13, 3, -128, -128, 14, -3, 16, -2, 17, -1, 18, 1, 18, 4, 17, 7, 15, 9, 3, -10, 2, -8, 2, -6, 3, -4, 6, -3, 9, -3, 13, -4, 15, -5, 17, -7, 18, -9, 18, -11, 17, -12, 15, -12, 12, -11, 9, -8, 7, -5, 5, -1, 4, 3, 4, 6, 5, 8, 8, 9, 10, 9, 13, 8, 15, 6, 16, 4, 16, 2, 15, 0, 13, 0, 11, 1, 10, 3, -128, -128, 15, -12, 13, -11, 10, -8, 8, -5, 6, -1, 5, 3, 5, 6, 6, 8, 8, 9, 15, -11, 14, -10, 13, -8, 11, -3, 9, 3, 8, 5, 6, 8, 4, 9, -128, -128, 14, -10, 13, -7, 11, 1, 10, 4, 9, 6, 7, 8, 4, 9, 2, 9, 1, 8, 1, 6, 2, 5, 4, 5, 6, 6, 8, 8, 10, 9, 13, 9, 15, 8, 17, 6, 19, 2, 20, -3, 20, -6, 19, -9, 17, -11, 15, -12, 10, -12, 7, -11, 5, -9, 4, -7, 4, -5, 5, -4, 7, -4, 8, -5, 9, -7, 14, -9, 13, -8, 13, -6, 14, -5, 16, -5, 17, -7, 17, -9, 16, -11, 14, -12, 11, -12, 9, -11, 8, -10, 7, -8, 7, -6, 8, -4, 10, -3, -128, -128, 11, -12, 9, -10, 8, -8, 8, -5, 10, -3, -128, -128, 10, -3, 8, -3, 5, -2, 3, 0, 2, 2, 2, 5, 3, 7, 4, 8, 6, 9, 9, 9, 12, 8, 14, 6, 15, 4, 15, 2, 14, 0, 12, 0, 10, 1, 9, 3, -128, -128, 8, -3, 6, -2, 4, 0, 3, 2, 3, 6, 4, 8, 16, -10, 15, -8, 13, -3, 11, 3, 10, 5, 8, 8, 6, 9, -128, -128, 10, -6, 9, -4, 7, -3, 5, -3, 4, -5, 4, -7, 5, -9, 7, -11, 10, -12, 20, -12, 17, -11, 16, -10, 15, -7, 13, 1, 12, 4, 11, 6, 9, 8, 6, 9, 4, 9, 2, 8, 1, 7, 1, 6, 2, 5, 3, 6, 2, 7, -128, -128, 12, -12, 16, -11, 17, -11, -128, -128, 8, 1, 9, 0, 11, -1, 15, -1, 17, -2, 19, -5, 17, 2, 3, -9, 2, -7, 2, -5, 3, -3, 5, -2, 8, -2, 11, -3, 13, -4, 16, -7, 17, -10, 17, -11, 16, -12, 15, -12, 13, -11, 11, -9, 10, -7, 9, -4, 9, -1, 10, 1, 12, 2, 14, 2, 16, 1, 18, -1, 19, -3, -128, -128, 16, -12, 14, -11, 12, -9, 11, -7, 10, -4, 10, 0, 12, 2, -128, -128, 19, -3, 18, 1, 16, 5, 14, 7, 12, 8, 8, 9, 5, 9, 3, 8, 2, 6, 2, 5, 3, 4, 4, 5, 3, 6, -128, -128, 18, 1, 16, 4, 14, 6, 11, 8, 8, 9, 6, -6, 5, -7, 5, -9, 6, -11, 9, -12, 12, -12, 9, -1, 7, 5, 6, 7, 5, 8, 3, 9, 1, 9, 0, 8, 0, 6, 1, 5, 2, 6, 1, 7, -128, -128, 12, -12, 9, -3, 8, 0, 6, 5, 5, 7, 3, 9, -128, -128, 4, 2, 5, 1, 7, 0, 16, -3, 18, -4, 21, -6, 23, -8, 24, -10, 24, -11, 23, -12, 22, -12, 20, -11, 18, -8, 17, -6, 15, 0, 14, 4, 14, 7, 16, 9, 17, 9, 19, 8, 21, 6, -128, -128, 22, -12, 20, -10, 18, -6, 16, 0, 15, 4, 15, 7, 16, 9, 14, -10, 12, -7, 10, -2, 8, 3, 7, 5, 5, 8, 3, 9, -128, -128, 16, -6, 14, -4, 11, -3, 8, -3, 6, -4, 5, -6, 5, -8, 6, -10, 8, -11, 12, -12, 16, -12, 14, -10, 13, -8, 11, -2, 9, 4, 8, 6, 6, 8, 3, 9, 1, 9, 0, 8, 0, 6, 1, 5, 2, 6, 1, 7, 16, -12, 14, -10, 12, -7, 10, -2, 7, 7, 5, 11, -128, -128, 16, -5, 14, -3, 11, -2, 8, -2, 6, -3, 5, -5, 5, -7, 6, -9, 8, -11, 12, -12, 16, -12, 14, -9, 13, -7, 10, 2, 8, 6, 7, 8, 5, 11, 4, 12, 2, 13, 1, 12, 1, 10, 2, 8, 4, 6, 6, 5, 9, 4, 13, 3, 6, -6, 5, -7, 5, -9, 7, -11, 10, -12, 12, -12, 9, -1, 7, 5, 6, 7, 5, 8, 3, 9, 1, 9, 0, 8, 0, 6, 1, 5, 2, 6, 1, 7, -128, -128, 12, -12, 9, -3, 8, 0, 6, 5, 5, 7, 3, 9, -128, -128, 20, -11, 17, -7, 15, -5, 13, -4, 10, -3, -128, -128, 23, -11, 22, -10, 23, -9, 24, -10, 24, -11, 23, -12, 22, -12, 20, -11, 17, -6, 16, -5, 14, -4, 10, -3, -128, -128, 10, -3, 13, -2, 14, 0, 15, 7, 16, 9, -128, -128, 10, -3, 12, -2, 13, 0, 14, 7, 16, 9, 17, 9, 19, 8, 21, 6, 4, -9, 3, -7, 3, -5, 4, -3, 6, -2, 9, -2, 12, -3, 14, -4, 17, -7, 18, -10, 18, -11, 17, -12, 16, -12, 14, -11, 13, -10, 11, -7, 7, 3, 6, 5, 4, 8, 2, 9, -128, -128, 13, -10, 11, -6, 9, 1, 8, 4, 7, 6, 5, 8, 2, 9, 0, 9, -1, 8, -1, 6, 0, 5, 2, 5, 4, 6, 7, 8, 9, 9, 12, 9, 14, 8, 16, 6, 14, -12, 10, -3, 7, 3, 5, 6, 3, 8, 1, 9, -1, 9, -2, 8, -2, 6, -1, 5, 0, 6, -1, 7, -128, -128, 14, -12, 12, -5, 11, -1, 10, 4, 10, 8, 12, 9, -128, -128, 14, -12, 13, -8, 12, -3, 11, 4, 11, 8, 12, 9, -128, -128, 23, -12, 19, -3, 14, 6, 12, 9, -128, -128, 23, -12, 21, -5, 20, -1, 19, 4, 19, 8, 21, 9, 22, 9, 24, 8, 26, 6, -128, -128, 23, -12, 22, -8, 21, -3, 20, 4, 20, 8, 21, 9, 11, -12, 10, -8, 8, -2, 6, 3, 5, 5, 3, 8, 1, 9, -1, 9, -2, 8, -2, 6, -1, 5, 0, 6, -1, 7, -128, -128, 11, -12, 11, -7, 12, 4, 13, 9, -128, -128, 11, -12, 12, -7, 13, 4, 13, 9, -128, -128, 25, -11, 24, -10, 25, -9, 26, -10, 26, -11, 25, -12, 23, -12, 21, -11, 19, -8, 18, -6, 16, -1, 14, 5, 13, 9, 11, -12, 9, -11, 7, -9, 5, -6, 4, -4, 3, 0, 3, 4, 4, 7, 5, 8, 7, 9, 9, 9, 12, 8, 14, 6, 16, 3, 17, 1, 18, -3, 18, -7, 17, -10, 16, -11, 15, -11, 13, -10, 11, -8, 9, -4, 8, 1, 8, 4, -128, -128, 9, -11, 7, -8, 5, -4, 4, 0, 4, 4, 5, 7, 7, 9, 15, -11, 14, -10, 13, -8, 11, -3, 9, 3, 8, 5, 6, 8, 4, 9, -128, -128, 14, -10, 13, -7, 11, 1, 10, 4, 9, 6, 7, 8, 4, 9, 2, 9, 1, 8, 1, 6, 2, 5, 3, 6, 2, 7, -128, -128, 9, -6, 8, -4, 7, -3, 5, -3, 4, -4, 4, -6, 5, -8, 7, -10, 9, -11, 12, -12, 16, -12, 19, -11, 20, -10, 21, -8, 21, -5, 20, -3, 19, -2, 16, -1, 14, -1, 12, -2, -128, -128, 16, -12, 18, -11, 19, -10, 20, -8, 20, -5, 19, -3, 18, -2, 16, -1, 13, -8, 13, -6, 12, -4, 11, -3, 9, -2, 7, -2, 6, -4, 6, -6, 7, -9, 9, -11, 12, -12, 15, -12, 17, -11, 18, -9, 18, -5, 17, -2, 15, 1, 11, 5, 8, 7, 6, 8, 3, 9, 1, 9, 0, 8, 0, 6, 1, 5, 3, 5, 5, 6, 8, 8, 11, 9, 14, 9, 16, 8, 18, 6, -128, -128, 15, -12, 16, -11, 17, -9, 17, -5, 16, -2, 14, 1, 11, 4, 7, 7, 3, 9, 15, -11, 14, -10, 13, -8, 11, -3, 9, 3, 8, 5, 6, 8, 4, 9, -128, -128, 14, -10, 13, -7, 11, 1, 10, 4, 9, 6, 7, 8, 4, 9, 2, 9, 1, 8, 1, 6, 2, 5, 3, 6, 2, 7, -128, -128, 9, -6, 8, -4, 7, -3, 5, -3, 4, -4, 4, -6, 5, -8, 7, -10, 9, -11, 12, -12, 17, -12, 20, -11, 21, -9, 21, -7, 20, -5, 19, -4, 16, -3, 12, -3, -128, -128, 17, -12, 19, -11, 20, -9, 20, -7, 19, -5, 18, -4, 16, -3, -128, -128, 12, -3, 15, -2, 16, 0, 17, 7, 18, 9, -128, -128, 12, -3, 14, -2, 15, 0, 16, 7, 18, 9, 19, 9, 21, 8, 23, 6, 6, -9, 5, -7, 5, -5, 6, -3, 8, -2, 11, -2, 14, -3, 16, -4, 19, -7, 20, -10, 20, -11, 19, -12, 18, -12, 16, -11, 15, -10, 14, -8, 13, -5, 11, 2, 10, 5, 8, 8, 6, 9, -128, -128, 14, -8, 13, -4, 12, 3, 11, 6, 9, 8, 6, 9, 3, 9, 1, 8, 0, 6, 0, 5, 1, 4, 2, 5, 1, 6, 16, -10, 15, -8, 13, -3, 11, 3, 10, 5, 8, 8, 6, 9, -128, -128, 10, -6, 9, -4, 7, -3, 5, -3, 4, -5, 4, -7, 5, -9, 7, -11, 10, -12, 19, -12, 17, -11, 16, -10, 15, -7, 13, 1, 12, 4, 11, 6, 9, 8, 6, 9, 4, 9, 2, 8, 1, 7, 1, 6, 2, 5, 3, 6, 2, 7, -128, -128, 12, -12, 16, -11, 17, -11, 1, -8, 3, -11, 5, -12, 6, -12, 8, -10, 8, -7, 7, -4, 4, 4, 4, 7, 5, 9, -128, -128, 6, -12, 7, -10, 7, -7, 4, 1, 3, 4, 3, 7, 5, 9, 7, 9, 9, 8, 12, 5, 14, 2, 15, 0, -128, -128, 19, -12, 15, 0, 14, 4, 14, 7, 16, 9, 17, 9, 19, 8, 21, 6, -128, -128, 20, -12, 16, 0, 15, 4, 15, 7, 16, 9, 1, -8, 3, -11, 5, -12, 6, -12, 8, -10, 8, -7, 7, -3, 5, 4, 5, 7, 6, 9, -128, -128, 6, -12, 7, -10, 7, -7, 5, 0, 4, 4, 4, 7, 6, 9, 7, 9, 10, 8, 13, 5, 15, 2, 17, -2, 18, -5, 19, -9, 19, -11, 18, -12, 17, -12, 16, -11, 15, -9, 15, -6, 16, -4, 18, -2, 20, -1, 22, -1, 3, -6, 2, -6, 1, -7, 1, -9, 2, -11, 4, -12, 8, -12, 7, -10, 6, -6, 5, 3, 4, 9, -128, -128, 6, -6, 6, 3, 5, 9, -128, -128, 16, -12, 14, -10, 12, -6, 9, 3, 7, 7, 5, 9, -128, -128, 16, -12, 15, -10, 14, -6, 13, 3, 12, 9, -128, -128, 14, -6, 14, 3, 13, 9, -128, -128, 26, -12, 24, -11, 22, -9, 20, -6, 17, 3, 15, 7, 13, 9, 8, -7, 7, -6, 5, -6, 4, -7, 4, -9, 5, -11, 7, -12, 9, -12, 11, -11, 12, -9, 12, -6, 11, -2, 9, 3, 7, 6, 5, 8, 2, 9, 0, 9, -1, 8, -1, 6, 0, 5, 1, 6, 0, 7, -128, -128, 9, -12, 10, -11, 11, -9, 11, -6, 10, -2, 8, 3, 6, 6, 4, 8, 2, 9, -128, -128, 21, -11, 20, -10, 21, -9, 22, -10, 22, -11, 21, -12, 19, -12, 17, -11, 15, -9, 13, -6, 11, -2, 10, 3, 10, 6, 11, 8, 12, 9, 13, 9, 15, 8, 17, 6, 3, -8, 5, -11, 7, -12, 8, -12, 10, -11, 10, -9, 8, -3, 8, 0, 9, 2, -128, -128, 8, -12, 9, -11, 9, -9, 7, -3, 7, 0, 9, 2, 11, 2, 14, 1, 16, -1, 18, -4, 19, -6, -128, -128, 21, -12, 19, -6, 16, 2, 14, 6, -128, -128, 22, -12, 20, -6, 18, -1, 16, 3, 14, 6, 12, 8, 9, 9, 5, 9, 3, 8, 2, 6, 2, 5, 3, 4, 4, 5, 3, 6, 19, -10, 18, -8, 16, -3, 15, 0, 14, 2, 12, 5, 10, 7, 8, 8, 5, 9, -128, -128, 12, -6, 11, -4, 9, -3, 7, -3, 6, -5, 6, -7, 7, -9, 9, -11, 12, -12, 22, -12, 20, -11, 19, -10, 18, -7, 17, -3, 15, 3, 13, 6, 10, 8, 5, 9, 1, 9, 0, 8, 0, 6, 1, 5, 3, 5, 5, 6, 8, 8, 10, 9, 13, 9, 16, 8, 18, 6, -128, -128, 15, -12, 19, -11, 20, -11, 4, -16, 4, 16, -128, -128, 5, -16, 5, 16, -128, -128, 4, -16, 11, -16, -128, -128, 4, 16, 11, 16, 0, -12, 14, 12, 9, -16, 9, 16, -128, -128, 10, -16, 10, 16, -128, -128, 3, -16, 10, -16, -128, -128, 3, 16, 10, 16, 6, -6, 8, -9, 10, -6, -128, -128, 3, -3, 8, -8, 13, -3, -128, -128, 8, -8, 8, 9, 0, 11, 16, 11, 9, -12, 7, -10, 6, -8, 6, -7, 7, -6, 8, -7, 7, -8, 10, 3, 9, 1, 7, 0, 5, 0, 3, 1, 2, 2, 1, 4, 1, 6, 2, 8, 4, 9, 6, 9, 8, 8, 9, 6, -128, -128, 5, 0, 3, 2, 2, 4, 2, 7, 4, 9, -128, -128, 11, 0, 9, 6, 9, 8, 11, 9, 13, 8, 14, 7, 16, 4, -128, -128, 12, 0, 10, 6, 10, 8, 11, 9, 0, 4, 2, 1, 4, -3, -128, -128, 7, -12, 1, 6, 1, 8, 3, 9, 4, 9, 6, 8, 8, 6, 9, 3, 9, 0, 10, 4, 11, 5, 12, 5, 14, 4, -128, -128, 8, -12, 2, 6, 2, 8, 3, 9, 8, 1, 7, 2, 8, 2, 8, 1, 7, 0, 5, 0, 3, 1, 2, 2, 1, 4, 1, 6, 2, 8, 4, 9, 7, 9, 10, 7, 12, 4, -128, -128, 5, 0, 3, 2, 2, 4, 2, 7, 4, 9, 10, 3, 9, 1, 7, 0, 5, 0, 3, 1, 2, 2, 1, 4, 1, 6, 2, 8, 4, 9, 6, 9, 8, 8, 9, 6, -128, -128, 5, 0, 3, 2, 2, 4, 2, 7, 4, 9, -128, -128, 15, -12, 9, 6, 9, 8, 11, 9, 13, 8, 14, 7, 16, 4, -128, -128, 16, -12, 10, 6, 10, 8, 11, 9, 3, 7, 5, 6, 6, 5, 7, 3, 7, 1, 6, 0, 5, 0, 3, 1, 2, 2, 1, 4, 1, 6, 2, 8, 4, 9, 7, 9, 10, 7, 12, 4, -128, -128, 5, 0, 3, 2, 2, 4, 2, 7, 4, 9, 3, 0, 6, -3, 8, -6, 9, -9, 9, -11, 8, -12, 6, -11, 5, -9, -4, 18, -4, 20, -3, 21, -1, 20, 0, 17, 1, 8, 2, 9, 4, 9, 6, 8, 7, 7, 9, 4, -128, -128, 5, -9, 4, -4, 3, 0, 0, 9, -2, 14, -4, 18, 10, 3, 9, 1, 7, 0, 5, 0, 3, 1, 2, 2, 1, 4, 1, 6, 2, 8, 4, 9, 6, 9, 8, 8, 9, 6, -128, -128, 5, 0, 3, 2, 2, 4, 2, 7, 4, 9, -128, -128, 11, 0, 5, 18, -128, -128, 12, 0, 9, 9, 7, 14, 5, 18, 4, 20, 2, 21, 1, 20, 1, 18, 2, 15, 4, 13, 7, 11, 11, 9, 14, 7, 16, 4, 0, 4, 2, 1, 4, -3, -128, -128, 7, -12, 0, 9, -128, -128, 8, -12, 1, 9, -128, -128, 3, 3, 5, 1, 7, 0, 8, 0, 10, 1, 10, 3, 9, 6, 9, 8, 10, 9, -128, -128, 8, 0, 9, 1, 9, 3, 8, 6, 8, 8, 10, 9, 12, 8, 13, 7, 15, 4, 5, -6, 4, -5, 5, -4, 6, -5, 5, -6, -128, -128, 3, 0, 1, 6, 1, 8, 3, 9, 5, 8, 6, 7, 8, 4, -128, -128, 4, 0, 2, 6, 2, 8, 3, 9, 5, -6, 4, -5, 5, -4, 6, -5, 5, -6, -128, -128, 3, 0, -3, 18, -128, -128, 4, 0, 1, 9, -1, 14, -3, 18, -4, 20, -6, 21, -7, 20, -7, 18, -6, 15, -4, 13, -1, 11, 3, 9, 6, 7, 8, 4, 0, 4, 2, 1, 4, -3, -128, -128, 7, -12, 0, 9, -128, -128, 8, -12, 1, 9, -128, -128, 9, 0, 9, 1, 10, 1, 9, 0, 8, 0, 6, 2, 3, 3, -128, -128, 3, 3, 6, 4, 7, 8, 8, 9, -128, -128, 3, 3, 5, 4, 6, 8, 8, 9, 9, 9, 12, 7, 14, 4, 0, 4, 2, 1, 4, -3, -128, -128, 7, -12, 1, 6, 1, 8, 3, 9, 5, 8, 6, 7, 8, 4, -128, -128, 8, -12, 2, 6, 2, 8, 3, 9, 0, 4, 2, 1, 4, 0, 6, 1, 6, 3, 4, 9, -128, -128, 4, 0, 5, 1, 5, 3, 3, 9, -128, -128, 6, 3, 8, 1, 10, 0, 11, 0, 13, 1, 13, 3, 11, 9, -128, -128, 11, 0, 12, 1, 12, 3, 10, 9, -128, -128, 13, 3, 15, 1, 17, 0, 18, 0, 20, 1, 20, 3, 19, 6, 19, 8, 20, 9, -128, -128, 18, 0, 19, 1, 19, 3, 18, 6, 18, 8, 20, 9, 22, 8, 23, 7, 25, 4, 0, 4, 2, 1, 4, 0, 6, 1, 6, 3, 4, 9, -128, -128, 4, 0, 5, 1, 5, 3, 3, 9, -128, -128, 6, 3, 8, 1, 10, 0, 11, 0, 13, 1, 13, 3, 12, 6, 12, 8, 13, 9, -128, -128, 11, 0, 12, 1, 12, 3, 11, 6, 11, 8, 13, 9, 15, 8, 16, 7, 18, 4, 7, 0, 5, 0, 3, 1, 2, 2, 1, 4, 1, 6, 2, 8, 4, 9, 6, 9, 8, 8, 9, 7, 10, 5, 10, 3, 9, 1, 7, 0, 6, 1, 6, 3, 7, 5, 9, 6, 11, 6, 13, 5, 14, 4, -128, -128, 5, 0, 3, 2, 2, 4, 2, 7, 4, 9, 0, 4, 2, 1, 4, -3, -128, -128, 5, -6, -4, 21, -128, -128, 6, -6, -3, 21, -128, -128, 3, 3, 5, 1, 7, 0, 8, 0, 10, 1, 10, 3, 9, 6, 9, 8, 10, 9, -128, -128, 8, 0, 9, 1, 9, 3, 8, 6, 8, 8, 10, 9, 12, 8, 13, 7, 15, 4, 10, 3, 9, 1, 7, 0, 5, 0, 3, 1, 2, 2, 1, 4, 1, 6, 2, 8, 4, 9, 6, 9, 8, 8, -128, -128, 5, 0, 3, 2, 2, 4, 2, 7, 4, 9, -128, -128, 11, 0, 5, 18, 5, 20, 6, 21, 8, 20, 9, 17, 9, 9, 11, 9, 14, 7, 16, 4, -128, -128, 12, 0, 9, 9, 7, 14, 5, 18, 0, 4, 2, 1, 4, 0, 6, 1, 6, 3, 4, 9, -128, -128, 4, 0, 5, 1, 5, 3, 3, 9, -128, -128, 6, 3, 8, 1, 10, 0, 11, 0, 10, 3, -128, -128, 10, 0, 10, 3, 11, 5, 12, 5, 14, 4, 0, 4, 2, 1, 3, -1, 3, 1, 6, 3, 7, 5, 7, 7, 6, 8, 4, 9, -128, -128, 3, 1, 5, 3, 6, 5, 6, 7, 4, 9, -128, -128, 0, 8, 2, 9, 7, 9, 10, 7, 12, 4, 0, 4, 2, 1, 4, -3, -128, -128, 7, -12, 1, 6, 1, 8, 3, 9, 5, 8, 6, 7, 8, 4, -128, -128, 8, -12, 2, 6, 2, 8, 3, 9, -128, -128, 2, -4, 8, -4, 3, 0, 1, 6, 1, 8, 3, 9, 4, 9, 6, 8, 8, 6, 10, 3, -128, -128, 4, 0, 2, 6, 2, 8, 3, 9, -128, -128, 11, 0, 9, 6, 9, 8, 11, 9, 13, 8, 14, 7, 16, 4, -128, -128, 12, 0, 10, 6, 10, 8, 11, 9, 3, 0, 2, 2, 1, 5, 1, 8, 3, 9, 4, 9, 7, 8, 9, 6, 10, 3, 10, 0, -128, -128, 4, 0, 3, 2, 2, 5, 2, 8, 3, 9, -128, -128, 10, 0, 11, 4, 12, 5, 13, 5, 15, 4, 4, 0, 2, 2, 1, 5, 1, 8, 3, 9, 4, 9, 6, 8, 8, 6, -128, -128, 5, 0, 3, 2, 2, 5, 2, 8, 3, 9, -128, -128, 10, 0, 8, 6, 8, 8, 10, 9, 11, 9, 13, 8, 15, 6, 16, 3, 16, 0, -128, -128, 11, 0, 9, 6, 9, 8, 10, 9, -128, -128, 16, 0, 17, 4, 18, 5, 19, 5, 21, 4, 0, 4, 2, 1, 4, 0, 6, 0, 7, 1, 7, 3, 6, 6, 5, 8, 3, 9, 2, 9, 1, 8, 1, 7, 2, 7, 1, 8, -128, -128, 13, 1, 12, 2, 13, 2, 13, 1, 12, 0, 11, 0, 9, 1, 8, 3, 7, 6, 7, 8, 8, 9, 11, 9, 14, 7, 16, 4, -128, -128, 7, 1, 8, 3, -128, -128, 9, 1, 7, 3, -128, -128, 6, 6, 7, 8, -128, -128, 7, 6, 5, 8, 3, 0, 1, 6, 1, 8, 3, 9, 4, 9, 6, 8, 8, 6, 10, 3, -128, -128, 4, 0, 2, 6, 2, 8, 3, 9, -128, -128, 11, 0, 5, 18, -128, -128, 12, 0, 9, 9, 7, 14, 5, 18, 4, 20, 2, 21, 1, 20, 1, 18, 2, 15, 4, 13, 7, 11, 11, 9, 14, 7, 16, 4, 0, 4, 2, 1, 4, 0, 6, 0, 8, 1, 8, 4, 7, 6, 4, 8, 2, 9, -128, -128, 6, 0, 7, 1, 7, 4, 6, 6, 4, 8, -128, -128, 2, 9, 4, 10, 5, 12, 5, 15, 4, 18, 2, 20, 0, 21, -1, 20, -1, 18, 0, 15, 3, 12, 6, 10, 10, 7, 13, 4, -128, -128, 2, 9, 3, 10, 4, 12, 4, 15, 3, 18, 2, 20, 9, -16, 7, -15, 6, -14, 5, -12, 5, -10, 6, -8, 7, -7, 8, -5, 8, -3, 6, -1, -128, -128, 7, -15, 6, -13, 6, -11, 7, -9, 8, -8, 9, -6, 9, -4, 8, -2, 4, 0, 8, 2, 9, 4, 9, 6, 8, 8, 7, 9, 6, 11, 6, 13, 7, 15, -128, -128, 6, 1, 8, 3, 8, 5, 7, 7, 6, 8, 5, 10, 5, 12, 6, 14, 7, 15, 9, 16, 4, -16, 4, 16, 5, -16, 7, -15, 8, -14, 9, -12, 9, -10, 8, -8, 7, -7, 6, -5, 6, -3, 8, -1, -128, -128, 7, -15, 8, -13, 8, -11, 7, -9, 6, -8, 5, -6, 5, -4, 6, -2, 10, 0, 6, 2, 5, 4, 5, 6, 6, 8, 7, 9, 8, 11, 8, 13, 7, 15, -128, -128, 8, 1, 6, 3, 6, 5, 7, 7, 8, 8, 9, 10, 9, 12, 8, 14, 7, 15, 5, 16, 3, 3, 3, 1, 4, -2, 6, -3, 8, -3, 10, -2, 14, 1, 16, 2, 18, 2, 20, 1, 21, -1, -128, -128, 3, 1, 4, -1, 6, -2, 8, -2, 10, -1, 14, 2, 16, 3, 18, 3, 20, 2, 21, -1, 21, -3, 8, -12, 6, -11, 5, -9, 5, -7, 6, -5, 8, -4, 10, -4, 12, -5, 13, -7, 13, -9, 12, -11, 10, -12, 8, -12 +}; + +const hershey_font_t scriptc { + .chars = { + {.width=16, .vertex_count=0, .vertices=&scriptc_vertices[0]}, + {.width=11, .vertex_count=16, .vertices=&scriptc_vertices[0]}, + {.width=18, .vertex_count=11, .vertices=&scriptc_vertices[32]}, + {.width=21, .vertex_count=11, .vertices=&scriptc_vertices[54]}, + {.width=21, .vertex_count=40, .vertices=&scriptc_vertices[76]}, + {.width=24, .vertex_count=31, .vertices=&scriptc_vertices[156]}, + {.width=26, .vertex_count=54, .vertices=&scriptc_vertices[218]}, + {.width=11, .vertex_count=7, .vertices=&scriptc_vertices[326]}, + {.width=15, .vertex_count=19, .vertices=&scriptc_vertices[340]}, + {.width=15, .vertex_count=19, .vertices=&scriptc_vertices[378]}, + {.width=17, .vertex_count=8, .vertices=&scriptc_vertices[416]}, + {.width=26, .vertex_count=5, .vertices=&scriptc_vertices[432]}, + {.width=11, .vertex_count=7, .vertices=&scriptc_vertices[442]}, + {.width=26, .vertex_count=2, .vertices=&scriptc_vertices[456]}, + {.width=11, .vertex_count=5, .vertices=&scriptc_vertices[460]}, + {.width=22, .vertex_count=2, .vertices=&scriptc_vertices[470]}, + {.width=21, .vertex_count=41, .vertices=&scriptc_vertices[474]}, + {.width=21, .vertex_count=14, .vertices=&scriptc_vertices[556]}, + {.width=21, .vertex_count=41, .vertices=&scriptc_vertices[584]}, + {.width=21, .vertex_count=49, .vertices=&scriptc_vertices[666]}, + {.width=21, .vertex_count=9, .vertices=&scriptc_vertices[764]}, + {.width=21, .vertex_count=38, .vertices=&scriptc_vertices[782]}, + {.width=21, .vertex_count=45, .vertices=&scriptc_vertices[858]}, + {.width=21, .vertex_count=29, .vertices=&scriptc_vertices[948]}, + {.width=21, .vertex_count=62, .vertices=&scriptc_vertices[1006]}, + {.width=21, .vertex_count=45, .vertices=&scriptc_vertices[1130]}, + {.width=11, .vertex_count=10, .vertices=&scriptc_vertices[1220]}, + {.width=11, .vertex_count=13, .vertices=&scriptc_vertices[1240]}, + {.width=24, .vertex_count=3, .vertices=&scriptc_vertices[1266]}, + {.width=26, .vertex_count=5, .vertices=&scriptc_vertices[1272]}, + {.width=24, .vertex_count=3, .vertices=&scriptc_vertices[1282]}, + {.width=21, .vertex_count=33, .vertices=&scriptc_vertices[1288]}, + {.width=27, .vertex_count=55, .vertices=&scriptc_vertices[1354]}, + {.width=23, .vertex_count=37, .vertices=&scriptc_vertices[1464]}, + {.width=24, .vertex_count=69, .vertices=&scriptc_vertices[1538]}, + {.width=21, .vertex_count=40, .vertices=&scriptc_vertices[1676]}, + {.width=23, .vertex_count=42, .vertices=&scriptc_vertices[1756]}, + {.width=19, .vertex_count=48, .vertices=&scriptc_vertices[1840]}, + {.width=21, .vertex_count=45, .vertices=&scriptc_vertices[1936]}, + {.width=22, .vertex_count=52, .vertices=&scriptc_vertices[2026]}, + {.width=24, .vertex_count=54, .vertices=&scriptc_vertices[2130]}, + {.width=16, .vertex_count=32, .vertices=&scriptc_vertices[2238]}, + {.width=17, .vertex_count=33, .vertices=&scriptc_vertices[2302]}, + {.width=24, .vertex_count=58, .vertices=&scriptc_vertices[2368]}, + {.width=18, .vertex_count=39, .vertices=&scriptc_vertices[2484]}, + {.width=28, .vertex_count=48, .vertices=&scriptc_vertices[2562]}, + {.width=23, .vertex_count=37, .vertices=&scriptc_vertices[2658]}, + {.width=21, .vertex_count=33, .vertices=&scriptc_vertices[2732]}, + {.width=23, .vertex_count=52, .vertices=&scriptc_vertices[2798]}, + {.width=21, .vertex_count=42, .vertices=&scriptc_vertices[2902]}, + {.width=24, .vertex_count=64, .vertices=&scriptc_vertices[2986]}, + {.width=20, .vertex_count=35, .vertices=&scriptc_vertices[3114]}, + {.width=18, .vertex_count=37, .vertices=&scriptc_vertices[3184]}, + {.width=22, .vertex_count=38, .vertices=&scriptc_vertices[3258]}, + {.width=21, .vertex_count=35, .vertices=&scriptc_vertices[3334]}, + {.width=23, .vertex_count=40, .vertices=&scriptc_vertices[3404]}, + {.width=20, .vertex_count=51, .vertices=&scriptc_vertices[3484]}, + {.width=22, .vertex_count=41, .vertices=&scriptc_vertices[3586]}, + {.width=21, .vertex_count=43, .vertices=&scriptc_vertices[3668]}, + {.width=14, .vertex_count=11, .vertices=&scriptc_vertices[3754]}, + {.width=14, .vertex_count=2, .vertices=&scriptc_vertices[3776]}, + {.width=14, .vertex_count=11, .vertices=&scriptc_vertices[3780]}, + {.width=16, .vertex_count=10, .vertices=&scriptc_vertices[3802]}, + {.width=16, .vertex_count=2, .vertices=&scriptc_vertices[3822]}, + {.width=11, .vertex_count=7, .vertices=&scriptc_vertices[3826]}, + {.width=16, .vertex_count=32, .vertices=&scriptc_vertices[3840]}, + {.width=14, .vertex_count=22, .vertices=&scriptc_vertices[3904]}, + {.width=12, .vertex_count=21, .vertices=&scriptc_vertices[3948]}, + {.width=16, .vertex_count=32, .vertices=&scriptc_vertices[3990]}, + {.width=12, .vertex_count=22, .vertices=&scriptc_vertices[4054]}, + {.width=9, .vertex_count=26, .vertices=&scriptc_vertices[4098]}, + {.width=16, .vertex_count=37, .vertices=&scriptc_vertices[4150]}, + {.width=15, .vertex_count=29, .vertices=&scriptc_vertices[4224]}, + {.width=8, .vertex_count=18, .vertices=&scriptc_vertices[4282]}, + {.width=8, .vertex_count=23, .vertices=&scriptc_vertices[4318]}, + {.width=14, .vertex_count=30, .vertices=&scriptc_vertices[4364]}, + {.width=8, .vertex_count=16, .vertices=&scriptc_vertices[4424]}, + {.width=25, .vertex_count=44, .vertices=&scriptc_vertices[4456]}, + {.width=18, .vertex_count=31, .vertices=&scriptc_vertices[4544]}, + {.width=14, .vertex_count=28, .vertices=&scriptc_vertices[4606]}, + {.width=15, .vertex_count=29, .vertices=&scriptc_vertices[4662]}, + {.width=16, .vertex_count=34, .vertices=&scriptc_vertices[4720]}, + {.width=14, .vertex_count=23, .vertices=&scriptc_vertices[4788]}, + {.width=12, .vertex_count=21, .vertices=&scriptc_vertices[4834]}, + {.width=8, .vertex_count=19, .vertices=&scriptc_vertices[4876]}, + {.width=16, .vertex_count=26, .vertices=&scriptc_vertices[4914]}, + {.width=15, .vertex_count=22, .vertices=&scriptc_vertices[4966]}, + {.width=21, .vertex_count=35, .vertices=&scriptc_vertices[5010]}, + {.width=16, .vertex_count=41, .vertices=&scriptc_vertices[5080]}, + {.width=16, .vertex_count=31, .vertices=&scriptc_vertices[5162]}, + {.width=13, .vertex_count=37, .vertices=&scriptc_vertices[5224]}, + {.width=14, .vertex_count=39, .vertices=&scriptc_vertices[5298]}, + {.width=8, .vertex_count=2, .vertices=&scriptc_vertices[5376]}, + {.width=14, .vertex_count=39, .vertices=&scriptc_vertices[5380]}, + {.width=24, .vertex_count=23, .vertices=&scriptc_vertices[5458]} + } +}; + +static const int8_t scripts_vertices[4472] = { + 8, -12, 7, -11, 5, 1, -128, -128, 8, -11, 5, 1, -128, -128, 8, -12, 9, -11, 5, 1, -128, -128, 3, 7, 2, 8, 3, 9, 4, 8, 3, 7, 7, -12, 5, -5, -128, -128, 8, -12, 5, -5, -128, -128, 16, -12, 14, -5, -128, -128, 17, -12, 14, -5, 11, -16, 4, 16, -128, -128, 17, -16, 10, 16, -128, -128, 4, -3, 18, -3, -128, -128, 3, 3, 17, 3, 12, -16, 4, 13, -128, -128, 17, -16, 9, 13, -128, -128, 18, -8, 17, -7, 18, -6, 19, -7, 19, -8, 18, -10, 17, -11, 14, -12, 10, -12, 7, -11, 5, -9, 5, -7, 6, -5, 7, -4, 14, 0, 16, 2, -128, -128, 5, -7, 7, -5, 14, -1, 15, 0, 16, 2, 16, 5, 15, 7, 14, 8, 11, 9, 7, 9, 4, 8, 3, 7, 2, 5, 2, 4, 3, 3, 4, 4, 3, 5, 21, -12, 3, 9, -128, -128, 8, -12, 10, -10, 10, -8, 9, -6, 7, -5, 5, -5, 3, -7, 3, -9, 4, -11, 6, -12, 8, -12, 10, -11, 13, -10, 16, -10, 19, -11, 21, -12, -128, -128, 17, 2, 15, 3, 14, 5, 14, 7, 16, 9, 18, 9, 20, 8, 21, 6, 21, 4, 19, 2, 17, 2, 23, -4, 22, -3, 23, -2, 24, -3, 24, -4, 23, -5, 22, -5, 20, -4, 18, -2, 13, 6, 11, 8, 9, 9, 6, 9, 3, 8, 2, 6, 2, 4, 3, 2, 4, 1, 6, 0, 11, -2, 13, -3, 15, -5, 16, -7, 16, -9, 15, -11, 13, -12, 11, -11, 10, -9, 10, -6, 11, 0, 12, 3, 14, 6, 16, 8, 18, 9, 20, 9, 21, 7, 21, 6, -128, -128, 6, 9, 4, 8, 3, 6, 3, 4, 4, 2, 5, 1, 11, -2, -128, -128, 10, -6, 11, -1, 12, 2, 14, 5, 16, 7, 18, 8, 20, 8, 21, 7, 8, -10, 7, -11, 8, -12, 9, -11, 9, -10, 8, -8, 6, -6, 15, -16, 11, -13, 8, -10, 6, -7, 4, -3, 3, 2, 3, 6, 4, 11, 5, 14, 6, 16, -128, -128, 11, -13, 8, -9, 6, -5, 5, -2, 4, 3, 4, 8, 5, 13, 6, 16, 9, -16, 10, -14, 11, -11, 12, -6, 12, -2, 11, 3, 9, 7, 7, 10, 4, 13, 0, 16, -128, -128, 9, -16, 10, -13, 11, -8, 11, -3, 10, 2, 9, 5, 7, 9, 4, 13, 10, -12, 10, 0, -128, -128, 5, -9, 15, -3, -128, -128, 15, -9, 5, -3, 13, -9, 13, 9, -128, -128, 4, 0, 22, 0, 3, 9, 2, 8, 3, 7, 4, 8, 4, 9, 3, 11, 1, 13, 4, 0, 22, 0, 5, 7, 4, 8, 5, 9, 6, 8, 5, 7, 24, -16, -2, 16, 12, -12, 9, -11, 7, -9, 5, -6, 4, -3, 3, 1, 3, 4, 4, 7, 5, 8, 7, 9, 9, 9, 12, 8, 14, 6, 16, 3, 17, 0, 18, -4, 18, -7, 17, -10, 16, -11, 14, -12, 12, -12, -128, -128, 12, -12, 10, -11, 8, -9, 6, -6, 5, -3, 4, 1, 4, 4, 5, 7, 7, 9, -128, -128, 9, 9, 11, 8, 13, 6, 15, 3, 16, 0, 17, -4, 17, -7, 16, -10, 14, -12, 12, -8, 7, 9, -128, -128, 14, -12, 8, 9, -128, -128, 14, -12, 11, -9, 8, -7, 6, -6, -128, -128, 13, -9, 9, -7, 6, -6, 7, -8, 8, -7, 7, -6, 6, -7, 6, -8, 7, -10, 8, -11, 11, -12, 14, -12, 17, -11, 18, -9, 18, -7, 17, -5, 15, -3, 12, -1, 8, 1, 5, 3, 3, 5, 1, 9, -128, -128, 14, -12, 16, -11, 17, -9, 17, -7, 16, -5, 14, -3, 8, 1, -128, -128, 2, 7, 3, 6, 5, 6, 10, 8, 13, 8, 15, 7, 16, 5, -128, -128, 5, 6, 10, 9, 13, 9, 15, 8, 16, 5, 7, -8, 8, -7, 7, -6, 6, -7, 6, -8, 7, -10, 8, -11, 11, -12, 14, -12, 17, -11, 18, -9, 18, -7, 17, -5, 14, -3, 11, -2, -128, -128, 14, -12, 16, -11, 17, -9, 17, -7, 16, -5, 14, -3, -128, -128, 9, -2, 11, -2, 14, -1, 15, 0, 16, 2, 16, 5, 15, 7, 14, 8, 11, 9, 7, 9, 4, 8, 3, 7, 2, 5, 2, 4, 3, 3, 4, 4, 3, 5, -128, -128, 11, -2, 13, -1, 14, 0, 15, 2, 15, 5, 14, 7, 13, 8, 11, 9, 16, -11, 10, 9, -128, -128, 17, -12, 11, 9, -128, -128, 17, -12, 2, 3, 18, 3, 9, -12, 4, -2, -128, -128, 9, -12, 19, -12, -128, -128, 9, -11, 14, -11, 19, -12, -128, -128, 4, -2, 5, -3, 8, -4, 11, -4, 14, -3, 15, -2, 16, 0, 16, 3, 15, 6, 13, 8, 10, 9, 7, 9, 4, 8, 3, 7, 2, 5, 2, 4, 3, 3, 4, 4, 3, 5, -128, -128, 11, -4, 13, -3, 14, -2, 15, 0, 15, 3, 14, 6, 12, 8, 10, 9, 17, -9, 16, -8, 17, -7, 18, -8, 18, -9, 17, -11, 15, -12, 12, -12, 9, -11, 7, -9, 5, -6, 4, -3, 3, 1, 3, 5, 4, 7, 5, 8, 7, 9, 10, 9, 13, 8, 15, 6, 16, 4, 16, 1, 15, -1, 14, -2, 12, -3, 9, -3, 7, -2, 5, 0, 4, 2, -128, -128, 12, -12, 10, -11, 8, -9, 6, -6, 5, -3, 4, 1, 4, 6, 5, 8, -128, -128, 10, 9, 12, 8, 14, 6, 15, 4, 15, 0, 14, -2, 6, -12, 4, -6, -128, -128, 19, -12, 18, -9, 16, -6, 11, 0, 9, 3, 8, 5, 7, 9, -128, -128, 16, -6, 10, 0, 8, 3, 7, 5, 6, 9, -128, -128, 5, -9, 8, -12, 10, -12, 15, -9, -128, -128, 6, -10, 8, -11, 10, -11, 15, -9, 17, -9, 18, -10, 19, -12, 11, -12, 8, -11, 7, -10, 6, -8, 6, -5, 7, -3, 9, -2, 12, -2, 16, -3, 17, -4, 18, -6, 18, -9, 17, -11, 14, -12, 11, -12, -128, -128, 11, -12, 9, -11, 8, -10, 7, -8, 7, -5, 8, -3, 9, -2, -128, -128, 12, -2, 15, -3, 16, -4, 17, -6, 17, -9, 16, -11, 14, -12, -128, -128, 9, -2, 5, -1, 3, 1, 2, 3, 2, 6, 3, 8, 6, 9, 10, 9, 14, 8, 15, 7, 16, 5, 16, 2, 15, 0, 14, -1, 12, -2, -128, -128, 9, -2, 6, -1, 4, 1, 3, 3, 3, 6, 4, 8, 6, 9, -128, -128, 10, 9, 13, 8, 14, 7, 15, 5, 15, 1, 14, -1, 17, -5, 16, -3, 14, -1, 12, 0, 9, 0, 7, -1, 6, -2, 5, -4, 5, -7, 6, -9, 8, -11, 11, -12, 14, -12, 16, -11, 17, -10, 18, -8, 18, -4, 17, 0, 16, 3, 14, 6, 12, 8, 9, 9, 6, 9, 4, 8, 3, 6, 3, 5, 4, 4, 5, 5, 4, 6, -128, -128, 7, -1, 6, -3, 6, -7, 7, -9, 9, -11, 11, -12, -128, -128, 16, -11, 17, -9, 17, -4, 16, 0, 15, 3, 13, 6, 11, 8, 9, 9, 6, -5, 5, -4, 6, -3, 7, -4, 6, -5, -128, -128, 3, 7, 2, 8, 3, 9, 4, 8, 6, -5, 5, -4, 6, -3, 7, -4, 6, -5, -128, -128, 3, 9, 2, 8, 3, 7, 4, 8, 4, 9, 3, 11, 1, 13, 20, -9, 4, 0, 20, 9, 4, -3, 22, -3, -128, -128, 4, 3, 22, 3, 4, -9, 20, 0, 4, 9, 7, -8, 8, -7, 7, -6, 6, -7, 6, -8, 7, -10, 8, -11, 11, -12, 15, -12, 18, -11, 19, -9, 19, -7, 18, -5, 17, -4, 11, -2, 9, -1, 9, 1, 10, 2, 12, 2, -128, -128, 15, -12, 17, -11, 18, -9, 18, -7, 17, -5, 16, -4, 14, -3, -128, -128, 8, 7, 7, 8, 8, 9, 9, 8, 8, 7, 18, -4, 17, -6, 15, -7, 12, -7, 10, -6, 9, -5, 8, -2, 8, 1, 9, 3, 11, 4, 14, 4, 16, 3, 17, 1, -128, -128, 12, -7, 10, -5, 9, -2, 9, 1, 10, 3, 11, 4, -128, -128, 18, -7, 17, 1, 17, 3, 19, 4, 21, 4, 23, 2, 24, -1, 24, -3, 23, -6, 22, -8, 20, -10, 18, -11, 15, -12, 12, -12, 9, -11, 7, -10, 5, -8, 4, -6, 3, -3, 3, 0, 4, 3, 5, 5, 7, 7, 9, 8, 12, 9, 15, 9, 18, 8, 20, 7, 21, 6, -128, -128, 19, -7, 18, 1, 18, 3, 19, 4, 0, 9, 2, 8, 5, 5, 8, 1, 12, -6, 15, -12, 15, 9, 14, 6, 12, 3, 10, 1, 7, -1, 5, -1, 4, 0, 4, 2, 5, 4, 7, 6, 10, 8, 13, 9, 18, 9, 13, -10, 14, -9, 14, -6, 13, -2, 12, 1, 11, 3, 9, 6, 7, 8, 5, 9, 4, 9, 3, 8, 3, 5, 4, 0, 5, -3, 6, -5, 8, -8, 10, -10, 12, -11, 15, -12, 18, -12, 20, -11, 21, -9, 21, -7, 20, -5, 19, -4, 17, -3, 14, -2, -128, -128, 13, -2, 14, -2, 17, -1, 18, 0, 19, 2, 19, 5, 18, 7, 17, 8, 15, 9, 12, 9, 10, 8, 9, 6, 12, -6, 12, -5, 13, -4, 15, -4, 17, -5, 18, -7, 18, -9, 17, -11, 15, -12, 12, -12, 9, -11, 7, -9, 5, -6, 4, -4, 3, 0, 3, 4, 4, 7, 5, 8, 7, 9, 9, 9, 12, 8, 14, 6, 15, 4, 13, -12, 11, -11, 10, -9, 9, -5, 8, 1, 7, 4, 6, 6, 4, 8, 2, 9, 0, 9, -1, 8, -1, 6, 0, 5, 2, 5, 4, 6, 6, 8, 9, 9, 12, 9, 15, 8, 17, 6, 19, 2, 20, -3, 20, -7, 19, -10, 18, -11, 16, -12, 13, -12, 11, -10, 11, -8, 12, -5, 14, -2, 16, 0, 19, 2, 21, 3, 14, -8, 14, -7, 15, -6, 17, -6, 18, -7, 18, -9, 17, -11, 14, -12, 10, -12, 7, -11, 6, -9, 6, -6, 7, -4, 8, -3, 11, -2, 8, -2, 5, -1, 4, 0, 3, 2, 3, 5, 4, 7, 5, 8, 8, 9, 11, 9, 14, 8, 16, 6, 17, 4, 10, -6, 8, -6, 6, -7, 5, -9, 6, -11, 9, -12, 12, -12, 16, -11, 19, -11, 21, -12, -128, -128, 16, -11, 14, -4, 12, 2, 10, 6, 8, 8, 6, 9, 4, 9, 2, 8, 1, 6, 1, 4, 2, 3, 4, 3, 6, 4, -128, -128, 9, -2, 18, -2, 0, 9, 2, 8, 6, 4, 9, -1, 10, -4, 11, -8, 11, -11, 10, -12, 9, -12, 8, -11, 7, -9, 7, -6, 8, -4, 10, -3, 14, -3, 17, -4, 18, -5, 19, -7, 19, -1, 18, 4, 17, 6, 15, 8, 12, 9, 8, 9, 5, 8, 3, 6, 2, 4, 2, 2, 7, -5, 5, -6, 4, -8, 4, -9, 5, -11, 7, -12, 8, -12, 10, -11, 11, -9, 11, -7, 10, -3, 8, 3, 6, 7, 4, 9, 2, 9, 1, 8, 1, 6, -128, -128, 7, 0, 16, -3, 18, -4, 21, -6, 23, -8, 24, -10, 24, -11, 23, -12, 22, -12, 20, -10, 18, -6, 16, 0, 15, 5, 15, 8, 16, 9, 17, 9, 19, 8, 20, 7, 22, 4, 14, 4, 12, 2, 10, -1, 9, -3, 8, -6, 8, -9, 9, -11, 10, -12, 12, -12, 13, -11, 14, -9, 14, -6, 13, -1, 11, 4, 10, 6, 8, 8, 6, 9, 4, 9, 2, 8, 1, 6, 1, 4, 2, 3, 4, 3, 6, 4, 10, 12, 8, 9, 6, 4, 5, -2, 5, -8, 6, -11, 8, -12, 10, -12, 11, -11, 12, -8, 12, -5, 11, 0, 8, 9, 6, 15, 5, 18, 4, 20, 2, 21, 1, 20, 1, 18, 2, 15, 4, 12, 6, 10, 9, 8, 13, 6, 7, -5, 5, -6, 4, -8, 4, -9, 5, -11, 7, -12, 8, -12, 10, -11, 11, -9, 11, -7, 10, -3, 8, 3, 6, 7, 4, 9, 2, 9, 1, 8, 1, 6, -128, -128, 24, -9, 24, -11, 23, -12, 22, -12, 20, -11, 18, -9, 16, -6, 14, -4, 12, -3, 10, -3, -128, -128, 12, -3, 13, -1, 13, 6, 14, 8, 15, 9, 16, 9, 18, 8, 19, 7, 21, 4, 4, 0, 6, 0, 10, -1, 13, -3, 15, -5, 16, -7, 16, -10, 15, -12, 13, -12, 12, -11, 11, -9, 10, -4, 9, 1, 8, 4, 7, 6, 5, 8, 3, 9, 1, 9, 0, 8, 0, 6, 1, 5, 3, 5, 5, 6, 8, 8, 11, 9, 13, 9, 16, 8, 18, 6, 5, -5, 3, -6, 2, -8, 2, -9, 3, -11, 5, -12, 6, -12, 8, -11, 9, -9, 9, -7, 8, -2, 7, 2, 5, 9, -128, -128, 7, 2, 10, -6, 12, -10, 13, -11, 15, -12, 16, -12, 18, -11, 19, -9, 19, -7, 18, -2, 17, 2, 15, 9, -128, -128, 17, 2, 20, -6, 22, -10, 23, -11, 25, -12, 26, -12, 28, -11, 29, -9, 29, -7, 28, -2, 26, 5, 26, 8, 27, 9, 28, 9, 30, 8, 31, 7, 33, 4, 5, -5, 3, -6, 2, -8, 2, -9, 3, -11, 5, -12, 6, -12, 8, -11, 9, -9, 9, -7, 8, -2, 7, 2, 5, 9, -128, -128, 7, 2, 10, -6, 12, -10, 13, -11, 15, -12, 17, -12, 19, -11, 20, -9, 20, -7, 19, -2, 17, 5, 17, 8, 18, 9, 19, 9, 21, 8, 22, 7, 24, 4, 12, -12, 9, -11, 7, -9, 5, -6, 4, -4, 3, 0, 3, 4, 4, 7, 5, 8, 7, 9, 9, 9, 12, 8, 14, 6, 16, 3, 17, 1, 18, -3, 18, -7, 17, -10, 16, -11, 14, -12, 12, -12, 10, -10, 10, -7, 11, -4, 13, -1, 15, 1, 18, 3, 20, 4, 13, -10, 14, -9, 14, -6, 13, -2, 12, 1, 11, 3, 9, 6, 7, 8, 5, 9, 4, 9, 3, 8, 3, 5, 4, 0, 5, -3, 6, -5, 8, -8, 10, -10, 12, -11, 15, -12, 20, -12, 22, -11, 23, -10, 24, -8, 24, -5, 23, -3, 22, -2, 20, -1, 17, -1, 15, -2, 14, -3, 13, -6, 12, -4, 11, -3, 9, -2, 7, -2, 6, -4, 6, -6, 7, -9, 9, -11, 12, -12, 15, -12, 17, -11, 18, -9, 18, -5, 17, -2, 15, 1, 11, 5, 8, 7, 6, 8, 3, 9, 1, 9, 0, 8, 0, 6, 1, 5, 3, 5, 5, 6, 8, 8, 11, 9, 14, 9, 17, 8, 19, 6, 13, -10, 14, -9, 14, -6, 13, -2, 12, 1, 11, 3, 9, 6, 7, 8, 5, 9, 4, 9, 3, 8, 3, 5, 4, 0, 5, -3, 6, -5, 8, -8, 10, -10, 12, -11, 15, -12, 19, -12, 21, -11, 22, -10, 23, -8, 23, -5, 22, -3, 21, -2, 19, -1, 16, -1, 13, -2, 14, -1, 15, 1, 15, 6, 16, 8, 18, 9, 20, 8, 21, 7, 23, 4, 0, 9, 2, 8, 4, 6, 7, 2, 9, -1, 11, -5, 12, -8, 12, -11, 11, -12, 10, -12, 9, -11, 8, -9, 8, -7, 9, -5, 11, -3, 14, -1, 16, 1, 17, 3, 17, 5, 16, 7, 15, 8, 12, 9, 8, 9, 5, 8, 3, 6, 2, 4, 2, 2, 10, -6, 8, -6, 6, -7, 5, -9, 6, -11, 9, -12, 12, -12, 16, -11, 19, -11, 21, -12, -128, -128, 16, -11, 14, -4, 12, 2, 10, 6, 8, 8, 6, 9, 4, 9, 2, 8, 1, 6, 1, 4, 2, 3, 4, 3, 6, 4, 5, -5, 3, -6, 2, -8, 2, -9, 3, -11, 5, -12, 6, -12, 8, -11, 9, -9, 9, -7, 8, -3, 7, 0, 6, 4, 6, 6, 7, 8, 9, 9, 11, 9, 13, 8, 14, 7, 16, 3, 19, -5, 21, -12, -128, -128, 19, -5, 18, -1, 17, 5, 17, 8, 18, 9, 19, 9, 21, 8, 22, 7, 24, 4, 5, -5, 3, -6, 2, -8, 2, -9, 3, -11, 5, -12, 6, -12, 8, -11, 9, -9, 9, -7, 8, -3, 7, 0, 6, 4, 6, 7, 7, 9, 9, 9, 11, 8, 14, 5, 16, 2, 18, -2, 19, -5, 20, -9, 20, -11, 19, -12, 18, -12, 17, -11, 16, -9, 16, -7, 17, -4, 19, -2, 21, -1, 5, -5, 3, -6, 2, -8, 2, -9, 3, -11, 5, -12, 6, -12, 8, -11, 9, -9, 9, -6, 8, 9, -128, -128, 18, -12, 8, 9, -128, -128, 18, -12, 16, 9, -128, -128, 30, -12, 28, -11, 25, -8, 22, -4, 19, 2, 16, 9, 8, -6, 6, -6, 5, -7, 5, -9, 6, -11, 8, -12, 10, -12, 12, -11, 13, -9, 13, -6, 11, 3, 11, 6, 12, 8, 14, 9, 16, 9, 18, 8, 19, 6, 19, 4, 18, 3, 16, 3, -128, -128, 23, -9, 23, -11, 22, -12, 20, -12, 18, -11, 16, -9, 14, -6, 10, 3, 8, 6, 6, 8, 4, 9, 2, 9, 1, 8, 1, 6, 5, -5, 3, -6, 2, -8, 2, -9, 3, -11, 5, -12, 6, -12, 8, -11, 9, -9, 9, -7, 8, -3, 7, 0, 6, 4, 6, 6, 7, 8, 8, 9, 10, 9, 12, 8, 14, 6, 16, 3, 17, 1, 19, -5, -128, -128, 21, -12, 19, -5, 16, 5, 14, 11, 12, 16, 10, 20, 8, 21, 7, 20, 7, 18, 8, 15, 10, 12, 13, 9, 16, 7, 21, 4, 13, -6, 12, -4, 11, -3, 9, -2, 7, -2, 6, -4, 6, -6, 7, -9, 9, -11, 12, -12, 15, -12, 17, -11, 18, -9, 18, -5, 17, -2, 15, 2, 12, 5, 8, 8, 6, 9, 3, 9, 2, 8, 2, 6, 3, 5, 6, 5, 8, 6, 9, 7, 10, 9, 10, 12, 9, 15, 8, 17, 6, 20, 4, 21, 3, 20, 3, 18, 4, 15, 6, 12, 9, 9, 12, 7, 18, 4, 4, -16, 4, 16, -128, -128, 5, -16, 5, 16, -128, -128, 4, -16, 11, -16, -128, -128, 4, 16, 11, 16, 0, -12, 14, 12, 9, -16, 9, 16, -128, -128, 10, -16, 10, 16, -128, -128, 3, -16, 10, -16, -128, -128, 3, 16, 10, 16, 6, -6, 8, -9, 10, -6, -128, -128, 3, -3, 8, -8, 13, -3, -128, -128, 8, -8, 8, 9, 0, 11, 16, 11, 9, -12, 7, -10, 6, -8, 6, -7, 7, -6, 8, -7, 7, -8, 9, 3, 8, 1, 6, 0, 4, 0, 2, 1, 1, 2, 0, 4, 0, 6, 1, 8, 3, 9, 5, 9, 7, 8, 8, 6, 10, 0, 9, 5, 9, 8, 10, 9, 11, 9, 13, 8, 14, 7, 16, 4, 0, 4, 2, 1, 5, -4, 6, -6, 7, -9, 7, -11, 6, -12, 4, -11, 3, -9, 2, -5, 1, 2, 1, 8, 2, 9, 3, 9, 5, 8, 7, 6, 8, 3, 8, 0, 9, 4, 10, 5, 12, 5, 14, 4, 7, 2, 7, 1, 6, 0, 4, 0, 2, 1, 1, 2, 0, 4, 0, 6, 1, 8, 3, 9, 6, 9, 9, 7, 11, 4, 9, 3, 8, 1, 6, 0, 4, 0, 2, 1, 1, 2, 0, 4, 0, 6, 1, 8, 3, 9, 5, 9, 7, 8, 8, 6, 14, -12, -128, -128, 10, 0, 9, 5, 9, 8, 10, 9, 11, 9, 13, 8, 14, 7, 16, 4, 1, 7, 3, 6, 4, 5, 5, 3, 5, 1, 4, 0, 3, 0, 1, 1, 0, 3, 0, 6, 1, 8, 3, 9, 5, 9, 7, 8, 8, 7, 10, 4, 0, 4, 4, -1, 6, -4, 7, -6, 8, -9, 8, -11, 7, -12, 5, -11, 4, -9, 2, -1, -1, 8, -4, 15, -5, 18, -5, 20, -4, 21, -2, 20, -1, 17, 0, 8, 1, 9, 3, 9, 5, 8, 6, 7, 8, 4, 9, 3, 8, 1, 6, 0, 4, 0, 2, 1, 1, 2, 0, 4, 0, 6, 1, 8, 3, 9, 5, 9, 7, 8, 8, 7, -128, -128, 10, 0, 8, 7, 4, 18, 3, 20, 1, 21, 0, 20, 0, 18, 1, 15, 4, 12, 7, 10, 9, 9, 12, 7, 15, 4, 0, 4, 2, 1, 5, -4, 6, -6, 7, -9, 7, -11, 6, -12, 4, -11, 3, -9, 2, -5, 1, 1, 0, 9, -128, -128, 0, 9, 1, 6, 2, 4, 4, 1, 6, 0, 8, 0, 9, 1, 9, 3, 8, 6, 8, 8, 9, 9, 10, 9, 12, 8, 13, 7, 15, 4, 3, -5, 3, -4, 4, -4, 4, -5, 3, -5, -128, -128, 0, 4, 2, 0, 0, 6, 0, 8, 1, 9, 2, 9, 4, 8, 5, 7, 7, 4, 3, -5, 3, -4, 4, -4, 4, -5, 3, -5, -128, -128, 0, 4, 2, 0, -4, 18, -5, 20, -7, 21, -8, 20, -8, 18, -7, 15, -4, 12, -1, 10, 1, 9, 4, 7, 7, 4, 0, 4, 2, 1, 5, -4, 6, -6, 7, -9, 7, -11, 6, -12, 4, -11, 3, -9, 2, -5, 1, 1, 0, 9, -128, -128, 0, 9, 1, 6, 2, 4, 4, 1, 6, 0, 8, 0, 9, 1, 9, 3, 7, 4, 4, 4, -128, -128, 4, 4, 6, 5, 7, 8, 8, 9, 9, 9, 11, 8, 12, 7, 14, 4, 0, 4, 2, 1, 5, -4, 6, -6, 7, -9, 7, -11, 6, -12, 4, -11, 3, -9, 2, -5, 1, 2, 1, 8, 2, 9, 3, 9, 5, 8, 6, 7, 8, 4, 0, 4, 2, 1, 4, 0, 5, 1, 5, 2, 4, 6, 3, 9, -128, -128, 4, 6, 5, 4, 7, 1, 9, 0, 11, 0, 12, 1, 12, 2, 11, 6, 10, 9, -128, -128, 11, 6, 12, 4, 14, 1, 16, 0, 18, 0, 19, 1, 19, 3, 18, 6, 18, 8, 19, 9, 20, 9, 22, 8, 23, 7, 25, 4, 0, 4, 2, 1, 4, 0, 5, 1, 5, 2, 4, 6, 3, 9, -128, -128, 4, 6, 5, 4, 7, 1, 9, 0, 11, 0, 12, 1, 12, 3, 11, 6, 11, 8, 12, 9, 13, 9, 15, 8, 16, 7, 18, 4, 6, 0, 4, 0, 2, 1, 1, 2, 0, 4, 0, 6, 1, 8, 3, 9, 5, 9, 7, 8, 8, 7, 9, 5, 9, 3, 8, 1, 6, 0, 5, 1, 5, 3, 6, 5, 8, 6, 11, 6, 13, 5, 14, 4, 0, 4, 2, 1, 3, -1, 2, 3, -4, 21, -128, -128, 2, 3, 3, 1, 5, 0, 7, 0, 9, 1, 10, 3, 10, 5, 9, 7, 8, 8, 6, 9, -128, -128, 2, 8, 4, 9, 7, 9, 10, 8, 12, 7, 15, 4, 9, 3, 8, 1, 6, 0, 4, 0, 2, 1, 1, 2, 0, 4, 0, 6, 1, 8, 3, 9, 5, 9, 7, 8, -128, -128, 10, 0, 9, 3, 7, 8, 4, 15, 3, 18, 3, 20, 4, 21, 6, 20, 7, 17, 7, 10, 9, 9, 12, 7, 15, 4, 0, 4, 2, 1, 3, -1, 3, 1, 6, 1, 7, 2, 7, 4, 6, 7, 6, 8, 7, 9, 8, 9, 10, 8, 11, 7, 13, 4, 0, 4, 2, 1, 3, -1, 3, 1, 5, 4, 6, 6, 6, 8, 4, 9, -128, -128, 0, 8, 2, 9, 6, 9, 8, 8, 9, 7, 11, 4, 0, 4, 2, 1, 4, -3, -128, -128, 7, -12, 1, 6, 1, 8, 2, 9, 4, 9, 6, 8, 7, 7, 9, 4, -128, -128, 1, -4, 8, -4, 0, 4, 2, 0, 0, 6, 0, 8, 1, 9, 3, 9, 5, 8, 7, 6, 9, 3, -128, -128, 10, 0, 8, 6, 8, 8, 9, 9, 10, 9, 12, 8, 13, 7, 15, 4, 0, 4, 2, 0, 1, 5, 1, 8, 2, 9, 3, 9, 6, 8, 8, 6, 9, 3, 9, 0, -128, -128, 9, 0, 10, 4, 11, 5, 13, 5, 15, 4, 3, 0, 1, 2, 0, 5, 0, 7, 1, 9, 3, 9, 5, 8, 7, 6, -128, -128, 9, 0, 7, 6, 7, 8, 8, 9, 10, 9, 12, 8, 14, 6, 15, 3, 15, 0, -128, -128, 15, 0, 16, 4, 17, 5, 19, 5, 21, 4, 0, 4, 2, 1, 4, 0, 6, 0, 7, 1, 7, 8, 8, 9, 11, 9, 14, 7, 16, 4, -128, -128, 13, 1, 12, 0, 10, 0, 9, 1, 5, 8, 4, 9, 2, 9, 1, 8, 0, 4, 2, 0, 0, 6, 0, 8, 1, 9, 3, 9, 5, 8, 7, 6, 9, 3, -128, -128, 10, 0, 4, 18, 3, 20, 1, 21, 0, 20, 0, 18, 1, 15, 4, 12, 7, 10, 9, 9, 12, 7, 15, 4, 0, 4, 2, 1, 4, 0, 6, 0, 8, 2, 8, 4, 7, 6, 5, 8, 2, 9, 4, 10, 5, 12, 5, 15, 4, 18, 3, 20, 1, 21, 0, 20, 0, 18, 1, 15, 4, 12, 7, 10, 11, 7, 14, 4, 9, -16, 7, -15, 6, -14, 5, -12, 5, -10, 6, -8, 7, -7, 8, -5, 8, -3, 6, -1, -128, -128, 7, -15, 6, -13, 6, -11, 7, -9, 8, -8, 9, -6, 9, -4, 8, -2, 4, 0, 8, 2, 9, 4, 9, 6, 8, 8, 7, 9, 6, 11, 6, 13, 7, 15, -128, -128, 6, 1, 8, 3, 8, 5, 7, 7, 6, 8, 5, 10, 5, 12, 6, 14, 7, 15, 9, 16, 4, -16, 4, 16, 5, -16, 7, -15, 8, -14, 9, -12, 9, -10, 8, -8, 7, -7, 6, -5, 6, -3, 8, -1, -128, -128, 7, -15, 8, -13, 8, -11, 7, -9, 6, -8, 5, -6, 5, -4, 6, -2, 10, 0, 6, 2, 5, 4, 5, 6, 6, 8, 7, 9, 8, 11, 8, 13, 7, 15, -128, -128, 8, 1, 6, 3, 6, 5, 7, 7, 8, 8, 9, 10, 9, 12, 8, 14, 7, 15, 5, 16, 3, 3, 3, 1, 4, -2, 6, -3, 8, -3, 10, -2, 14, 1, 16, 2, 18, 2, 20, 1, 21, -1, -128, -128, 3, 1, 4, -1, 6, -2, 8, -2, 10, -1, 14, 2, 16, 3, 18, 3, 20, 2, 21, -1, 21, -3, 6, -12, 4, -11, 3, -9, 3, -7, 4, -5, 6, -4, 8, -4, 10, -5, 11, -7, 11, -9, 10, -11, 8, -12, 6, -12 +}; + +const hershey_font_t scripts { + .chars = { + {.width=16, .vertex_count=0, .vertices=&scripts_vertices[0]}, + {.width=11, .vertex_count=16, .vertices=&scripts_vertices[0]}, + {.width=18, .vertex_count=11, .vertices=&scripts_vertices[32]}, + {.width=21, .vertex_count=11, .vertices=&scripts_vertices[54]}, + {.width=21, .vertex_count=40, .vertices=&scripts_vertices[76]}, + {.width=24, .vertex_count=31, .vertices=&scripts_vertices[156]}, + {.width=26, .vertex_count=54, .vertices=&scripts_vertices[218]}, + {.width=11, .vertex_count=7, .vertices=&scripts_vertices[326]}, + {.width=15, .vertex_count=19, .vertices=&scripts_vertices[340]}, + {.width=15, .vertex_count=19, .vertices=&scripts_vertices[378]}, + {.width=17, .vertex_count=8, .vertices=&scripts_vertices[416]}, + {.width=26, .vertex_count=5, .vertices=&scripts_vertices[432]}, + {.width=11, .vertex_count=7, .vertices=&scripts_vertices[442]}, + {.width=26, .vertex_count=2, .vertices=&scripts_vertices[456]}, + {.width=10, .vertex_count=5, .vertices=&scripts_vertices[460]}, + {.width=22, .vertex_count=2, .vertices=&scripts_vertices[470]}, + {.width=21, .vertex_count=41, .vertices=&scripts_vertices[474]}, + {.width=21, .vertex_count=14, .vertices=&scripts_vertices[556]}, + {.width=21, .vertex_count=41, .vertices=&scripts_vertices[584]}, + {.width=21, .vertex_count=49, .vertices=&scripts_vertices[666]}, + {.width=21, .vertex_count=9, .vertices=&scripts_vertices[764]}, + {.width=21, .vertex_count=38, .vertices=&scripts_vertices[782]}, + {.width=21, .vertex_count=45, .vertices=&scripts_vertices[858]}, + {.width=21, .vertex_count=29, .vertices=&scripts_vertices[948]}, + {.width=21, .vertex_count=62, .vertices=&scripts_vertices[1006]}, + {.width=21, .vertex_count=45, .vertices=&scripts_vertices[1130]}, + {.width=11, .vertex_count=10, .vertices=&scripts_vertices[1220]}, + {.width=11, .vertex_count=13, .vertices=&scripts_vertices[1240]}, + {.width=24, .vertex_count=3, .vertices=&scripts_vertices[1266]}, + {.width=26, .vertex_count=5, .vertices=&scripts_vertices[1272]}, + {.width=24, .vertex_count=3, .vertices=&scripts_vertices[1282]}, + {.width=21, .vertex_count=33, .vertices=&scripts_vertices[1288]}, + {.width=27, .vertex_count=55, .vertices=&scripts_vertices[1354]}, + {.width=20, .vertex_count=19, .vertices=&scripts_vertices[1464]}, + {.width=23, .vertex_count=40, .vertices=&scripts_vertices[1502]}, + {.width=20, .vertex_count=23, .vertices=&scripts_vertices[1582]}, + {.width=23, .vertex_count=34, .vertices=&scripts_vertices[1628]}, + {.width=20, .vertex_count=27, .vertices=&scripts_vertices[1696]}, + {.width=20, .vertex_count=27, .vertices=&scripts_vertices[1750]}, + {.width=23, .vertex_count=28, .vertices=&scripts_vertices[1804]}, + {.width=24, .vertex_count=37, .vertices=&scripts_vertices[1860]}, + {.width=17, .vertex_count=24, .vertices=&scripts_vertices[1934]}, + {.width=15, .vertex_count=24, .vertices=&scripts_vertices[1982]}, + {.width=24, .vertex_count=38, .vertices=&scripts_vertices[2030]}, + {.width=19, .vertex_count=28, .vertices=&scripts_vertices[2106]}, + {.width=33, .vertex_count=44, .vertices=&scripts_vertices[2162]}, + {.width=24, .vertex_count=31, .vertices=&scripts_vertices[2250]}, + {.width=21, .vertex_count=28, .vertices=&scripts_vertices[2312]}, + {.width=25, .vertex_count=30, .vertices=&scripts_vertices[2368]}, + {.width=22, .vertex_count=31, .vertices=&scripts_vertices[2428]}, + {.width=25, .vertex_count=37, .vertices=&scripts_vertices[2490]}, + {.width=20, .vertex_count=27, .vertices=&scripts_vertices[2564]}, + {.width=19, .vertex_count=24, .vertices=&scripts_vertices[2618]}, + {.width=24, .vertex_count=32, .vertices=&scripts_vertices[2666]}, + {.width=23, .vertex_count=31, .vertices=&scripts_vertices[2730]}, + {.width=28, .vertex_count=24, .vertices=&scripts_vertices[2792]}, + {.width=24, .vertex_count=35, .vertices=&scripts_vertices[2840]}, + {.width=23, .vertex_count=37, .vertices=&scripts_vertices[2910]}, + {.width=21, .vertex_count=39, .vertices=&scripts_vertices[2984]}, + {.width=14, .vertex_count=11, .vertices=&scripts_vertices[3062]}, + {.width=14, .vertex_count=2, .vertices=&scripts_vertices[3084]}, + {.width=14, .vertex_count=11, .vertices=&scripts_vertices[3088]}, + {.width=16, .vertex_count=10, .vertices=&scripts_vertices[3110]}, + {.width=16, .vertex_count=2, .vertices=&scripts_vertices[3130]}, + {.width=11, .vertex_count=7, .vertices=&scripts_vertices[3134]}, + {.width=16, .vertex_count=21, .vertices=&scripts_vertices[3148]}, + {.width=14, .vertex_count=22, .vertices=&scripts_vertices[3190]}, + {.width=11, .vertex_count=13, .vertices=&scripts_vertices[3234]}, + {.width=16, .vertex_count=23, .vertices=&scripts_vertices[3260]}, + {.width=10, .vertex_count=16, .vertices=&scripts_vertices[3306]}, + {.width=8, .vertex_count=23, .vertices=&scripts_vertices[3338]}, + {.width=15, .vertex_count=27, .vertices=&scripts_vertices[3384]}, + {.width=15, .vertex_count=28, .vertices=&scripts_vertices[3438]}, + {.width=7, .vertex_count=15, .vertices=&scripts_vertices[3494]}, + {.width=7, .vertex_count=19, .vertices=&scripts_vertices[3524]}, + {.width=14, .vertex_count=32, .vertices=&scripts_vertices[3562]}, + {.width=8, .vertex_count=17, .vertices=&scripts_vertices[3626]}, + {.width=25, .vertex_count=32, .vertices=&scripts_vertices[3660]}, + {.width=18, .vertex_count=22, .vertices=&scripts_vertices[3724]}, + {.width=14, .vertex_count=22, .vertices=&scripts_vertices[3768]}, + {.width=15, .vertex_count=23, .vertices=&scripts_vertices[3812]}, + {.width=15, .vertex_count=26, .vertices=&scripts_vertices[3858]}, + {.width=13, .vertex_count=14, .vertices=&scripts_vertices[3910]}, + {.width=11, .vertex_count=15, .vertices=&scripts_vertices[3938]}, + {.width=9, .vertex_count=15, .vertices=&scripts_vertices[3968]}, + {.width=15, .vertex_count=18, .vertices=&scripts_vertices[3998]}, + {.width=15, .vertex_count=16, .vertices=&scripts_vertices[4034]}, + {.width=21, .vertex_count=24, .vertices=&scripts_vertices[4066]}, + {.width=16, .vertex_count=19, .vertices=&scripts_vertices[4114]}, + {.width=15, .vertex_count=22, .vertices=&scripts_vertices[4152]}, + {.width=14, .vertex_count=22, .vertices=&scripts_vertices[4196]}, + {.width=14, .vertex_count=39, .vertices=&scripts_vertices[4240]}, + {.width=8, .vertex_count=2, .vertices=&scripts_vertices[4318]}, + {.width=14, .vertex_count=39, .vertices=&scripts_vertices[4322]}, + {.width=24, .vertex_count=23, .vertices=&scripts_vertices[4400]} + } +}; + +static const int8_t timesi_vertices[4848] = { + 8, -12, 7, -11, 5, 1, -128, -128, 8, -11, 5, 1, -128, -128, 8, -12, 9, -11, 5, 1, -128, -128, 3, 7, 2, 8, 3, 9, 4, 8, 3, 7, 7, -12, 5, -5, -128, -128, 8, -12, 5, -5, -128, -128, 16, -12, 14, -5, -128, -128, 17, -12, 14, -5, 11, -16, 4, 16, -128, -128, 17, -16, 10, 16, -128, -128, 4, -3, 18, -3, -128, -128, 3, 3, 17, 3, 12, -16, 4, 13, -128, -128, 17, -16, 9, 13, -128, -128, 18, -8, 17, -7, 18, -6, 19, -7, 19, -8, 18, -10, 17, -11, 14, -12, 10, -12, 7, -11, 5, -9, 5, -7, 6, -5, 7, -4, 14, 0, 16, 2, -128, -128, 5, -7, 7, -5, 14, -1, 15, 0, 16, 2, 16, 5, 15, 7, 14, 8, 11, 9, 7, 9, 4, 8, 3, 7, 2, 5, 2, 4, 3, 3, 4, 4, 3, 5, 21, -12, 3, 9, -128, -128, 8, -12, 10, -10, 10, -8, 9, -6, 7, -5, 5, -5, 3, -7, 3, -9, 4, -11, 6, -12, 8, -12, 10, -11, 13, -10, 16, -10, 19, -11, 21, -12, -128, -128, 17, 2, 15, 3, 14, 5, 14, 7, 16, 9, 18, 9, 20, 8, 21, 6, 21, 4, 19, 2, 17, 2, 21, -4, 20, -3, 21, -2, 22, -3, 22, -4, 21, -5, 20, -5, 19, -4, 18, -2, 16, 3, 14, 6, 12, 8, 10, 9, 7, 9, 4, 8, 3, 6, 3, 3, 4, 1, 10, -3, 12, -5, 13, -7, 13, -9, 12, -11, 10, -12, 8, -11, 7, -9, 7, -7, 8, -4, 10, -1, 15, 6, 17, 8, 20, 9, 21, 9, 22, 8, 22, 7, -128, -128, 7, 9, 5, 8, 4, 6, 4, 3, 5, 1, 7, -1, -128, -128, 7, -7, 8, -5, 16, 6, 18, 8, 20, 9, 7, -12, 5, -5, -128, -128, 8, -12, 5, -5, 15, -16, 11, -13, 8, -10, 6, -7, 4, -3, 3, 2, 3, 6, 4, 11, 5, 14, 6, 16, -128, -128, 11, -13, 8, -9, 6, -5, 5, -2, 4, 3, 4, 8, 5, 13, 6, 16, 9, -16, 10, -14, 11, -11, 12, -6, 12, -2, 11, 3, 9, 7, 7, 10, 4, 13, 0, 16, -128, -128, 9, -16, 10, -13, 11, -8, 11, -3, 10, 2, 9, 5, 7, 9, 4, 13, 8, -6, 8, 6, -128, -128, 3, -3, 13, 3, -128, -128, 13, -3, 3, 3, 13, -9, 13, 9, -128, -128, 4, 0, 22, 0, 3, 9, 2, 8, 3, 7, 4, 8, 4, 9, 3, 11, 1, 13, 4, 0, 22, 0, 3, 7, 2, 8, 3, 9, 4, 8, 3, 7, 20, -16, 2, 16, 12, -12, 9, -11, 7, -9, 5, -6, 4, -3, 3, 1, 3, 4, 4, 7, 5, 8, 7, 9, 9, 9, 12, 8, 14, 6, 16, 3, 17, 0, 18, -4, 18, -7, 17, -10, 16, -11, 14, -12, 12, -12, -128, -128, 12, -12, 10, -11, 8, -9, 6, -6, 5, -3, 4, 1, 4, 4, 5, 7, 7, 9, -128, -128, 9, 9, 11, 8, 13, 6, 15, 3, 16, 0, 17, -4, 17, -7, 16, -10, 14, -12, 12, -8, 7, 9, -128, -128, 14, -12, 8, 9, -128, -128, 14, -12, 11, -9, 8, -7, 6, -6, -128, -128, 13, -9, 9, -7, 6, -6, 7, -8, 8, -7, 7, -6, 6, -7, 6, -8, 7, -10, 8, -11, 11, -12, 14, -12, 17, -11, 18, -9, 18, -7, 17, -5, 15, -3, 12, -1, 8, 1, 5, 3, 3, 5, 1, 9, -128, -128, 14, -12, 16, -11, 17, -9, 17, -7, 16, -5, 14, -3, 8, 1, -128, -128, 2, 7, 3, 6, 5, 6, 10, 8, 13, 8, 15, 7, 16, 5, -128, -128, 5, 6, 10, 9, 13, 9, 15, 8, 16, 5, 7, -8, 8, -7, 7, -6, 6, -7, 6, -8, 7, -10, 8, -11, 11, -12, 14, -12, 17, -11, 18, -9, 18, -7, 17, -5, 14, -3, 11, -2, -128, -128, 14, -12, 16, -11, 17, -9, 17, -7, 16, -5, 14, -3, -128, -128, 9, -2, 11, -2, 14, -1, 15, 0, 16, 2, 16, 5, 15, 7, 14, 8, 11, 9, 7, 9, 4, 8, 3, 7, 2, 5, 2, 4, 3, 3, 4, 4, 3, 5, -128, -128, 11, -2, 13, -1, 14, 0, 15, 2, 15, 5, 14, 7, 13, 8, 11, 9, 16, -11, 10, 9, -128, -128, 17, -12, 11, 9, -128, -128, 17, -12, 2, 3, 18, 3, 9, -12, 4, -2, -128, -128, 9, -12, 19, -12, -128, -128, 9, -11, 14, -11, 19, -12, -128, -128, 4, -2, 5, -3, 8, -4, 11, -4, 14, -3, 15, -2, 16, 0, 16, 3, 15, 6, 13, 8, 10, 9, 7, 9, 4, 8, 3, 7, 2, 5, 2, 4, 3, 3, 4, 4, 3, 5, -128, -128, 11, -4, 13, -3, 14, -2, 15, 0, 15, 3, 14, 6, 12, 8, 10, 9, 17, -9, 16, -8, 17, -7, 18, -8, 18, -9, 17, -11, 15, -12, 12, -12, 9, -11, 7, -9, 5, -6, 4, -3, 3, 1, 3, 5, 4, 7, 5, 8, 7, 9, 10, 9, 13, 8, 15, 6, 16, 4, 16, 1, 15, -1, 14, -2, 12, -3, 9, -3, 7, -2, 5, 0, 4, 2, -128, -128, 12, -12, 10, -11, 8, -9, 6, -6, 5, -3, 4, 1, 4, 6, 5, 8, -128, -128, 10, 9, 12, 8, 14, 6, 15, 4, 15, 0, 14, -2, 6, -12, 4, -6, -128, -128, 19, -12, 18, -9, 16, -6, 11, 0, 9, 3, 8, 5, 7, 9, -128, -128, 16, -6, 10, 0, 8, 3, 7, 5, 6, 9, -128, -128, 5, -9, 8, -12, 10, -12, 15, -9, -128, -128, 6, -10, 8, -11, 10, -11, 15, -9, 17, -9, 18, -10, 19, -12, 11, -12, 8, -11, 7, -10, 6, -8, 6, -5, 7, -3, 9, -2, 12, -2, 16, -3, 17, -4, 18, -6, 18, -9, 17, -11, 14, -12, 11, -12, -128, -128, 11, -12, 9, -11, 8, -10, 7, -8, 7, -5, 8, -3, 9, -2, -128, -128, 12, -2, 15, -3, 16, -4, 17, -6, 17, -9, 16, -11, 14, -12, -128, -128, 9, -2, 5, -1, 3, 1, 2, 3, 2, 6, 3, 8, 6, 9, 10, 9, 14, 8, 15, 7, 16, 5, 16, 2, 15, 0, 14, -1, 12, -2, -128, -128, 9, -2, 6, -1, 4, 1, 3, 3, 3, 6, 4, 8, 6, 9, -128, -128, 10, 9, 13, 8, 14, 7, 15, 5, 15, 1, 14, -1, 17, -5, 16, -3, 14, -1, 12, 0, 9, 0, 7, -1, 6, -2, 5, -4, 5, -7, 6, -9, 8, -11, 11, -12, 14, -12, 16, -11, 17, -10, 18, -8, 18, -4, 17, 0, 16, 3, 14, 6, 12, 8, 9, 9, 6, 9, 4, 8, 3, 6, 3, 5, 4, 4, 5, 5, 4, 6, -128, -128, 7, -1, 6, -3, 6, -7, 7, -9, 9, -11, 11, -12, -128, -128, 16, -11, 17, -9, 17, -4, 16, 0, 15, 3, 13, 6, 11, 8, 9, 9, 6, -5, 5, -4, 6, -3, 7, -4, 6, -5, -128, -128, 3, 7, 2, 8, 3, 9, 4, 8, 6, -5, 5, -4, 6, -3, 7, -4, 6, -5, -128, -128, 3, 9, 2, 8, 3, 7, 4, 8, 4, 9, 3, 11, 1, 13, 20, -9, 4, 0, 20, 9, 4, -3, 22, -3, -128, -128, 4, 3, 22, 3, 4, -9, 20, 0, 4, 9, 7, -8, 8, -7, 7, -6, 6, -7, 6, -8, 7, -10, 8, -11, 11, -12, 15, -12, 18, -11, 19, -9, 19, -7, 18, -5, 17, -4, 11, -2, 9, -1, 9, 1, 10, 2, 12, 2, -128, -128, 15, -12, 17, -11, 18, -9, 18, -7, 17, -5, 16, -4, 14, -3, -128, -128, 8, 7, 7, 8, 8, 9, 9, 8, 8, 7, 18, -4, 17, -6, 15, -7, 12, -7, 10, -6, 9, -5, 8, -2, 8, 1, 9, 3, 11, 4, 14, 4, 16, 3, 17, 1, -128, -128, 12, -7, 10, -5, 9, -2, 9, 1, 10, 3, 11, 4, -128, -128, 18, -7, 17, 1, 17, 3, 19, 4, 21, 4, 23, 2, 24, -1, 24, -3, 23, -6, 22, -8, 20, -10, 18, -11, 15, -12, 12, -12, 9, -11, 7, -10, 5, -8, 4, -6, 3, -3, 3, 0, 4, 3, 5, 5, 7, 7, 9, 8, 12, 9, 15, 9, 18, 8, 20, 7, 21, 6, -128, -128, 19, -7, 18, 1, 18, 3, 19, 4, 13, -12, 0, 9, -128, -128, 13, -12, 14, 9, -128, -128, 12, -10, 13, 9, -128, -128, 4, 3, 13, 3, -128, -128, -2, 9, 4, 9, -128, -128, 10, 9, 16, 9, 9, -12, 3, 9, -128, -128, 10, -12, 4, 9, -128, -128, 6, -12, 17, -12, 20, -11, 21, -9, 21, -7, 20, -4, 19, -3, 16, -2, -128, -128, 17, -12, 19, -11, 20, -9, 20, -7, 19, -4, 18, -3, 16, -2, -128, -128, 7, -2, 16, -2, 18, -1, 19, 1, 19, 3, 18, 6, 16, 8, 12, 9, 0, 9, -128, -128, 16, -2, 17, -1, 18, 1, 18, 3, 17, 6, 15, 8, 12, 9, 18, -10, 19, -10, 20, -12, 19, -6, 19, -8, 18, -10, 17, -11, 15, -12, 12, -12, 9, -11, 7, -9, 5, -6, 4, -3, 3, 1, 3, 4, 4, 7, 5, 8, 8, 9, 11, 9, 13, 8, 15, 6, 16, 4, -128, -128, 12, -12, 10, -11, 8, -9, 6, -6, 5, -3, 4, 1, 4, 4, 5, 7, 6, 8, 8, 9, 9, -12, 3, 9, -128, -128, 10, -12, 4, 9, -128, -128, 6, -12, 15, -12, 18, -11, 19, -10, 20, -7, 20, -3, 19, 1, 17, 5, 15, 7, 13, 8, 9, 9, 0, 9, -128, -128, 15, -12, 17, -11, 18, -10, 19, -7, 19, -3, 18, 1, 16, 5, 14, 7, 12, 8, 9, 9, 9, -12, 3, 9, -128, -128, 10, -12, 4, 9, -128, -128, 14, -6, 12, 2, -128, -128, 6, -12, 21, -12, 20, -6, 20, -12, -128, -128, 7, -2, 13, -2, -128, -128, 0, 9, 15, 9, 17, 4, 14, 9, 9, -12, 3, 9, -128, -128, 10, -12, 4, 9, -128, -128, 14, -6, 12, 2, -128, -128, 6, -12, 21, -12, 20, -6, 20, -12, -128, -128, 7, -2, 13, -2, -128, -128, 0, 9, 7, 9, 18, -10, 19, -10, 20, -12, 19, -6, 19, -8, 18, -10, 17, -11, 15, -12, 12, -12, 9, -11, 7, -9, 5, -6, 4, -3, 3, 1, 3, 4, 4, 7, 5, 8, 8, 9, 10, 9, 13, 8, 15, 6, 17, 2, -128, -128, 12, -12, 10, -11, 8, -9, 6, -6, 5, -3, 4, 1, 4, 4, 5, 7, 6, 8, 8, 9, -128, -128, 10, 9, 12, 8, 14, 6, 16, 2, -128, -128, 13, 2, 20, 2, 9, -12, 3, 9, -128, -128, 10, -12, 4, 9, -128, -128, 22, -12, 16, 9, -128, -128, 23, -12, 17, 9, -128, -128, 6, -12, 13, -12, -128, -128, 19, -12, 26, -12, -128, -128, 7, -2, 19, -2, -128, -128, 0, 9, 7, 9, -128, -128, 13, 9, 20, 9, 9, -12, 3, 9, -128, -128, 10, -12, 4, 9, -128, -128, 6, -12, 13, -12, -128, -128, 0, 9, 7, 9, 15, -12, 10, 5, 9, 7, 8, 8, 6, 9, 4, 9, 2, 8, 1, 6, 1, 4, 2, 3, 3, 4, 2, 5, -128, -128, 14, -12, 9, 5, 8, 7, 6, 9, -128, -128, 11, -12, 18, -12, 9, -12, 3, 9, -128, -128, 10, -12, 4, 9, -128, -128, 23, -12, 6, 1, -128, -128, 13, -3, 17, 9, -128, -128, 12, -3, 16, 9, -128, -128, 6, -12, 13, -12, -128, -128, 19, -12, 25, -12, -128, -128, 0, 9, 7, 9, -128, -128, 13, 9, 19, 9, 9, -12, 3, 9, -128, -128, 10, -12, 4, 9, -128, -128, 6, -12, 13, -12, -128, -128, 0, 9, 15, 9, 17, 3, 14, 9, 9, -12, 3, 9, -128, -128, 9, -12, 10, 9, -128, -128, 10, -12, 11, 7, -128, -128, 23, -12, 10, 9, -128, -128, 23, -12, 17, 9, -128, -128, 24, -12, 18, 9, -128, -128, 6, -12, 10, -12, -128, -128, 23, -12, 27, -12, -128, -128, 0, 9, 6, 9, -128, -128, 14, 9, 21, 9, 9, -12, 3, 9, -128, -128, 9, -12, 16, 6, -128, -128, 9, -9, 16, 9, -128, -128, 22, -12, 16, 9, -128, -128, 6, -12, 9, -12, -128, -128, 19, -12, 25, -12, -128, -128, 0, 9, 6, 9, 12, -12, 9, -11, 7, -9, 5, -6, 4, -3, 3, 1, 3, 4, 4, 7, 5, 8, 7, 9, 10, 9, 13, 8, 15, 6, 17, 3, 18, 0, 19, -4, 19, -7, 18, -10, 17, -11, 15, -12, 12, -12, -128, -128, 12, -12, 10, -11, 8, -9, 6, -6, 5, -3, 4, 1, 4, 4, 5, 7, 7, 9, -128, -128, 10, 9, 12, 8, 14, 6, 16, 3, 17, 0, 18, -4, 18, -7, 17, -10, 15, -12, 9, -12, 3, 9, -128, -128, 10, -12, 4, 9, -128, -128, 6, -12, 18, -12, 21, -11, 22, -9, 22, -7, 21, -4, 19, -2, 15, -1, 7, -1, -128, -128, 18, -12, 20, -11, 21, -9, 21, -7, 20, -4, 18, -2, 15, -1, -128, -128, 0, 9, 7, 9, 12, -12, 9, -11, 7, -9, 5, -6, 4, -3, 3, 1, 3, 4, 4, 7, 5, 8, 7, 9, 10, 9, 13, 8, 15, 6, 17, 3, 18, 0, 19, -4, 19, -7, 18, -10, 17, -11, 15, -12, 12, -12, -128, -128, 12, -12, 10, -11, 8, -9, 6, -6, 5, -3, 4, 1, 4, 4, 5, 7, 7, 9, -128, -128, 10, 9, 12, 8, 14, 6, 16, 3, 17, 0, 18, -4, 18, -7, 17, -10, 15, -12, -128, -128, 5, 7, 5, 6, 6, 4, 8, 3, 9, 3, 11, 4, 12, 6, 12, 13, 13, 14, 15, 14, 16, 12, 16, 11, -128, -128, 12, 6, 13, 12, 14, 13, 15, 13, 16, 12, 9, -12, 3, 9, -128, -128, 10, -12, 4, 9, -128, -128, 6, -12, 17, -12, 20, -11, 21, -9, 21, -7, 20, -4, 19, -3, 16, -2, 7, -2, -128, -128, 17, -12, 19, -11, 20, -9, 20, -7, 19, -4, 18, -3, 16, -2, -128, -128, 12, -2, 14, -1, 15, 0, 16, 8, 17, 9, 19, 9, 20, 7, 20, 6, -128, -128, 15, 0, 17, 7, 18, 8, 19, 8, 20, 7, -128, -128, 0, 9, 7, 9, 19, -10, 20, -10, 21, -12, 20, -6, 20, -8, 19, -10, 18, -11, 15, -12, 11, -12, 8, -11, 6, -9, 6, -7, 7, -5, 8, -4, 15, 0, 17, 2, -128, -128, 6, -7, 8, -5, 15, -1, 16, 0, 17, 2, 17, 5, 16, 7, 15, 8, 12, 9, 8, 9, 5, 8, 4, 7, 3, 5, 3, 3, 2, 9, 3, 7, 4, 7, 13, -12, 7, 9, -128, -128, 14, -12, 8, 9, -128, -128, 7, -12, 4, -6, 6, -12, 21, -12, 20, -6, 20, -12, -128, -128, 4, 9, 11, 9, 8, -12, 5, -1, 4, 3, 4, 6, 5, 8, 8, 9, 12, 9, 15, 8, 17, 6, 18, 3, 22, -12, -128, -128, 9, -12, 6, -1, 5, 3, 5, 6, 6, 8, 8, 9, -128, -128, 5, -12, 12, -12, -128, -128, 19, -12, 25, -12, 6, -12, 7, 9, -128, -128, 7, -12, 8, 7, -128, -128, 20, -12, 7, 9, -128, -128, 4, -12, 10, -12, -128, -128, 16, -12, 22, -12, 8, -12, 6, 9, -128, -128, 9, -12, 7, 7, -128, -128, 16, -12, 6, 9, -128, -128, 16, -12, 14, 9, -128, -128, 17, -12, 15, 7, -128, -128, 24, -12, 14, 9, -128, -128, 5, -12, 12, -12, -128, -128, 21, -12, 27, -12, 7, -12, 14, 9, -128, -128, 8, -12, 15, 9, -128, -128, 21, -12, 1, 9, -128, -128, 5, -12, 11, -12, -128, -128, 17, -12, 23, -12, -128, -128, -1, 9, 5, 9, -128, -128, 11, 9, 17, 9, 6, -12, 10, -2, 7, 9, -128, -128, 7, -12, 11, -2, 8, 9, -128, -128, 21, -12, 11, -2, -128, -128, 4, -12, 10, -12, -128, -128, 17, -12, 23, -12, -128, -128, 4, 9, 11, 9, 20, -12, 1, 9, -128, -128, 21, -12, 2, 9, -128, -128, 8, -12, 5, -6, 7, -12, 21, -12, -128, -128, 1, 9, 15, 9, 17, 3, 14, 9, 4, -16, 4, 16, -128, -128, 5, -16, 5, 16, -128, -128, 4, -16, 11, -16, -128, -128, 4, 16, 11, 16, 0, -12, 14, 12, 9, -16, 9, 16, -128, -128, 10, -16, 10, 16, -128, -128, 3, -16, 10, -16, -128, -128, 3, 16, 10, 16, 3, 2, 11, -3, 19, 2, -128, -128, 3, 2, 11, -2, 19, 2, 0, 16, 20, 16, 4, -12, 9, -6, -128, -128, 4, -12, 3, -11, 9, -6, 16, -5, 14, 2, 13, 6, 13, 8, 14, 9, 17, 9, 19, 7, 20, 5, -128, -128, 17, -5, 15, 2, 14, 6, 14, 8, 15, 9, -128, -128, 14, 2, 14, -1, 13, -4, 11, -5, 9, -5, 6, -4, 4, -1, 3, 2, 3, 5, 4, 7, 5, 8, 7, 9, 9, 9, 11, 8, 13, 5, 14, 2, -128, -128, 9, -5, 7, -4, 5, -1, 4, 2, 4, 6, 5, 8, 8, -12, 4, 1, 4, 4, 5, 7, 6, 8, -128, -128, 9, -12, 5, 1, -128, -128, 5, 1, 6, -2, 8, -4, 10, -5, 12, -5, 14, -4, 15, -3, 16, -1, 16, 2, 15, 5, 13, 8, 10, 9, 8, 9, 6, 8, 5, 5, 5, 1, -128, -128, 14, -4, 15, -2, 15, 2, 14, 5, 12, 8, 10, 9, -128, -128, 5, -12, 9, -12, 14, -2, 14, -1, 15, -1, 15, -2, 14, -4, 12, -5, 9, -5, 6, -4, 4, -1, 3, 2, 3, 5, 4, 7, 5, 8, 7, 9, 9, 9, 12, 8, 14, 5, -128, -128, 9, -5, 7, -4, 5, -1, 4, 2, 4, 6, 5, 8, 18, -12, 14, 2, 13, 6, 13, 8, 14, 9, 17, 9, 19, 7, 20, 5, -128, -128, 19, -12, 15, 2, 14, 6, 14, 8, 15, 9, -128, -128, 14, 2, 14, -1, 13, -4, 11, -5, 9, -5, 6, -4, 4, -1, 3, 2, 3, 5, 4, 7, 5, 8, 7, 9, 9, 9, 11, 8, 13, 5, 14, 2, -128, -128, 9, -5, 7, -4, 5, -1, 4, 2, 4, 6, 5, 8, -128, -128, 15, -12, 19, -12, 4, 4, 8, 3, 11, 2, 14, 0, 15, -2, 14, -4, 12, -5, 9, -5, 6, -4, 4, -1, 3, 2, 3, 5, 4, 7, 5, 8, 7, 9, 9, 9, 12, 8, 14, 6, -128, -128, 9, -5, 7, -4, 5, -1, 4, 2, 4, 6, 5, 8, 15, -11, 14, -10, 15, -9, 16, -10, 16, -11, 15, -12, 13, -12, 11, -11, 10, -10, 9, -8, 8, -5, 5, 9, 4, 13, 3, 15, -128, -128, 13, -12, 11, -10, 10, -8, 9, -4, 7, 5, 6, 9, 5, 12, 4, 14, 3, 15, 1, 16, -1, 16, -2, 15, -2, 14, -1, 13, 0, 14, -1, 15, -128, -128, 4, -5, 14, -5, 17, -5, 13, 9, 12, 12, 10, 15, 7, 16, 4, 16, 2, 15, 1, 14, 1, 13, 2, 12, 3, 13, 2, 14, -128, -128, 16, -5, 12, 9, 11, 12, 9, 15, 7, 16, -128, -128, 14, 2, 14, -1, 13, -4, 11, -5, 9, -5, 6, -4, 4, -1, 3, 2, 3, 5, 4, 7, 5, 8, 7, 9, 9, 9, 11, 8, 13, 5, 14, 2, -128, -128, 9, -5, 7, -4, 5, -1, 4, 2, 4, 6, 5, 8, 8, -12, 2, 9, -128, -128, 9, -12, 3, 9, -128, -128, 5, 2, 7, -2, 9, -4, 11, -5, 13, -5, 15, -4, 16, -3, 16, -1, 14, 5, 14, 8, 15, 9, -128, -128, 13, -5, 15, -3, 15, -1, 13, 5, 13, 8, 14, 9, 17, 9, 19, 7, 20, 5, -128, -128, 5, -12, 9, -12, 9, -12, 8, -11, 9, -10, 10, -11, 9, -12, -128, -128, 1, -1, 2, -3, 4, -5, 7, -5, 8, -4, 8, -1, 6, 5, 6, 8, 7, 9, -128, -128, 6, -5, 7, -4, 7, -1, 5, 5, 5, 8, 6, 9, 9, 9, 11, 7, 12, 5, 10, -12, 9, -11, 10, -10, 11, -11, 10, -12, -128, -128, 2, -1, 3, -3, 5, -5, 8, -5, 9, -4, 9, -1, 6, 9, 5, 12, 4, 14, 3, 15, 1, 16, -1, 16, -2, 15, -2, 14, -1, 13, 0, 14, -1, 15, -128, -128, 7, -5, 8, -4, 8, -1, 5, 9, 4, 12, 3, 14, 1, 16, 8, -12, 2, 9, -128, -128, 9, -12, 3, 9, -128, -128, 16, -4, 15, -3, 16, -2, 17, -3, 17, -4, 16, -5, 15, -5, 13, -4, 9, 0, 7, 1, 5, 1, -128, -128, 7, 1, 9, 2, 11, 8, 12, 9, -128, -128, 7, 1, 8, 2, 10, 8, 11, 9, 13, 9, 15, 8, 17, 5, -128, -128, 5, -12, 9, -12, 8, -12, 4, 2, 3, 6, 3, 8, 4, 9, 7, 9, 9, 7, 10, 5, -128, -128, 9, -12, 5, 2, 4, 6, 4, 8, 5, 9, -128, -128, 5, -12, 9, -12, 1, -1, 2, -3, 4, -5, 7, -5, 8, -4, 8, -2, 7, 2, 5, 9, -128, -128, 6, -5, 7, -4, 7, -2, 6, 2, 4, 9, -128, -128, 7, 2, 9, -2, 11, -4, 13, -5, 15, -5, 17, -4, 18, -3, 18, -1, 15, 9, -128, -128, 15, -5, 17, -3, 17, -1, 14, 9, -128, -128, 17, 2, 19, -2, 21, -4, 23, -5, 25, -5, 27, -4, 28, -3, 28, -1, 26, 5, 26, 8, 27, 9, -128, -128, 25, -5, 27, -3, 27, -1, 25, 5, 25, 8, 26, 9, 29, 9, 31, 7, 32, 5, 1, -1, 2, -3, 4, -5, 7, -5, 8, -4, 8, -2, 7, 2, 5, 9, -128, -128, 6, -5, 7, -4, 7, -2, 6, 2, 4, 9, -128, -128, 7, 2, 9, -2, 11, -4, 13, -5, 15, -5, 17, -4, 18, -3, 18, -1, 16, 5, 16, 8, 17, 9, -128, -128, 15, -5, 17, -3, 17, -1, 15, 5, 15, 8, 16, 9, 19, 9, 21, 7, 22, 5, 9, -5, 6, -4, 4, -1, 3, 2, 3, 5, 4, 7, 5, 8, 7, 9, 9, 9, 12, 8, 14, 5, 15, 2, 15, -1, 14, -3, 13, -4, 11, -5, 9, -5, -128, -128, 9, -5, 7, -4, 5, -1, 4, 2, 4, 6, 5, 8, -128, -128, 9, 9, 11, 8, 13, 5, 14, 2, 14, -2, 13, -4, 1, -1, 2, -3, 4, -5, 7, -5, 8, -4, 8, -2, 7, 2, 3, 16, -128, -128, 6, -5, 7, -4, 7, -2, 6, 2, 2, 16, -128, -128, 7, 2, 8, -1, 10, -4, 12, -5, 14, -5, 16, -4, 17, -3, 18, -1, 18, 2, 17, 5, 15, 8, 12, 9, 10, 9, 8, 8, 7, 5, 7, 2, -128, -128, 16, -4, 17, -2, 17, 2, 16, 5, 14, 8, 12, 9, -128, -128, -1, 16, 6, 16, 16, -5, 10, 16, -128, -128, 17, -5, 11, 16, -128, -128, 14, 2, 14, -1, 13, -4, 11, -5, 9, -5, 6, -4, 4, -1, 3, 2, 3, 5, 4, 7, 5, 8, 7, 9, 9, 9, 11, 8, 13, 5, 14, 2, -128, -128, 9, -5, 7, -4, 5, -1, 4, 2, 4, 6, 5, 8, -128, -128, 7, 16, 14, 16, 1, -1, 2, -3, 4, -5, 7, -5, 8, -4, 8, -2, 7, 2, 5, 9, -128, -128, 6, -5, 7, -4, 7, -2, 6, 2, 4, 9, -128, -128, 7, 2, 9, -2, 11, -4, 13, -5, 15, -5, 16, -4, 16, -3, 15, -2, 14, -3, 15, -4, 14, -3, 14, -2, 15, -2, 15, -3, 14, -4, 11, -5, 8, -5, 5, -4, 4, -3, 4, -1, 5, 0, 12, 4, 13, 5, -128, -128, 4, -2, 5, -1, 12, 3, 13, 4, 13, 7, 12, 8, 9, 9, 6, 9, 3, 8, 2, 7, 2, 6, 3, 6, 3, 7, 9, -12, 5, 2, 4, 6, 4, 8, 5, 9, 8, 9, 10, 7, 11, 5, -128, -128, 10, -12, 6, 2, 5, 6, 5, 8, 6, 9, -128, -128, 3, -5, 12, -5, 1, -1, 2, -3, 4, -5, 7, -5, 8, -4, 8, -1, 6, 5, 6, 7, 8, 9, -128, -128, 6, -5, 7, -4, 7, -1, 5, 5, 5, 7, 6, 8, 8, 9, 10, 9, 12, 8, 14, 6, 16, 2, -128, -128, 18, -5, 16, 2, 15, 6, 15, 8, 16, 9, 19, 9, 21, 7, 22, 5, -128, -128, 19, -5, 17, 2, 16, 6, 16, 8, 17, 9, 1, -1, 2, -3, 4, -5, 7, -5, 8, -4, 8, -1, 6, 5, 6, 7, 8, 9, -128, -128, 6, -5, 7, -4, 7, -1, 5, 5, 5, 7, 6, 8, 8, 9, 9, 9, 12, 8, 14, 6, 16, 3, 17, -1, 17, -5, 16, -5, 17, -3, 1, -1, 2, -3, 4, -5, 7, -5, 8, -4, 8, -1, 6, 5, 6, 7, 8, 9, -128, -128, 6, -5, 7, -4, 7, -1, 5, 5, 5, 7, 6, 8, 8, 9, 10, 9, 12, 8, 14, 6, 15, 4, -128, -128, 17, -5, 15, 4, 15, 7, 16, 8, 18, 9, 20, 9, 22, 8, 24, 6, 25, 4, 26, 0, 26, -5, 25, -5, 26, -3, -128, -128, 18, -5, 16, 4, 16, 7, 18, 9, 3, -1, 5, -4, 7, -5, 10, -5, 11, -3, 11, 0, -128, -128, 9, -5, 10, -3, 10, 0, 9, 4, 8, 6, 6, 8, 4, 9, 3, 9, 2, 8, 2, 7, 3, 6, 4, 7, 3, 8, -128, -128, 9, 4, 9, 7, 10, 9, 13, 9, 15, 8, 17, 5, -128, -128, 17, -4, 16, -3, 17, -2, 18, -3, 18, -4, 17, -5, 16, -5, 14, -4, 12, -2, 11, 0, 10, 4, 10, 7, 11, 9, 1, -1, 2, -3, 4, -5, 7, -5, 8, -4, 8, -1, 6, 5, 6, 7, 8, 9, -128, -128, 6, -5, 7, -4, 7, -1, 5, 5, 5, 7, 6, 8, 8, 9, 10, 9, 12, 8, 14, 6, 16, 2, -128, -128, 19, -5, 15, 9, 14, 12, 12, 15, 9, 16, 6, 16, 4, 15, 3, 14, 3, 13, 4, 12, 5, 13, 4, 14, -128, -128, 18, -5, 14, 9, 13, 12, 11, 15, 9, 16, 17, -5, 16, -3, 14, -1, 6, 5, 4, 7, 3, 9, -128, -128, 4, -1, 5, -3, 7, -5, 10, -5, 14, -3, -128, -128, 5, -3, 7, -4, 10, -4, 14, -3, 16, -3, -128, -128, 4, 7, 6, 7, 10, 8, 13, 8, 15, 7, -128, -128, 6, 7, 10, 9, 13, 9, 15, 7, 16, 5, 9, -16, 7, -15, 6, -14, 5, -12, 5, -10, 6, -8, 7, -7, 8, -5, 8, -3, 6, -1, -128, -128, 7, -15, 6, -13, 6, -11, 7, -9, 8, -8, 9, -6, 9, -4, 8, -2, 4, 0, 8, 2, 9, 4, 9, 6, 8, 8, 7, 9, 6, 11, 6, 13, 7, 15, -128, -128, 6, 1, 8, 3, 8, 5, 7, 7, 6, 8, 5, 10, 5, 12, 6, 14, 7, 15, 9, 16, 4, -16, 4, 16, 5, -16, 7, -15, 8, -14, 9, -12, 9, -10, 8, -8, 7, -7, 6, -5, 6, -3, 8, -1, -128, -128, 7, -15, 8, -13, 8, -11, 7, -9, 6, -8, 5, -6, 5, -4, 6, -2, 10, 0, 6, 2, 5, 4, 5, 6, 6, 8, 7, 9, 8, 11, 8, 13, 7, 15, -128, -128, 8, 1, 6, 3, 6, 5, 7, 7, 8, 8, 9, 10, 9, 12, 8, 14, 7, 15, 5, 16, 3, 3, 3, 1, 4, -2, 6, -3, 8, -3, 10, -2, 14, 1, 16, 2, 18, 2, 20, 1, 21, -1, -128, -128, 3, 1, 4, -1, 6, -2, 8, -2, 10, -1, 14, 2, 16, 3, 18, 3, 20, 2, 21, -1, 21, -3, 0, -12, 0, 9, 1, 9, 1, -12, 2, -12, 2, 9, 3, 9, 3, -12, 4, -12, 4, 9, 5, 9, 5, -12, 6, -12, 6, 9, 7, 9, 7, -12, 8, -12, 8, 9, 9, 9, 9, -12, 10, -12, 10, 9, 11, 9, 11, -12, 12, -12, 12, 9, 13, 9, 13, -12, 14, -12, 14, 9, 15, 9, 15, -12, 16, -12, 16, 9 +}; + +const hershey_font_t timesi { + .chars = { + {.width=16, .vertex_count=0, .vertices=×i_vertices[0]}, + {.width=11, .vertex_count=16, .vertices=×i_vertices[0]}, + {.width=18, .vertex_count=11, .vertices=×i_vertices[32]}, + {.width=21, .vertex_count=11, .vertices=×i_vertices[54]}, + {.width=21, .vertex_count=40, .vertices=×i_vertices[76]}, + {.width=24, .vertex_count=31, .vertices=×i_vertices[156]}, + {.width=25, .vertex_count=48, .vertices=×i_vertices[218]}, + {.width=9, .vertex_count=5, .vertices=×i_vertices[314]}, + {.width=15, .vertex_count=19, .vertices=×i_vertices[324]}, + {.width=15, .vertex_count=19, .vertices=×i_vertices[362]}, + {.width=16, .vertex_count=8, .vertices=×i_vertices[400]}, + {.width=26, .vertex_count=5, .vertices=×i_vertices[416]}, + {.width=11, .vertex_count=7, .vertices=×i_vertices[426]}, + {.width=26, .vertex_count=2, .vertices=×i_vertices[440]}, + {.width=11, .vertex_count=5, .vertices=×i_vertices[444]}, + {.width=22, .vertex_count=2, .vertices=×i_vertices[454]}, + {.width=21, .vertex_count=41, .vertices=×i_vertices[458]}, + {.width=21, .vertex_count=14, .vertices=×i_vertices[540]}, + {.width=21, .vertex_count=41, .vertices=×i_vertices[568]}, + {.width=21, .vertex_count=49, .vertices=×i_vertices[650]}, + {.width=21, .vertex_count=9, .vertices=×i_vertices[748]}, + {.width=21, .vertex_count=38, .vertices=×i_vertices[766]}, + {.width=21, .vertex_count=45, .vertices=×i_vertices[842]}, + {.width=21, .vertex_count=29, .vertices=×i_vertices[932]}, + {.width=21, .vertex_count=62, .vertices=×i_vertices[990]}, + {.width=21, .vertex_count=45, .vertices=×i_vertices[1114]}, + {.width=11, .vertex_count=10, .vertices=×i_vertices[1204]}, + {.width=11, .vertex_count=13, .vertices=×i_vertices[1224]}, + {.width=24, .vertex_count=3, .vertices=×i_vertices[1250]}, + {.width=26, .vertex_count=5, .vertices=×i_vertices[1256]}, + {.width=24, .vertex_count=3, .vertices=×i_vertices[1266]}, + {.width=21, .vertex_count=33, .vertices=×i_vertices[1272]}, + {.width=27, .vertex_count=55, .vertices=×i_vertices[1338]}, + {.width=20, .vertex_count=17, .vertices=×i_vertices[1448]}, + {.width=24, .vertex_count=40, .vertices=×i_vertices[1482]}, + {.width=21, .vertex_count=33, .vertices=×i_vertices[1562]}, + {.width=23, .vertex_count=29, .vertices=×i_vertices[1628]}, + {.width=23, .vertex_count=21, .vertices=×i_vertices[1686]}, + {.width=22, .vertex_count=19, .vertices=×i_vertices[1728]}, + {.width=22, .vertex_count=41, .vertices=×i_vertices[1766]}, + {.width=26, .vertex_count=26, .vertices=×i_vertices[1848]}, + {.width=13, .vertex_count=11, .vertices=×i_vertices[1900]}, + {.width=18, .vertex_count=20, .vertices=×i_vertices[1922]}, + {.width=23, .vertex_count=26, .vertices=×i_vertices[1962]}, + {.width=20, .vertex_count=13, .vertices=×i_vertices[2014]}, + {.width=27, .vertex_count=29, .vertices=×i_vertices[2040]}, + {.width=25, .vertex_count=20, .vertices=×i_vertices[2098]}, + {.width=22, .vertex_count=41, .vertices=×i_vertices[2138]}, + {.width=23, .vertex_count=26, .vertices=×i_vertices[2220]}, + {.width=22, .vertex_count=60, .vertices=×i_vertices[2272]}, + {.width=24, .vertex_count=41, .vertices=×i_vertices[2392]}, + {.width=23, .vertex_count=34, .vertices=×i_vertices[2474]}, + {.width=21, .vertex_count=15, .vertices=×i_vertices[2542]}, + {.width=25, .vertex_count=24, .vertices=×i_vertices[2572]}, + {.width=20, .vertex_count=14, .vertices=×i_vertices[2620]}, + {.width=26, .vertex_count=23, .vertices=×i_vertices[2648]}, + {.width=22, .vertex_count=20, .vertices=×i_vertices[2694]}, + {.width=21, .vertex_count=19, .vertices=×i_vertices[2734]}, + {.width=22, .vertex_count=15, .vertices=×i_vertices[2772]}, + {.width=14, .vertex_count=11, .vertices=×i_vertices[2802]}, + {.width=14, .vertex_count=2, .vertices=×i_vertices[2824]}, + {.width=14, .vertex_count=11, .vertices=×i_vertices[2828]}, + {.width=22, .vertex_count=7, .vertices=×i_vertices[2850]}, + {.width=20, .vertex_count=2, .vertices=×i_vertices[2864]}, + {.width=12, .vertex_count=6, .vertices=×i_vertices[2868]}, + {.width=21, .vertex_count=38, .vertices=×i_vertices[2880]}, + {.width=19, .vertex_count=35, .vertices=×i_vertices[2956]}, + {.width=18, .vertex_count=24, .vertices=×i_vertices[3026]}, + {.width=21, .vertex_count=41, .vertices=×i_vertices[3074]}, + {.width=18, .vertex_count=25, .vertices=×i_vertices[3156]}, + {.width=15, .vertex_count=34, .vertices=×i_vertices[3206]}, + {.width=20, .vertex_count=42, .vertices=×i_vertices[3274]}, + {.width=21, .vertex_count=30, .vertices=×i_vertices[3358]}, + {.width=13, .vertex_count=25, .vertices=×i_vertices[3418]}, + {.width=13, .vertex_count=31, .vertices=×i_vertices[3468]}, + {.width=20, .vertex_count=33, .vertices=×i_vertices[3530]}, + {.width=12, .vertex_count=17, .vertices=×i_vertices[3596]}, + {.width=33, .vertex_count=51, .vertices=×i_vertices[3630]}, + {.width=23, .vertex_count=36, .vertices=×i_vertices[3732]}, + {.width=18, .vertex_count=31, .vertices=×i_vertices[3804]}, + {.width=21, .vertex_count=41, .vertices=×i_vertices[3866]}, + {.width=20, .vertex_count=32, .vertices=×i_vertices[3948]}, + {.width=17, .vertex_count=25, .vertices=×i_vertices[4012]}, + {.width=17, .vertex_count=27, .vertices=×i_vertices[4062]}, + {.width=14, .vertex_count=17, .vertices=×i_vertices[4116]}, + {.width=23, .vertex_count=36, .vertices=×i_vertices[4150]}, + {.width=20, .vertex_count=25, .vertices=×i_vertices[4222]}, + {.width=29, .vertex_count=40, .vertices=×i_vertices[4272]}, + {.width=20, .vertex_count=41, .vertices=×i_vertices[4352]}, + {.width=21, .vertex_count=40, .vertices=×i_vertices[4434]}, + {.width=20, .vertex_count=30, .vertices=×i_vertices[4514]}, + {.width=14, .vertex_count=39, .vertices=×i_vertices[4574]}, + {.width=8, .vertex_count=2, .vertices=×i_vertices[4652]}, + {.width=14, .vertex_count=39, .vertices=×i_vertices[4656]}, + {.width=24, .vertex_count=23, .vertices=×i_vertices[4734]} + } +}; + +static const int8_t timesr_vertices[4600] = { + 5, -12, 4, -10, 5, 2, 6, -10, 5, -12, -128, -128, 5, -10, 5, -4, -128, -128, 5, 7, 4, 8, 5, 9, 6, 8, 5, 7, 5, -12, 4, -11, 4, -5, -128, -128, 5, -11, 4, -5, -128, -128, 5, -12, 6, -11, 4, -5, -128, -128, 14, -12, 13, -11, 13, -5, -128, -128, 14, -11, 13, -5, -128, -128, 14, -12, 15, -11, 13, -5, 11, -16, 4, 16, -128, -128, 17, -16, 10, 16, -128, -128, 4, -3, 18, -3, -128, -128, 3, 3, 17, 3, 8, -16, 8, 13, -128, -128, 12, -16, 12, 13, -128, -128, 16, -9, 15, -8, 16, -7, 17, -8, 17, -9, 15, -11, 12, -12, 8, -12, 5, -11, 3, -9, 3, -7, 4, -5, 5, -4, 7, -3, 13, -1, 15, 0, 17, 2, -128, -128, 3, -7, 5, -5, 7, -4, 13, -2, 15, -1, 16, 0, 17, 2, 17, 6, 15, 8, 12, 9, 8, 9, 5, 8, 3, 6, 3, 5, 4, 4, 5, 5, 4, 6, 21, -12, 3, 9, -128, -128, 8, -12, 10, -10, 10, -8, 9, -6, 7, -5, 5, -5, 3, -7, 3, -9, 4, -11, 6, -12, 8, -12, 10, -11, 13, -10, 16, -10, 19, -11, 21, -12, -128, -128, 17, 2, 15, 3, 14, 5, 14, 7, 16, 9, 18, 9, 20, 8, 21, 6, 21, 4, 19, 2, 17, 2, 21, -4, 20, -3, 21, -2, 22, -3, 22, -4, 21, -5, 20, -5, 19, -4, 18, -2, 16, 3, 14, 6, 12, 8, 10, 9, 7, 9, 4, 8, 3, 6, 3, 3, 4, 1, 10, -3, 12, -5, 13, -7, 13, -9, 12, -11, 10, -12, 8, -11, 7, -9, 7, -7, 8, -4, 10, -1, 15, 6, 17, 8, 20, 9, 21, 9, 22, 8, 22, 7, -128, -128, 7, 9, 5, 8, 4, 6, 4, 3, 5, 1, 7, -1, -128, -128, 7, -7, 8, -5, 16, 6, 18, 8, 20, 9, 4, -12, 3, -5, -128, -128, 5, -12, 3, -5, 11, -16, 9, -14, 7, -11, 5, -7, 4, -2, 4, 2, 5, 7, 7, 11, 9, 14, 11, 16, -128, -128, 9, -14, 7, -10, 6, -7, 5, -2, 5, 2, 6, 7, 7, 10, 9, 14, 3, -16, 5, -14, 7, -11, 9, -7, 10, -2, 10, 2, 9, 7, 7, 11, 5, 14, 3, 16, -128, -128, 5, -14, 7, -10, 8, -7, 9, -2, 9, 2, 8, 7, 7, 10, 5, 14, 8, -6, 8, 6, -128, -128, 3, -3, 13, 3, -128, -128, 13, -3, 3, 3, 13, -9, 13, 9, -128, -128, 4, 0, 22, 0, 5, 5, 4, 6, 3, 5, 4, 4, 5, 5, 5, 7, 3, 9, 4, 0, 22, 0, 4, 4, 3, 5, 4, 6, 5, 5, 4, 4, 20, -16, 2, 16, 9, -12, 6, -11, 4, -8, 3, -3, 3, 0, 4, 5, 6, 8, 9, 9, 11, 9, 14, 8, 16, 5, 17, 0, 17, -3, 16, -8, 14, -11, 11, -12, 9, -12, -128, -128, 9, -12, 7, -11, 6, -10, 5, -8, 4, -3, 4, 0, 5, 5, 6, 7, 7, 8, 9, 9, -128, -128, 11, 9, 13, 8, 14, 7, 15, 5, 16, 0, 16, -3, 15, -8, 14, -10, 13, -11, 11, -12, 6, -8, 8, -9, 11, -12, 11, 9, -128, -128, 10, -11, 10, 9, -128, -128, 6, 9, 15, 9, 4, -8, 5, -7, 4, -6, 3, -7, 3, -8, 4, -10, 5, -11, 8, -12, 12, -12, 15, -11, 16, -10, 17, -8, 17, -6, 16, -4, 13, -2, 8, 0, 6, 1, 4, 3, 3, 6, 3, 9, -128, -128, 12, -12, 14, -11, 15, -10, 16, -8, 16, -6, 15, -4, 12, -2, 8, 0, -128, -128, 3, 7, 4, 6, 6, 6, 11, 8, 14, 8, 16, 7, 17, 6, -128, -128, 6, 6, 11, 9, 15, 9, 16, 8, 17, 6, 17, 4, 4, -8, 5, -7, 4, -6, 3, -7, 3, -8, 4, -10, 5, -11, 8, -12, 12, -12, 15, -11, 16, -9, 16, -6, 15, -4, 12, -3, 9, -3, -128, -128, 12, -12, 14, -11, 15, -9, 15, -6, 14, -4, 12, -3, -128, -128, 12, -3, 14, -2, 16, 0, 17, 2, 17, 5, 16, 7, 15, 8, 12, 9, 8, 9, 5, 8, 4, 7, 3, 5, 3, 4, 4, 3, 5, 4, 4, 5, -128, -128, 15, -1, 16, 2, 16, 5, 15, 7, 14, 8, 12, 9, 12, -10, 12, 9, -128, -128, 13, -12, 13, 9, -128, -128, 13, -12, 2, 3, 18, 3, -128, -128, 9, 9, 16, 9, 5, -12, 3, -2, -128, -128, 3, -2, 5, -4, 8, -5, 11, -5, 14, -4, 16, -2, 17, 1, 17, 3, 16, 6, 14, 8, 11, 9, 8, 9, 5, 8, 4, 7, 3, 5, 3, 4, 4, 3, 5, 4, 4, 5, -128, -128, 11, -5, 13, -4, 15, -2, 16, 1, 16, 3, 15, 6, 13, 8, 11, 9, -128, -128, 5, -12, 15, -12, -128, -128, 5, -11, 10, -11, 15, -12, 15, -9, 14, -8, 15, -7, 16, -8, 16, -9, 15, -11, 13, -12, 10, -12, 7, -11, 5, -9, 4, -7, 3, -3, 3, 3, 4, 6, 6, 8, 9, 9, 11, 9, 14, 8, 16, 6, 17, 3, 17, 2, 16, -1, 14, -3, 11, -4, 10, -4, 7, -3, 5, -1, 4, 2, -128, -128, 10, -12, 8, -11, 6, -9, 5, -7, 4, -3, 4, 3, 5, 6, 7, 8, 9, 9, -128, -128, 11, 9, 13, 8, 15, 6, 16, 3, 16, 2, 15, -1, 13, -3, 11, -4, 3, -12, 3, -6, -128, -128, 3, -8, 4, -10, 6, -12, 8, -12, 13, -9, 15, -9, 16, -10, 17, -12, -128, -128, 4, -10, 6, -11, 8, -11, 13, -9, -128, -128, 17, -12, 17, -9, 16, -6, 12, -1, 11, 1, 10, 4, 10, 9, -128, -128, 16, -6, 11, -1, 10, 1, 9, 4, 9, 9, 8, -12, 5, -11, 4, -9, 4, -6, 5, -4, 8, -3, 12, -3, 15, -4, 16, -6, 16, -9, 15, -11, 12, -12, 8, -12, -128, -128, 8, -12, 6, -11, 5, -9, 5, -6, 6, -4, 8, -3, -128, -128, 12, -3, 14, -4, 15, -6, 15, -9, 14, -11, 12, -12, -128, -128, 8, -3, 5, -2, 4, -1, 3, 1, 3, 5, 4, 7, 5, 8, 8, 9, 12, 9, 15, 8, 16, 7, 17, 5, 17, 1, 16, -1, 15, -2, 12, -3, -128, -128, 8, -3, 6, -2, 5, -1, 4, 1, 4, 5, 5, 7, 6, 8, 8, 9, -128, -128, 12, 9, 14, 8, 15, 7, 16, 5, 16, 1, 15, -1, 14, -2, 12, -3, 16, -5, 15, -2, 13, 0, 10, 1, 9, 1, 6, 0, 4, -2, 3, -5, 3, -6, 4, -9, 6, -11, 9, -12, 11, -12, 14, -11, 16, -9, 17, -6, 17, 0, 16, 4, 15, 6, 13, 8, 10, 9, 7, 9, 5, 8, 4, 6, 4, 5, 5, 4, 6, 5, 5, 6, -128, -128, 9, 1, 7, 0, 5, -2, 4, -5, 4, -6, 5, -9, 7, -11, 9, -12, -128, -128, 11, -12, 13, -11, 15, -9, 16, -6, 16, 0, 15, 4, 14, 6, 12, 8, 10, 9, 4, -3, 3, -2, 4, -1, 5, -2, 4, -3, -128, -128, 4, 4, 3, 5, 4, 6, 5, 5, 4, 4, 4, -3, 3, -2, 4, -1, 5, -2, 4, -3, -128, -128, 5, 5, 4, 6, 3, 5, 4, 4, 5, 5, 5, 7, 3, 9, 20, -9, 4, 0, 20, 9, 4, -3, 22, -3, -128, -128, 4, 3, 22, 3, 4, -9, 20, 0, 4, 9, 4, -8, 5, -7, 4, -6, 3, -7, 3, -8, 4, -10, 5, -11, 7, -12, 10, -12, 13, -11, 14, -10, 15, -8, 15, -6, 14, -4, 13, -3, 9, -1, 9, 2, -128, -128, 10, -12, 12, -11, 13, -10, 14, -8, 14, -6, 13, -4, 11, -2, -128, -128, 9, 7, 8, 8, 9, 9, 10, 8, 9, 7, 18, -4, 17, -6, 15, -7, 12, -7, 10, -6, 9, -5, 8, -2, 8, 1, 9, 3, 11, 4, 14, 4, 16, 3, 17, 1, -128, -128, 12, -7, 10, -5, 9, -2, 9, 1, 10, 3, 11, 4, -128, -128, 18, -7, 17, 1, 17, 3, 19, 4, 21, 4, 23, 2, 24, -1, 24, -3, 23, -6, 22, -8, 20, -10, 18, -11, 15, -12, 12, -12, 9, -11, 7, -10, 5, -8, 4, -6, 3, -3, 3, 0, 4, 3, 5, 5, 7, 7, 9, 8, 12, 9, 15, 9, 18, 8, 20, 7, 21, 6, -128, -128, 19, -7, 18, 1, 18, 3, 19, 4, 10, -12, 3, 9, -128, -128, 10, -12, 17, 9, -128, -128, 10, -9, 16, 9, -128, -128, 5, 3, 14, 3, -128, -128, 1, 9, 7, 9, -128, -128, 13, 9, 19, 9, 5, -12, 5, 9, -128, -128, 6, -12, 6, 9, -128, -128, 2, -12, 14, -12, 17, -11, 18, -10, 19, -8, 19, -6, 18, -4, 17, -3, 14, -2, -128, -128, 14, -12, 16, -11, 17, -10, 18, -8, 18, -6, 17, -4, 16, -3, 14, -2, -128, -128, 6, -2, 14, -2, 17, -1, 18, 0, 19, 2, 19, 5, 18, 7, 17, 8, 14, 9, 2, 9, -128, -128, 14, -2, 16, -1, 17, 0, 18, 2, 18, 5, 17, 7, 16, 8, 14, 9, 17, -9, 18, -6, 18, -12, 17, -9, 15, -11, 12, -12, 10, -12, 7, -11, 5, -9, 4, -7, 3, -4, 3, 1, 4, 4, 5, 6, 7, 8, 10, 9, 12, 9, 15, 8, 17, 6, 18, 4, -128, -128, 10, -12, 8, -11, 6, -9, 5, -7, 4, -4, 4, 1, 5, 4, 6, 6, 8, 8, 10, 9, 5, -12, 5, 9, -128, -128, 6, -12, 6, 9, -128, -128, 2, -12, 12, -12, 15, -11, 17, -9, 18, -7, 19, -4, 19, 1, 18, 4, 17, 6, 15, 8, 12, 9, 2, 9, -128, -128, 12, -12, 14, -11, 16, -9, 17, -7, 18, -4, 18, 1, 17, 4, 16, 6, 14, 8, 12, 9, 5, -12, 5, 9, -128, -128, 6, -12, 6, 9, -128, -128, 12, -6, 12, 2, -128, -128, 2, -12, 18, -12, 18, -6, 17, -12, -128, -128, 6, -2, 12, -2, -128, -128, 2, 9, 18, 9, 18, 3, 17, 9, 5, -12, 5, 9, -128, -128, 6, -12, 6, 9, -128, -128, 12, -6, 12, 2, -128, -128, 2, -12, 18, -12, 18, -6, 17, -12, -128, -128, 6, -2, 12, -2, -128, -128, 2, 9, 9, 9, 17, -9, 18, -6, 18, -12, 17, -9, 15, -11, 12, -12, 10, -12, 7, -11, 5, -9, 4, -7, 3, -4, 3, 1, 4, 4, 5, 6, 7, 8, 10, 9, 12, 9, 15, 8, 17, 6, -128, -128, 10, -12, 8, -11, 6, -9, 5, -7, 4, -4, 4, 1, 5, 4, 6, 6, 8, 8, 10, 9, -128, -128, 17, 1, 17, 9, -128, -128, 18, 1, 18, 9, -128, -128, 14, 1, 21, 1, 5, -12, 5, 9, -128, -128, 6, -12, 6, 9, -128, -128, 18, -12, 18, 9, -128, -128, 19, -12, 19, 9, -128, -128, 2, -12, 9, -12, -128, -128, 15, -12, 22, -12, -128, -128, 6, -2, 18, -2, -128, -128, 2, 9, 9, 9, -128, -128, 15, 9, 22, 9, 5, -12, 5, 9, -128, -128, 6, -12, 6, 9, -128, -128, 2, -12, 9, -12, -128, -128, 2, 9, 9, 9, 10, -12, 10, 5, 9, 8, 7, 9, 5, 9, 3, 8, 2, 6, 2, 4, 3, 3, 4, 4, 3, 5, -128, -128, 9, -12, 9, 5, 8, 8, 7, 9, -128, -128, 6, -12, 13, -12, 5, -12, 5, 9, -128, -128, 6, -12, 6, 9, -128, -128, 19, -12, 6, 1, -128, -128, 11, -3, 19, 9, -128, -128, 10, -3, 18, 9, -128, -128, 2, -12, 9, -12, -128, -128, 15, -12, 21, -12, -128, -128, 2, 9, 9, 9, -128, -128, 15, 9, 21, 9, 5, -12, 5, 9, -128, -128, 6, -12, 6, 9, -128, -128, 2, -12, 9, -12, -128, -128, 2, 9, 17, 9, 17, 3, 16, 9, 5, -12, 5, 9, -128, -128, 6, -12, 12, 6, -128, -128, 5, -12, 12, 9, -128, -128, 19, -12, 12, 9, -128, -128, 19, -12, 19, 9, -128, -128, 20, -12, 20, 9, -128, -128, 2, -12, 6, -12, -128, -128, 19, -12, 23, -12, -128, -128, 2, 9, 8, 9, -128, -128, 16, 9, 23, 9, 5, -12, 5, 9, -128, -128, 6, -12, 18, 7, -128, -128, 6, -10, 18, 9, -128, -128, 18, -12, 18, 9, -128, -128, 2, -12, 6, -12, -128, -128, 15, -12, 21, -12, -128, -128, 2, 9, 8, 9, 10, -12, 7, -11, 5, -9, 4, -7, 3, -3, 3, 0, 4, 4, 5, 6, 7, 8, 10, 9, 12, 9, 15, 8, 17, 6, 18, 4, 19, 0, 19, -3, 18, -7, 17, -9, 15, -11, 12, -12, 10, -12, -128, -128, 10, -12, 8, -11, 6, -9, 5, -7, 4, -3, 4, 0, 5, 4, 6, 6, 8, 8, 10, 9, -128, -128, 12, 9, 14, 8, 16, 6, 17, 4, 18, 0, 18, -3, 17, -7, 16, -9, 14, -11, 12, -12, 5, -12, 5, 9, -128, -128, 6, -12, 6, 9, -128, -128, 2, -12, 14, -12, 17, -11, 18, -10, 19, -8, 19, -5, 18, -3, 17, -2, 14, -1, 6, -1, -128, -128, 14, -12, 16, -11, 17, -10, 18, -8, 18, -5, 17, -3, 16, -2, 14, -1, -128, -128, 2, 9, 9, 9, 10, -12, 7, -11, 5, -9, 4, -7, 3, -3, 3, 0, 4, 4, 5, 6, 7, 8, 10, 9, 12, 9, 15, 8, 17, 6, 18, 4, 19, 0, 19, -3, 18, -7, 17, -9, 15, -11, 12, -12, 10, -12, -128, -128, 10, -12, 8, -11, 6, -9, 5, -7, 4, -3, 4, 0, 5, 4, 6, 6, 8, 8, 10, 9, -128, -128, 12, 9, 14, 8, 16, 6, 17, 4, 18, 0, 18, -3, 17, -7, 16, -9, 14, -11, 12, -12, -128, -128, 7, 7, 7, 6, 8, 4, 10, 3, 11, 3, 13, 4, 14, 6, 15, 13, 16, 14, 18, 14, 19, 12, 19, 11, -128, -128, 14, 6, 15, 10, 16, 12, 17, 13, 18, 13, 19, 12, 5, -12, 5, 9, -128, -128, 6, -12, 6, 9, -128, -128, 2, -12, 14, -12, 17, -11, 18, -10, 19, -8, 19, -6, 18, -4, 17, -3, 14, -2, 6, -2, -128, -128, 14, -12, 16, -11, 17, -10, 18, -8, 18, -6, 17, -4, 16, -3, 14, -2, -128, -128, 2, 9, 9, 9, -128, -128, 11, -2, 13, -1, 14, 0, 17, 7, 18, 8, 19, 8, 20, 7, -128, -128, 13, -1, 14, 1, 16, 8, 17, 9, 19, 9, 20, 7, 20, 6, 16, -9, 17, -12, 17, -6, 16, -9, 14, -11, 11, -12, 8, -12, 5, -11, 3, -9, 3, -7, 4, -5, 5, -4, 7, -3, 13, -1, 15, 0, 17, 2, -128, -128, 3, -7, 5, -5, 7, -4, 13, -2, 15, -1, 16, 0, 17, 2, 17, 6, 15, 8, 12, 9, 9, 9, 6, 8, 4, 6, 3, 3, 3, 9, 4, 6, 9, -12, 9, 9, -128, -128, 10, -12, 10, 9, -128, -128, 3, -12, 2, -6, 2, -12, 17, -12, 17, -6, 16, -12, -128, -128, 6, 9, 13, 9, 5, -12, 5, 3, 6, 6, 8, 8, 11, 9, 13, 9, 16, 8, 18, 6, 19, 3, 19, -12, -128, -128, 6, -12, 6, 3, 7, 6, 9, 8, 11, 9, -128, -128, 2, -12, 9, -12, -128, -128, 16, -12, 22, -12, 3, -12, 10, 9, -128, -128, 4, -12, 10, 6, -128, -128, 17, -12, 10, 9, -128, -128, 1, -12, 7, -12, -128, -128, 13, -12, 19, -12, 4, -12, 8, 9, -128, -128, 5, -12, 8, 4, -128, -128, 12, -12, 8, 9, -128, -128, 12, -12, 16, 9, -128, -128, 13, -12, 16, 4, -128, -128, 20, -12, 16, 9, -128, -128, 1, -12, 8, -12, -128, -128, 17, -12, 23, -12, 3, -12, 16, 9, -128, -128, 4, -12, 17, 9, -128, -128, 17, -12, 3, 9, -128, -128, 1, -12, 7, -12, -128, -128, 13, -12, 19, -12, -128, -128, 1, 9, 7, 9, -128, -128, 13, 9, 19, 9, 3, -12, 10, -1, 10, 9, -128, -128, 4, -12, 11, -1, 11, 9, -128, -128, 18, -12, 11, -1, -128, -128, 1, -12, 7, -12, -128, -128, 14, -12, 20, -12, -128, -128, 7, 9, 14, 9, 16, -12, 3, 9, -128, -128, 17, -12, 4, 9, -128, -128, 4, -12, 3, -6, 3, -12, 17, -12, -128, -128, 3, 9, 17, 9, 17, 3, 16, 9, 4, -16, 4, 16, -128, -128, 5, -16, 5, 16, -128, -128, 4, -16, 11, -16, -128, -128, 4, 16, 11, 16, 0, -12, 14, 12, 9, -16, 9, 16, -128, -128, 10, -16, 10, 16, -128, -128, 3, -16, 10, -16, -128, -128, 3, 16, 10, 16, 3, 2, 11, -3, 19, 2, -128, -128, 3, 2, 11, -2, 19, 2, 0, 16, 20, 16, 4, -12, 9, -6, -128, -128, 4, -12, 3, -11, 9, -6, 5, -3, 5, -2, 4, -2, 4, -3, 5, -4, 7, -5, 11, -5, 13, -4, 14, -3, 15, -1, 15, 6, 16, 8, 17, 9, -128, -128, 14, -3, 14, 6, 15, 8, 17, 9, 18, 9, -128, -128, 14, -1, 13, 0, 7, 1, 4, 2, 3, 4, 3, 6, 4, 8, 7, 9, 10, 9, 12, 8, 14, 6, -128, -128, 7, 1, 5, 2, 4, 4, 4, 6, 5, 8, 7, 9, 5, -12, 5, 9, -128, -128, 6, -12, 6, 9, -128, -128, 6, -2, 8, -4, 10, -5, 12, -5, 15, -4, 17, -2, 18, 1, 18, 3, 17, 6, 15, 8, 12, 9, 10, 9, 8, 8, 6, 6, -128, -128, 12, -5, 14, -4, 16, -2, 17, 1, 17, 3, 16, 6, 14, 8, 12, 9, -128, -128, 2, -12, 6, -12, 15, -2, 14, -1, 15, 0, 16, -1, 16, -2, 14, -4, 12, -5, 9, -5, 6, -4, 4, -2, 3, 1, 3, 3, 4, 6, 6, 8, 9, 9, 11, 9, 14, 8, 16, 6, -128, -128, 9, -5, 7, -4, 5, -2, 4, 1, 4, 3, 5, 6, 7, 8, 9, 9, 15, -12, 15, 9, -128, -128, 16, -12, 16, 9, -128, -128, 15, -2, 13, -4, 11, -5, 9, -5, 6, -4, 4, -2, 3, 1, 3, 3, 4, 6, 6, 8, 9, 9, 11, 9, 13, 8, 15, 6, -128, -128, 9, -5, 7, -4, 5, -2, 4, 1, 4, 3, 5, 6, 7, 8, 9, 9, -128, -128, 12, -12, 16, -12, -128, -128, 15, 9, 19, 9, 4, 1, 16, 1, 16, -1, 15, -3, 14, -4, 12, -5, 9, -5, 6, -4, 4, -2, 3, 1, 3, 3, 4, 6, 6, 8, 9, 9, 11, 9, 14, 8, 16, 6, -128, -128, 15, 1, 15, -2, 14, -4, -128, -128, 9, -5, 7, -4, 5, -2, 4, 1, 4, 3, 5, 6, 7, 8, 9, 9, 10, -11, 9, -10, 10, -9, 11, -10, 11, -11, 10, -12, 8, -12, 6, -11, 5, -9, 5, 9, -128, -128, 8, -12, 7, -11, 6, -9, 6, 9, -128, -128, 2, -5, 10, -5, -128, -128, 2, 9, 9, 9, 8, -5, 6, -4, 5, -3, 4, -1, 4, 1, 5, 3, 6, 4, 8, 5, 10, 5, 12, 4, 13, 3, 14, 1, 14, -1, 13, -3, 12, -4, 10, -5, 8, -5, -128, -128, 6, -4, 5, -2, 5, 2, 6, 4, -128, -128, 12, 4, 13, 2, 13, -2, 12, -4, -128, -128, 13, -3, 14, -4, 16, -5, 16, -4, 14, -4, -128, -128, 5, 3, 4, 4, 3, 6, 3, 7, 4, 9, 7, 10, 12, 10, 15, 11, 16, 12, -128, -128, 3, 7, 4, 8, 7, 9, 12, 9, 15, 10, 16, 12, 16, 13, 15, 15, 12, 16, 6, 16, 3, 15, 2, 13, 2, 12, 3, 10, 6, 9, 5, -12, 5, 9, -128, -128, 6, -12, 6, 9, -128, -128, 6, -2, 8, -4, 11, -5, 13, -5, 16, -4, 17, -2, 17, 9, -128, -128, 13, -5, 15, -4, 16, -2, 16, 9, -128, -128, 2, -12, 6, -12, -128, -128, 2, 9, 9, 9, -128, -128, 13, 9, 20, 9, 5, -12, 4, -11, 5, -10, 6, -11, 5, -12, -128, -128, 5, -5, 5, 9, -128, -128, 6, -5, 6, 9, -128, -128, 2, -5, 6, -5, -128, -128, 2, 9, 9, 9, 6, -12, 5, -11, 6, -10, 7, -11, 6, -12, -128, -128, 7, -5, 7, 13, 6, 15, 4, 16, 2, 16, 1, 15, 1, 14, 2, 13, 3, 14, 2, 15, -128, -128, 6, -5, 6, 13, 5, 15, 4, 16, -128, -128, 3, -5, 7, -5, 5, -12, 5, 9, -128, -128, 6, -12, 6, 9, -128, -128, 16, -5, 6, 5, -128, -128, 11, 1, 17, 9, -128, -128, 10, 1, 16, 9, -128, -128, 2, -12, 6, -12, -128, -128, 13, -5, 19, -5, -128, -128, 2, 9, 9, 9, -128, -128, 13, 9, 19, 9, 5, -12, 5, 9, -128, -128, 6, -12, 6, 9, -128, -128, 2, -12, 6, -12, -128, -128, 2, 9, 9, 9, 5, -5, 5, 9, -128, -128, 6, -5, 6, 9, -128, -128, 6, -2, 8, -4, 11, -5, 13, -5, 16, -4, 17, -2, 17, 9, -128, -128, 13, -5, 15, -4, 16, -2, 16, 9, -128, -128, 17, -2, 19, -4, 22, -5, 24, -5, 27, -4, 28, -2, 28, 9, -128, -128, 24, -5, 26, -4, 27, -2, 27, 9, -128, -128, 2, -5, 6, -5, -128, -128, 2, 9, 9, 9, -128, -128, 13, 9, 20, 9, -128, -128, 24, 9, 31, 9, 5, -5, 5, 9, -128, -128, 6, -5, 6, 9, -128, -128, 6, -2, 8, -4, 11, -5, 13, -5, 16, -4, 17, -2, 17, 9, -128, -128, 13, -5, 15, -4, 16, -2, 16, 9, -128, -128, 2, -5, 6, -5, -128, -128, 2, 9, 9, 9, -128, -128, 13, 9, 20, 9, 9, -5, 6, -4, 4, -2, 3, 1, 3, 3, 4, 6, 6, 8, 9, 9, 11, 9, 14, 8, 16, 6, 17, 3, 17, 1, 16, -2, 14, -4, 11, -5, 9, -5, -128, -128, 9, -5, 7, -4, 5, -2, 4, 1, 4, 3, 5, 6, 7, 8, 9, 9, -128, -128, 11, 9, 13, 8, 15, 6, 16, 3, 16, 1, 15, -2, 13, -4, 11, -5, 5, -5, 5, 16, -128, -128, 6, -5, 6, 16, -128, -128, 6, -2, 8, -4, 10, -5, 12, -5, 15, -4, 17, -2, 18, 1, 18, 3, 17, 6, 15, 8, 12, 9, 10, 9, 8, 8, 6, 6, -128, -128, 12, -5, 14, -4, 16, -2, 17, 1, 17, 3, 16, 6, 14, 8, 12, 9, -128, -128, 2, -5, 6, -5, -128, -128, 2, 16, 9, 16, 15, -5, 15, 16, -128, -128, 16, -5, 16, 16, -128, -128, 15, -2, 13, -4, 11, -5, 9, -5, 6, -4, 4, -2, 3, 1, 3, 3, 4, 6, 6, 8, 9, 9, 11, 9, 13, 8, 15, 6, -128, -128, 9, -5, 7, -4, 5, -2, 4, 1, 4, 3, 5, 6, 7, 8, 9, 9, -128, -128, 12, 16, 19, 16, 5, -5, 5, 9, -128, -128, 6, -5, 6, 9, -128, -128, 6, 1, 7, -2, 9, -4, 11, -5, 14, -5, 15, -4, 15, -3, 14, -2, 13, -3, 14, -4, -128, -128, 2, -5, 6, -5, -128, -128, 2, 9, 9, 9, 13, -3, 14, -5, 14, -1, 13, -3, 12, -4, 10, -5, 6, -5, 4, -4, 3, -3, 3, -1, 4, 0, 6, 1, 11, 3, 13, 4, 14, 5, -128, -128, 3, -2, 4, -1, 6, 0, 11, 2, 13, 3, 14, 4, 14, 7, 13, 8, 11, 9, 7, 9, 5, 8, 4, 7, 3, 5, 3, 9, 4, 7, 5, -12, 5, 5, 6, 8, 8, 9, 10, 9, 12, 8, 13, 6, -128, -128, 6, -12, 6, 5, 7, 8, 8, 9, -128, -128, 2, -5, 10, -5, 5, -5, 5, 6, 6, 8, 9, 9, 11, 9, 14, 8, 16, 6, -128, -128, 6, -5, 6, 6, 7, 8, 9, 9, -128, -128, 16, -5, 16, 9, -128, -128, 17, -5, 17, 9, -128, -128, 2, -5, 6, -5, -128, -128, 13, -5, 17, -5, -128, -128, 16, 9, 20, 9, 3, -5, 9, 9, -128, -128, 4, -5, 9, 7, -128, -128, 15, -5, 9, 9, -128, -128, 1, -5, 7, -5, -128, -128, 11, -5, 17, -5, 4, -5, 8, 9, -128, -128, 5, -5, 8, 6, -128, -128, 12, -5, 8, 9, -128, -128, 12, -5, 16, 9, -128, -128, 13, -5, 16, 6, -128, -128, 20, -5, 16, 9, -128, -128, 1, -5, 8, -5, -128, -128, 17, -5, 23, -5, 4, -5, 15, 9, -128, -128, 5, -5, 16, 9, -128, -128, 16, -5, 4, 9, -128, -128, 2, -5, 8, -5, -128, -128, 12, -5, 18, -5, -128, -128, 2, 9, 8, 9, -128, -128, 12, 9, 18, 9, 4, -5, 10, 9, -128, -128, 5, -5, 10, 7, -128, -128, 16, -5, 10, 9, 8, 13, 6, 15, 4, 16, 3, 16, 2, 15, 3, 14, 4, 15, -128, -128, 2, -5, 8, -5, -128, -128, 12, -5, 18, -5, 14, -5, 3, 9, -128, -128, 15, -5, 4, 9, -128, -128, 4, -5, 3, -1, 3, -5, 15, -5, -128, -128, 3, 9, 15, 9, 15, 5, 14, 9, 9, -16, 7, -15, 6, -14, 5, -12, 5, -10, 6, -8, 7, -7, 8, -5, 8, -3, 6, -1, -128, -128, 7, -15, 6, -13, 6, -11, 7, -9, 8, -8, 9, -6, 9, -4, 8, -2, 4, 0, 8, 2, 9, 4, 9, 6, 8, 8, 7, 9, 6, 11, 6, 13, 7, 15, -128, -128, 6, 1, 8, 3, 8, 5, 7, 7, 6, 8, 5, 10, 5, 12, 6, 14, 7, 15, 9, 16, 4, -16, 4, 16, 5, -16, 7, -15, 8, -14, 9, -12, 9, -10, 8, -8, 7, -7, 6, -5, 6, -3, 8, -1, -128, -128, 7, -15, 8, -13, 8, -11, 7, -9, 6, -8, 5, -6, 5, -4, 6, -2, 10, 0, 6, 2, 5, 4, 5, 6, 6, 8, 7, 9, 8, 11, 8, 13, 7, 15, -128, -128, 8, 1, 6, 3, 6, 5, 7, 7, 8, 8, 9, 10, 9, 12, 8, 14, 7, 15, 5, 16, 3, 3, 3, 1, 4, -2, 6, -3, 8, -3, 10, -2, 14, 1, 16, 2, 18, 2, 20, 1, 21, -1, -128, -128, 3, 1, 4, -1, 6, -2, 8, -2, 10, -1, 14, 2, 16, 3, 18, 3, 20, 2, 21, -1, 21, -3, 0, -12, 0, 9, 1, 9, 1, -12, 2, -12, 2, 9, 3, 9, 3, -12, 4, -12, 4, 9, 5, 9, 5, -12, 6, -12, 6, 9, 7, 9, 7, -12, 8, -12, 8, 9, 9, 9, 9, -12, 10, -12, 10, 9, 11, 9, 11, -12, 12, -12, 12, 9, 13, 9, 13, -12, 14, -12, 14, 9, 15, 9, 15, -12, 16, -12, 16, 9 +}; + +const hershey_font_t timesr { + .chars = { + {.width=16, .vertex_count=0, .vertices=×r_vertices[0]}, + {.width=10, .vertex_count=14, .vertices=×r_vertices[0]}, + {.width=18, .vertex_count=21, .vertices=×r_vertices[28]}, + {.width=21, .vertex_count=11, .vertices=×r_vertices[70]}, + {.width=20, .vertex_count=41, .vertices=×r_vertices[92]}, + {.width=24, .vertex_count=31, .vertices=×r_vertices[174]}, + {.width=25, .vertex_count=48, .vertices=×r_vertices[236]}, + {.width=8, .vertex_count=5, .vertices=×r_vertices[332]}, + {.width=14, .vertex_count=19, .vertices=×r_vertices[342]}, + {.width=14, .vertex_count=19, .vertices=×r_vertices[380]}, + {.width=16, .vertex_count=8, .vertices=×r_vertices[418]}, + {.width=26, .vertex_count=5, .vertices=×r_vertices[434]}, + {.width=8, .vertex_count=7, .vertices=×r_vertices[444]}, + {.width=26, .vertex_count=2, .vertices=×r_vertices[458]}, + {.width=8, .vertex_count=5, .vertices=×r_vertices[462]}, + {.width=22, .vertex_count=2, .vertices=×r_vertices[472]}, + {.width=20, .vertex_count=39, .vertices=×r_vertices[476]}, + {.width=20, .vertex_count=10, .vertices=×r_vertices[554]}, + {.width=20, .vertex_count=44, .vertices=×r_vertices[574]}, + {.width=20, .vertex_count=46, .vertices=×r_vertices[662]}, + {.width=20, .vertex_count=12, .vertices=×r_vertices[754]}, + {.width=20, .vertex_count=38, .vertices=×r_vertices[778]}, + {.width=20, .vertex_count=47, .vertices=×r_vertices[854]}, + {.width=20, .vertex_count=30, .vertices=×r_vertices[948]}, + {.width=20, .vertex_count=62, .vertices=×r_vertices[1008]}, + {.width=20, .vertex_count=47, .vertices=×r_vertices[1132]}, + {.width=8, .vertex_count=11, .vertices=×r_vertices[1226]}, + {.width=8, .vertex_count=13, .vertices=×r_vertices[1248]}, + {.width=24, .vertex_count=3, .vertices=×r_vertices[1274]}, + {.width=26, .vertex_count=5, .vertices=×r_vertices[1280]}, + {.width=24, .vertex_count=3, .vertices=×r_vertices[1290]}, + {.width=18, .vertex_count=31, .vertices=×r_vertices[1296]}, + {.width=27, .vertex_count=55, .vertices=×r_vertices[1358]}, + {.width=20, .vertex_count=17, .vertices=×r_vertices[1468]}, + {.width=22, .vertex_count=44, .vertices=×r_vertices[1502]}, + {.width=21, .vertex_count=31, .vertices=×r_vertices[1590]}, + {.width=22, .vertex_count=29, .vertices=×r_vertices[1652]}, + {.width=21, .vertex_count=21, .vertices=×r_vertices[1710]}, + {.width=20, .vertex_count=19, .vertices=×r_vertices[1752]}, + {.width=23, .vertex_count=39, .vertices=×r_vertices[1790]}, + {.width=24, .vertex_count=26, .vertices=×r_vertices[1868]}, + {.width=11, .vertex_count=11, .vertices=×r_vertices[1920]}, + {.width=15, .vertex_count=19, .vertices=×r_vertices[1942]}, + {.width=22, .vertex_count=26, .vertices=×r_vertices[1980]}, + {.width=18, .vertex_count=13, .vertices=×r_vertices[2032]}, + {.width=25, .vertex_count=29, .vertices=×r_vertices[2058]}, + {.width=23, .vertex_count=20, .vertices=×r_vertices[2116]}, + {.width=22, .vertex_count=43, .vertices=×r_vertices[2156]}, + {.width=22, .vertex_count=28, .vertices=×r_vertices[2242]}, + {.width=22, .vertex_count=63, .vertices=×r_vertices[2298]}, + {.width=22, .vertex_count=44, .vertices=×r_vertices[2424]}, + {.width=20, .vertex_count=33, .vertices=×r_vertices[2512]}, + {.width=19, .vertex_count=15, .vertices=×r_vertices[2578]}, + {.width=24, .vertex_count=22, .vertices=×r_vertices[2608]}, + {.width=20, .vertex_count=14, .vertices=×r_vertices[2652]}, + {.width=24, .vertex_count=23, .vertices=×r_vertices[2680]}, + {.width=20, .vertex_count=20, .vertices=×r_vertices[2726]}, + {.width=21, .vertex_count=19, .vertices=×r_vertices[2766]}, + {.width=20, .vertex_count=15, .vertices=×r_vertices[2804]}, + {.width=14, .vertex_count=11, .vertices=×r_vertices[2834]}, + {.width=14, .vertex_count=2, .vertices=×r_vertices[2856]}, + {.width=14, .vertex_count=11, .vertices=×r_vertices[2860]}, + {.width=22, .vertex_count=7, .vertices=×r_vertices[2882]}, + {.width=20, .vertex_count=2, .vertices=×r_vertices[2896]}, + {.width=12, .vertex_count=6, .vertices=×r_vertices[2900]}, + {.width=20, .vertex_count=38, .vertices=×r_vertices[2912]}, + {.width=21, .vertex_count=32, .vertices=×r_vertices[2988]}, + {.width=19, .vertex_count=27, .vertices=×r_vertices[3052]}, + {.width=21, .vertex_count=35, .vertices=×r_vertices[3106]}, + {.width=19, .vertex_count=30, .vertices=×r_vertices[3176]}, + {.width=13, .vertex_count=21, .vertices=×r_vertices[3236]}, + {.width=19, .vertex_count=59, .vertices=×r_vertices[3278]}, + {.width=22, .vertex_count=27, .vertices=×r_vertices[3396]}, + {.width=11, .vertex_count=17, .vertices=×r_vertices[3450]}, + {.width=11, .vertex_count=24, .vertices=×r_vertices[3484]}, + {.width=21, .vertex_count=26, .vertices=×r_vertices[3532]}, + {.width=11, .vertex_count=11, .vertices=×r_vertices[3584]}, + {.width=33, .vertex_count=43, .vertices=×r_vertices[3606]}, + {.width=22, .vertex_count=27, .vertices=×r_vertices[3692]}, + {.width=20, .vertex_count=35, .vertices=×r_vertices[3746]}, + {.width=21, .vertex_count=35, .vertices=×r_vertices[3816]}, + {.width=20, .vertex_count=32, .vertices=×r_vertices[3886]}, + {.width=17, .vertex_count=22, .vertices=×r_vertices[3950]}, + {.width=17, .vertex_count=31, .vertices=×r_vertices[3994]}, + {.width=15, .vertex_count=15, .vertices=×r_vertices[4056]}, + {.width=22, .vertex_count=27, .vertices=×r_vertices[4086]}, + {.width=18, .vertex_count=14, .vertices=×r_vertices[4140]}, + {.width=24, .vertex_count=23, .vertices=×r_vertices[4168]}, + {.width=20, .vertex_count=20, .vertices=×r_vertices[4214]}, + {.width=19, .vertex_count=21, .vertices=×r_vertices[4254]}, + {.width=18, .vertex_count=15, .vertices=×r_vertices[4296]}, + {.width=14, .vertex_count=39, .vertices=×r_vertices[4326]}, + {.width=8, .vertex_count=2, .vertices=×r_vertices[4404]}, + {.width=14, .vertex_count=39, .vertices=×r_vertices[4408]}, + {.width=24, .vertex_count=23, .vertices=×r_vertices[4486]} + } +}; + +static const int8_t timesrb_vertices[7994] = { + 5, -12, 4, -11, 4, -9, 5, -1, -128, -128, 5, -12, 5, 2, 6, 2, -128, -128, 5, -12, 6, -12, 6, 2, -128, -128, 6, -12, 7, -11, 7, -9, 6, -1, -128, -128, 5, 6, 4, 7, 4, 8, 5, 9, 6, 9, 7, 8, 7, 7, 6, 6, 5, 6, -128, -128, 5, 7, 5, 8, 6, 8, 6, 7, 5, 7, 5, -12, 4, -11, 4, -5, -128, -128, 5, -11, 4, -5, -128, -128, 5, -12, 6, -11, 4, -5, -128, -128, 14, -12, 13, -11, 13, -5, -128, -128, 14, -11, 13, -5, -128, -128, 14, -12, 15, -11, 13, -5, 11, -16, 4, 16, -128, -128, 17, -16, 10, 16, -128, -128, 4, -3, 18, -3, -128, -128, 3, 3, 17, 3, 8, -16, 8, 13, -128, -128, 12, -16, 12, 13, -128, -128, 16, -7, 16, -8, 15, -8, 15, -6, 17, -6, 17, -8, 16, -10, 15, -11, 12, -12, 8, -12, 5, -11, 3, -9, 3, -6, 4, -4, 7, -2, 13, 0, 15, 1, 16, 3, 16, 6, 15, 8, -128, -128, 4, -6, 5, -4, 7, -3, 13, -1, 15, 0, 16, 2, -128, -128, 5, -11, 4, -9, 4, -7, 5, -5, 7, -4, 13, -2, 16, 0, 17, 2, 17, 5, 16, 7, 15, 8, 12, 9, 8, 9, 5, 8, 4, 7, 3, 5, 3, 3, 5, 3, 5, 5, 4, 5, 4, 4, 21, -12, 3, 9, -128, -128, 8, -12, 10, -10, 10, -8, 9, -6, 7, -5, 5, -5, 3, -7, 3, -9, 4, -11, 6, -12, 8, -12, 10, -11, 13, -10, 16, -10, 19, -11, 21, -12, -128, -128, 17, 2, 15, 3, 14, 5, 14, 7, 16, 9, 18, 9, 20, 8, 21, 6, 21, 4, 19, 2, 17, 2, 22, -3, 22, -4, 21, -4, 21, -2, 23, -2, 23, -4, 22, -5, 21, -5, 20, -4, 19, -2, 17, 3, 15, 6, 13, 8, 11, 9, 7, 9, 5, 8, 4, 6, 4, 3, 5, 1, 11, -3, 13, -5, 14, -7, 14, -9, 13, -11, 11, -12, 9, -11, 8, -9, 8, -6, 9, -3, 11, 0, 15, 5, 18, 8, 20, 9, 22, 9, 23, 7, 23, 6, -128, -128, 6, 8, 5, 6, 5, 3, 6, 1, 7, 0, -128, -128, 13, -5, 14, -9, -128, -128, 14, -7, 13, -11, -128, -128, 9, -11, 8, -7, -128, -128, 9, -4, 11, -1, 15, 4, 18, 7, 20, 8, -128, -128, 9, 9, 7, 8, 6, 6, 6, 3, 7, 1, 11, -3, -128, -128, 8, -9, 9, -5, 12, -1, 16, 4, 19, 7, 21, 8, 22, 8, 23, 7, 5, -12, 4, -11, 4, -5, -128, -128, 5, -11, 4, -5, -128, -128, 5, -12, 6, -11, 4, -5, 10, -16, 8, -14, 6, -11, 4, -7, 3, -2, 3, 2, 4, 7, 6, 11, 8, 14, 10, 16, -128, -128, 6, -10, 5, -7, 4, -3, 4, 3, 5, 7, 6, 10, -128, -128, 8, -14, 7, -12, 6, -9, 5, -3, 5, 3, 6, 9, 7, 12, 8, 14, 4, -16, 6, -14, 8, -11, 10, -7, 11, -2, 11, 2, 10, 7, 8, 11, 6, 14, 4, 16, -128, -128, 8, -10, 9, -7, 10, -3, 10, 3, 9, 7, 8, 10, -128, -128, 6, -14, 7, -12, 8, -9, 9, -3, 9, 3, 8, 9, 7, 12, 6, 14, 8, -12, 7, -11, 9, -1, 8, 0, -128, -128, 8, -12, 8, 0, -128, -128, 8, -12, 9, -11, 7, -1, 8, 0, -128, -128, 3, -9, 4, -9, 12, -3, 13, -3, -128, -128, 3, -9, 13, -3, -128, -128, 3, -9, 3, -8, 13, -4, 13, -3, -128, -128, 13, -9, 12, -9, 4, -3, 3, -3, -128, -128, 13, -9, 3, -3, -128, -128, 13, -9, 13, -8, 3, -4, 3, -3, 12, -9, 12, 8, 13, 8, -128, -128, 12, -9, 13, -9, 13, 8, -128, -128, 4, -1, 21, -1, 21, 0, -128, -128, 4, -1, 4, 0, 21, 0, 7, 8, 6, 9, 5, 9, 4, 8, 4, 7, 5, 6, 6, 6, 7, 7, 7, 10, 6, 12, 4, 13, -128, -128, 5, 7, 5, 8, 6, 8, 6, 7, 5, 7, -128, -128, 6, 9, 7, 10, -128, -128, 7, 8, 6, 12, 4, 0, 22, 0, 5, 6, 4, 7, 4, 8, 5, 9, 6, 9, 7, 8, 7, 7, 6, 6, 5, 6, -128, -128, 5, 7, 5, 8, 6, 8, 6, 7, 5, 7, 20, -16, 2, 16, 3, 16, -128, -128, 20, -16, 21, -16, 3, 16, 9, -12, 6, -11, 4, -8, 3, -3, 3, 0, 4, 5, 6, 8, 9, 9, 11, 9, 14, 8, 16, 5, 17, 0, 17, -3, 16, -8, 14, -11, 11, -12, 9, -12, -128, -128, 6, -10, 5, -8, 4, -4, 4, 1, 5, 5, 6, 7, -128, -128, 14, 7, 15, 5, 16, 1, 16, -4, 15, -8, 14, -10, -128, -128, 9, -12, 7, -11, 6, -9, 5, -4, 5, 1, 6, 6, 7, 8, 9, 9, -128, -128, 11, 9, 13, 8, 14, 6, 15, 1, 15, -4, 14, -9, 13, -11, 11, -12, 9, -10, 9, 9, -128, -128, 10, -10, 10, 8, -128, -128, 11, -12, 11, 9, -128, -128, 11, -12, 8, -9, 6, -8, -128, -128, 5, 9, 15, 9, -128, -128, 9, 8, 7, 9, -128, -128, 9, 7, 8, 9, -128, -128, 11, 7, 12, 9, -128, -128, 11, 8, 13, 9, 4, -8, 4, -7, 5, -7, 5, -8, 4, -8, -128, -128, 4, -9, 5, -9, 6, -8, 6, -7, 5, -6, 4, -6, 3, -7, 3, -8, 4, -10, 5, -11, 8, -12, 12, -12, 15, -11, 16, -10, 17, -8, 17, -6, 16, -4, 13, -2, 8, 0, 6, 1, 4, 3, 3, 6, 3, 9, -128, -128, 15, -10, 16, -8, 16, -6, 15, -4, -128, -128, 12, -12, 14, -11, 15, -8, 15, -6, 14, -4, 12, -2, 8, 0, -128, -128, 3, 7, 4, 6, 6, 6, 11, 7, 15, 7, 17, 6, -128, -128, 6, 6, 11, 8, 15, 8, 16, 7, -128, -128, 6, 6, 11, 9, 15, 9, 16, 8, 17, 6, 17, 4, 4, -8, 4, -7, 5, -7, 5, -8, 4, -8, -128, -128, 4, -9, 5, -9, 6, -8, 6, -7, 5, -6, 4, -6, 3, -7, 3, -8, 4, -10, 5, -11, 8, -12, 12, -12, 15, -11, 16, -9, 16, -6, 15, -4, 12, -3, -128, -128, 14, -11, 15, -9, 15, -6, 14, -4, -128, -128, 11, -12, 13, -11, 14, -9, 14, -6, 13, -4, 11, -3, -128, -128, 9, -3, 12, -3, 14, -2, 16, 0, 17, 2, 17, 5, 16, 7, 15, 8, 12, 9, 8, 9, 5, 8, 4, 7, 3, 5, 3, 4, 4, 3, 5, 3, 6, 4, 6, 5, 5, 6, 4, 6, -128, -128, 15, 0, 16, 2, 16, 5, 15, 7, -128, -128, 11, -3, 13, -2, 14, -1, 15, 2, 15, 5, 14, 8, 12, 9, -128, -128, 4, 4, 4, 5, 5, 5, 5, 4, 4, 4, 11, -9, 11, 9, -128, -128, 12, -10, 12, 8, -128, -128, 13, -12, 13, 9, -128, -128, 13, -12, 2, 3, 18, 3, -128, -128, 8, 9, 16, 9, -128, -128, 11, 8, 9, 9, -128, -128, 11, 7, 10, 9, -128, -128, 13, 7, 14, 9, -128, -128, 13, 8, 15, 9, 5, -12, 3, -2, 5, -4, 8, -5, 11, -5, 14, -4, 16, -2, 17, 1, 17, 3, 16, 6, 14, 8, 11, 9, 8, 9, 5, 8, 4, 7, 3, 5, 3, 4, 4, 3, 5, 3, 6, 4, 6, 5, 5, 6, 4, 6, -128, -128, 15, -2, 16, 0, 16, 4, 15, 6, -128, -128, 11, -5, 13, -4, 14, -3, 15, 0, 15, 4, 14, 7, 13, 8, 11, 9, -128, -128, 4, 4, 4, 5, 5, 5, 5, 4, 4, 4, -128, -128, 5, -12, 15, -12, -128, -128, 5, -11, 13, -11, -128, -128, 5, -10, 9, -10, 13, -11, 15, -12, 14, -9, 14, -8, 15, -8, 15, -9, 14, -9, -128, -128, 15, -10, 14, -10, 13, -9, 13, -8, 14, -7, 15, -7, 16, -8, 16, -9, 15, -11, 13, -12, 10, -12, 7, -11, 5, -9, 4, -7, 3, -3, 3, 3, 4, 6, 6, 8, 9, 9, 11, 9, 14, 8, 16, 6, 17, 3, 17, 2, 16, -1, 14, -3, 11, -4, 9, -4, 7, -3, 6, -2, 5, 0, -128, -128, 6, -9, 5, -7, 4, -3, 4, 3, 5, 6, 6, 7, -128, -128, 15, 6, 16, 4, 16, 1, 15, -1, -128, -128, 10, -12, 8, -11, 7, -10, 6, -8, 5, -4, 5, 3, 6, 6, 7, 8, 9, 9, -128, -128, 11, 9, 13, 8, 14, 7, 15, 4, 15, 1, 14, -2, 13, -3, 11, -4, 3, -12, 3, -6, -128, -128, 17, -12, 17, -9, 16, -6, 12, -1, 11, 1, 10, 5, 10, 9, -128, -128, 11, 0, 10, 2, 9, 5, 9, 9, -128, -128, 16, -6, 11, -1, 9, 2, 8, 5, 8, 9, 10, 9, -128, -128, 3, -8, 4, -10, 6, -12, 8, -12, 13, -9, 15, -9, 16, -10, 17, -12, -128, -128, 5, -10, 6, -11, 8, -11, 10, -10, -128, -128, 3, -8, 4, -9, 6, -10, 8, -10, 13, -9, 8, -12, 5, -11, 4, -9, 4, -6, 5, -4, 8, -3, 12, -3, 15, -4, 16, -6, 16, -9, 15, -11, 12, -12, 8, -12, -128, -128, 6, -11, 5, -9, 5, -6, 6, -4, -128, -128, 14, -4, 15, -6, 15, -9, 14, -11, -128, -128, 8, -12, 7, -11, 6, -9, 6, -6, 7, -4, 8, -3, -128, -128, 12, -3, 13, -4, 14, -6, 14, -9, 13, -11, 12, -12, -128, -128, 8, -3, 5, -2, 4, -1, 3, 1, 3, 5, 4, 7, 5, 8, 8, 9, 12, 9, 15, 8, 16, 7, 17, 5, 17, 1, 16, -1, 15, -2, 12, -3, -128, -128, 5, -1, 4, 1, 4, 5, 5, 7, -128, -128, 15, 7, 16, 5, 16, 1, 15, -1, -128, -128, 8, -3, 6, -2, 5, 1, 5, 5, 6, 8, 8, 9, -128, -128, 12, 9, 14, 8, 15, 5, 15, 1, 14, -2, 12, -3, 5, 5, 5, 6, 6, 6, 6, 5, 5, 5, -128, -128, 15, -3, 14, -1, 13, 0, 11, 1, 9, 1, 6, 0, 4, -2, 3, -5, 3, -6, 4, -9, 6, -11, 9, -12, 11, -12, 14, -11, 16, -9, 17, -6, 17, 0, 16, 4, 15, 6, 13, 8, 10, 9, 7, 9, 5, 8, 4, 6, 4, 5, 5, 4, 6, 4, 7, 5, 7, 6, 6, 7, 5, 7, -128, -128, 5, -2, 4, -4, 4, -7, 5, -9, -128, -128, 14, -10, 15, -9, 16, -6, 16, 0, 15, 4, 14, 6, -128, -128, 9, 1, 7, 0, 6, -1, 5, -4, 5, -7, 6, -10, 7, -11, 9, -12, -128, -128, 11, -12, 13, -11, 14, -9, 15, -6, 15, 1, 14, 5, 13, 7, 12, 8, 10, 9, 5, -5, 4, -4, 4, -3, 5, -2, 6, -2, 7, -3, 7, -4, 6, -5, 5, -5, -128, -128, 5, -4, 5, -3, 6, -3, 6, -4, 5, -4, -128, -128, 5, 6, 4, 7, 4, 8, 5, 9, 6, 9, 7, 8, 7, 7, 6, 6, 5, 6, -128, -128, 5, 7, 5, 8, 6, 8, 6, 7, 5, 7, 5, -5, 4, -4, 4, -3, 5, -2, 6, -2, 7, -3, 7, -4, 6, -5, 5, -5, -128, -128, 5, -4, 5, -3, 6, -3, 6, -4, 5, -4, -128, -128, 7, 8, 6, 9, 5, 9, 4, 8, 4, 7, 5, 6, 6, 6, 7, 7, 7, 10, 6, 12, 4, 13, -128, -128, 5, 7, 5, 8, 6, 8, 6, 7, 5, 7, -128, -128, 6, 9, 7, 10, -128, -128, 7, 8, 6, 12, 20, -9, 4, 0, 20, 9, 4, -5, 21, -5, 21, -4, -128, -128, 4, -5, 4, -4, 21, -4, -128, -128, 4, 3, 21, 3, 21, 4, -128, -128, 4, 3, 4, 4, 21, 4, 4, -9, 20, 0, 4, 9, 4, -7, 4, -8, 5, -8, 5, -6, 3, -6, 3, -8, 4, -10, 5, -11, 7, -12, 11, -12, 14, -11, 15, -10, 16, -8, 16, -6, 15, -4, 14, -3, 10, -1, -128, -128, 14, -10, 15, -9, 15, -5, 14, -4, -128, -128, 11, -12, 13, -11, 14, -9, 14, -5, 13, -3, 12, -2, -128, -128, 9, -1, 9, 2, 10, 2, 10, -1, 9, -1, -128, -128, 9, 6, 8, 7, 8, 8, 9, 9, 10, 9, 11, 8, 11, 7, 10, 6, 9, 6, -128, -128, 9, 7, 9, 8, 10, 8, 10, 7, 9, 7, 18, -4, 17, -6, 15, -7, 12, -7, 10, -6, 9, -5, 8, -2, 8, 1, 9, 3, 11, 4, 14, 4, 16, 3, 17, 1, -128, -128, 12, -7, 10, -5, 9, -2, 9, 1, 10, 3, 11, 4, -128, -128, 18, -7, 17, 1, 17, 3, 19, 4, 21, 4, 23, 2, 24, -1, 24, -3, 23, -6, 22, -8, 20, -10, 18, -11, 15, -12, 12, -12, 9, -11, 7, -10, 5, -8, 4, -6, 3, -3, 3, 0, 4, 3, 5, 5, 7, 7, 9, 8, 12, 9, 15, 9, 18, 8, 20, 7, 21, 6, -128, -128, 19, -7, 18, 1, 18, 3, 19, 4, 10, -12, 3, 8, -128, -128, 9, -9, 15, 9, -128, -128, 10, -9, 16, 9, -128, -128, 10, -12, 17, 9, -128, -128, 5, 3, 14, 3, -128, -128, 1, 9, 7, 9, -128, -128, 12, 9, 19, 9, -128, -128, 3, 8, 2, 9, -128, -128, 3, 8, 5, 9, -128, -128, 15, 8, 13, 9, -128, -128, 15, 7, 14, 9, -128, -128, 16, 7, 18, 9, 5, -12, 5, 9, -128, -128, 6, -11, 6, 8, -128, -128, 7, -12, 7, 9, -128, -128, 2, -12, 14, -12, 17, -11, 18, -10, 19, -8, 19, -6, 18, -4, 17, -3, 14, -2, -128, -128, 17, -10, 18, -8, 18, -6, 17, -4, -128, -128, 14, -12, 16, -11, 17, -9, 17, -5, 16, -3, 14, -2, -128, -128, 7, -2, 14, -2, 17, -1, 18, 0, 19, 2, 19, 5, 18, 7, 17, 8, 14, 9, 2, 9, -128, -128, 17, 0, 18, 2, 18, 5, 17, 7, -128, -128, 14, -2, 16, -1, 17, 1, 17, 6, 16, 8, 14, 9, -128, -128, 3, -12, 5, -11, -128, -128, 4, -12, 5, -10, -128, -128, 8, -12, 7, -10, -128, -128, 9, -12, 7, -11, -128, -128, 5, 8, 3, 9, -128, -128, 5, 7, 4, 9, -128, -128, 7, 7, 8, 9, -128, -128, 7, 8, 9, 9, 17, -9, 18, -12, 18, -6, 17, -9, 15, -11, 13, -12, 10, -12, 7, -11, 5, -9, 4, -7, 3, -4, 3, 1, 4, 4, 5, 6, 7, 8, 10, 9, 13, 9, 15, 8, 17, 6, 18, 4, -128, -128, 6, -9, 5, -7, 4, -4, 4, 1, 5, 4, 6, 6, -128, -128, 10, -12, 8, -11, 6, -8, 5, -4, 5, 1, 6, 5, 8, 8, 10, 9, 5, -12, 5, 9, -128, -128, 6, -11, 6, 8, -128, -128, 7, -12, 7, 9, -128, -128, 2, -12, 12, -12, 15, -11, 17, -9, 18, -7, 19, -4, 19, 1, 18, 4, 17, 6, 15, 8, 12, 9, 2, 9, -128, -128, 16, -9, 17, -7, 18, -4, 18, 1, 17, 4, 16, 6, -128, -128, 12, -12, 14, -11, 16, -8, 17, -4, 17, 1, 16, 5, 14, 8, 12, 9, -128, -128, 3, -12, 5, -11, -128, -128, 4, -12, 5, -10, -128, -128, 8, -12, 7, -10, -128, -128, 9, -12, 7, -11, -128, -128, 5, 8, 3, 9, -128, -128, 5, 7, 4, 9, -128, -128, 7, 7, 8, 9, -128, -128, 7, 8, 9, 9, 5, -12, 5, 9, -128, -128, 6, -11, 6, 8, -128, -128, 7, -12, 7, 9, -128, -128, 2, -12, 18, -12, 18, -6, -128, -128, 7, -2, 13, -2, -128, -128, 13, -6, 13, 2, -128, -128, 2, 9, 18, 9, 18, 3, -128, -128, 3, -12, 5, -11, -128, -128, 4, -12, 5, -10, -128, -128, 8, -12, 7, -10, -128, -128, 9, -12, 7, -11, -128, -128, 13, -12, 18, -11, -128, -128, 15, -12, 18, -10, -128, -128, 16, -12, 18, -9, -128, -128, 17, -12, 18, -6, -128, -128, 13, -6, 12, -2, 13, 2, -128, -128, 13, -4, 11, -2, 13, 0, -128, -128, 13, -3, 9, -2, 13, -1, -128, -128, 5, 8, 3, 9, -128, -128, 5, 7, 4, 9, -128, -128, 7, 7, 8, 9, -128, -128, 7, 8, 9, 9, -128, -128, 13, 9, 18, 8, -128, -128, 15, 9, 18, 7, -128, -128, 16, 9, 18, 6, -128, -128, 17, 9, 18, 3, 5, -12, 5, 9, -128, -128, 6, -11, 6, 8, -128, -128, 7, -12, 7, 9, -128, -128, 2, -12, 18, -12, 18, -6, -128, -128, 7, -2, 13, -2, -128, -128, 13, -6, 13, 2, -128, -128, 2, 9, 10, 9, -128, -128, 3, -12, 5, -11, -128, -128, 4, -12, 5, -10, -128, -128, 8, -12, 7, -10, -128, -128, 9, -12, 7, -11, -128, -128, 13, -12, 18, -11, -128, -128, 15, -12, 18, -10, -128, -128, 16, -12, 18, -9, -128, -128, 17, -12, 18, -6, -128, -128, 13, -6, 12, -2, 13, 2, -128, -128, 13, -4, 11, -2, 13, 0, -128, -128, 13, -3, 9, -2, 13, -1, -128, -128, 5, 8, 3, 9, -128, -128, 5, 7, 4, 9, -128, -128, 7, 7, 8, 9, -128, -128, 7, 8, 9, 9, 17, -9, 18, -12, 18, -6, 17, -9, 15, -11, 13, -12, 10, -12, 7, -11, 5, -9, 4, -7, 3, -4, 3, 1, 4, 4, 5, 6, 7, 8, 10, 9, 13, 9, 15, 8, 17, 8, 18, 9, 18, 1, -128, -128, 6, -9, 5, -7, 4, -4, 4, 1, 5, 4, 6, 6, -128, -128, 10, -12, 8, -11, 6, -8, 5, -4, 5, 1, 6, 5, 8, 8, 10, 9, -128, -128, 17, 2, 17, 7, -128, -128, 16, 1, 16, 7, 15, 8, -128, -128, 13, 1, 21, 1, -128, -128, 14, 1, 16, 2, -128, -128, 15, 1, 16, 3, -128, -128, 19, 1, 18, 3, -128, -128, 20, 1, 18, 2, 5, -12, 5, 9, -128, -128, 6, -11, 6, 8, -128, -128, 7, -12, 7, 9, -128, -128, 17, -12, 17, 9, -128, -128, 18, -11, 18, 8, -128, -128, 19, -12, 19, 9, -128, -128, 2, -12, 10, -12, -128, -128, 14, -12, 22, -12, -128, -128, 7, -2, 17, -2, -128, -128, 2, 9, 10, 9, -128, -128, 14, 9, 22, 9, -128, -128, 3, -12, 5, -11, -128, -128, 4, -12, 5, -10, -128, -128, 8, -12, 7, -10, -128, -128, 9, -12, 7, -11, -128, -128, 15, -12, 17, -11, -128, -128, 16, -12, 17, -10, -128, -128, 20, -12, 19, -10, -128, -128, 21, -12, 19, -11, -128, -128, 5, 8, 3, 9, -128, -128, 5, 7, 4, 9, -128, -128, 7, 7, 8, 9, -128, -128, 7, 8, 9, 9, -128, -128, 17, 8, 15, 9, -128, -128, 17, 7, 16, 9, -128, -128, 19, 7, 20, 9, -128, -128, 19, 8, 21, 9, 5, -12, 5, 9, -128, -128, 6, -11, 6, 8, -128, -128, 7, -12, 7, 9, -128, -128, 2, -12, 10, -12, -128, -128, 2, 9, 10, 9, -128, -128, 3, -12, 5, -11, -128, -128, 4, -12, 5, -10, -128, -128, 8, -12, 7, -10, -128, -128, 9, -12, 7, -11, -128, -128, 5, 8, 3, 9, -128, -128, 5, 7, 4, 9, -128, -128, 7, 7, 8, 9, -128, -128, 7, 8, 9, 9, 9, -12, 9, 5, 8, 8, 7, 9, -128, -128, 10, -11, 10, 5, 9, 8, -128, -128, 11, -12, 11, 5, 10, 8, 7, 9, 5, 9, 3, 8, 2, 6, 2, 4, 3, 3, 4, 3, 5, 4, 5, 5, 4, 6, 3, 6, -128, -128, 3, 4, 3, 5, 4, 5, 4, 4, 3, 4, -128, -128, 6, -12, 14, -12, -128, -128, 7, -12, 9, -11, -128, -128, 8, -12, 9, -10, -128, -128, 12, -12, 11, -10, -128, -128, 13, -12, 11, -11, 5, -12, 5, 9, -128, -128, 6, -11, 6, 8, -128, -128, 7, -12, 7, 9, -128, -128, 18, -11, 7, 0, -128, -128, 10, -2, 17, 9, -128, -128, 11, -2, 18, 9, -128, -128, 11, -4, 19, 9, -128, -128, 2, -12, 10, -12, -128, -128, 15, -12, 21, -12, -128, -128, 2, 9, 10, 9, -128, -128, 14, 9, 21, 9, -128, -128, 3, -12, 5, -11, -128, -128, 4, -12, 5, -10, -128, -128, 8, -12, 7, -10, -128, -128, 9, -12, 7, -11, -128, -128, 17, -12, 18, -11, -128, -128, 20, -12, 18, -11, -128, -128, 5, 8, 3, 9, -128, -128, 5, 7, 4, 9, -128, -128, 7, 7, 8, 9, -128, -128, 7, 8, 9, 9, -128, -128, 17, 7, 15, 9, -128, -128, 17, 7, 20, 9, 5, -12, 5, 9, -128, -128, 6, -11, 6, 8, -128, -128, 7, -12, 7, 9, -128, -128, 2, -12, 10, -12, -128, -128, 2, 9, 17, 9, 17, 3, -128, -128, 3, -12, 5, -11, -128, -128, 4, -12, 5, -10, -128, -128, 8, -12, 7, -10, -128, -128, 9, -12, 7, -11, -128, -128, 5, 8, 3, 9, -128, -128, 5, 7, 4, 9, -128, -128, 7, 7, 8, 9, -128, -128, 7, 8, 9, 9, -128, -128, 12, 9, 17, 8, -128, -128, 14, 9, 17, 7, -128, -128, 15, 9, 17, 6, -128, -128, 16, 9, 17, 3, 5, -12, 5, 8, -128, -128, 5, -12, 12, 9, -128, -128, 6, -12, 12, 6, -128, -128, 7, -12, 13, 6, -128, -128, 19, -12, 12, 9, -128, -128, 19, -12, 19, 9, -128, -128, 20, -11, 20, 8, -128, -128, 21, -12, 21, 9, -128, -128, 2, -12, 7, -12, -128, -128, 19, -12, 24, -12, -128, -128, 2, 9, 8, 9, -128, -128, 16, 9, 24, 9, -128, -128, 3, -12, 5, -11, -128, -128, 22, -12, 21, -10, -128, -128, 23, -12, 21, -11, -128, -128, 5, 8, 3, 9, -128, -128, 5, 8, 7, 9, -128, -128, 19, 8, 17, 9, -128, -128, 19, 7, 18, 9, -128, -128, 21, 7, 22, 9, -128, -128, 21, 8, 23, 9, 5, -12, 5, 8, -128, -128, 5, -12, 19, 9, -128, -128, 6, -12, 18, 6, -128, -128, 7, -12, 19, 6, -128, -128, 19, -11, 19, 9, -128, -128, 2, -12, 7, -12, -128, -128, 16, -12, 22, -12, -128, -128, 2, 9, 8, 9, -128, -128, 3, -12, 5, -11, -128, -128, 17, -12, 19, -11, -128, -128, 21, -12, 19, -11, -128, -128, 5, 8, 3, 9, -128, -128, 5, 8, 7, 9, 10, -12, 7, -11, 5, -9, 4, -7, 3, -3, 3, 0, 4, 4, 5, 6, 7, 8, 10, 9, 12, 9, 15, 8, 17, 6, 18, 4, 19, 0, 19, -3, 18, -7, 17, -9, 15, -11, 12, -12, 10, -12, -128, -128, 6, -9, 5, -7, 4, -4, 4, 1, 5, 4, 6, 6, -128, -128, 16, 6, 17, 4, 18, 1, 18, -4, 17, -7, 16, -9, -128, -128, 10, -12, 8, -11, 6, -8, 5, -4, 5, 1, 6, 5, 8, 8, 10, 9, -128, -128, 12, 9, 14, 8, 16, 5, 17, 1, 17, -4, 16, -8, 14, -11, 12, -12, 5, -12, 5, 9, -128, -128, 6, -11, 6, 8, -128, -128, 7, -12, 7, 9, -128, -128, 2, -12, 14, -12, 17, -11, 18, -10, 19, -8, 19, -5, 18, -3, 17, -2, 14, -1, 7, -1, -128, -128, 17, -10, 18, -8, 18, -5, 17, -3, -128, -128, 14, -12, 16, -11, 17, -9, 17, -4, 16, -2, 14, -1, -128, -128, 2, 9, 10, 9, -128, -128, 3, -12, 5, -11, -128, -128, 4, -12, 5, -10, -128, -128, 8, -12, 7, -10, -128, -128, 9, -12, 7, -11, -128, -128, 5, 8, 3, 9, -128, -128, 5, 7, 4, 9, -128, -128, 7, 7, 8, 9, -128, -128, 7, 8, 9, 9, 10, -12, 7, -11, 5, -9, 4, -7, 3, -3, 3, 0, 4, 4, 5, 6, 7, 8, 10, 9, 12, 9, 15, 8, 17, 6, 18, 4, 19, 0, 19, -3, 18, -7, 17, -9, 15, -11, 12, -12, 10, -12, -128, -128, 6, -9, 5, -7, 4, -4, 4, 1, 5, 4, 6, 6, -128, -128, 16, 6, 17, 4, 18, 1, 18, -4, 17, -7, 16, -9, -128, -128, 10, -12, 8, -11, 6, -8, 5, -4, 5, 1, 6, 5, 8, 8, 10, 9, -128, -128, 12, 9, 14, 8, 16, 5, 17, 1, 17, -4, 16, -8, 14, -11, 12, -12, -128, -128, 7, 6, 8, 4, 10, 3, 11, 3, 13, 4, 14, 6, 15, 12, 16, 14, 18, 14, 19, 12, 19, 10, -128, -128, 15, 10, 16, 12, 17, 13, 18, 13, -128, -128, 14, 6, 16, 11, 17, 12, 18, 12, 19, 11, 5, -12, 5, 9, -128, -128, 6, -11, 6, 8, -128, -128, 7, -12, 7, 9, -128, -128, 2, -12, 14, -12, 17, -11, 18, -10, 19, -8, 19, -6, 18, -4, 17, -3, 14, -2, 7, -2, -128, -128, 17, -10, 18, -8, 18, -6, 17, -4, -128, -128, 14, -12, 16, -11, 17, -9, 17, -5, 16, -3, 14, -2, -128, -128, 11, -2, 13, -1, 14, 1, 16, 7, 17, 9, 19, 9, 20, 7, 20, 5, -128, -128, 16, 5, 17, 7, 18, 8, 19, 8, -128, -128, 13, -1, 14, 0, 17, 6, 18, 7, 19, 7, 20, 6, -128, -128, 2, 9, 10, 9, -128, -128, 3, -12, 5, -11, -128, -128, 4, -12, 5, -10, -128, -128, 8, -12, 7, -10, -128, -128, 9, -12, 7, -11, -128, -128, 5, 8, 3, 9, -128, -128, 5, 7, 4, 9, -128, -128, 7, 7, 8, 9, -128, -128, 7, 8, 9, 9, 16, -9, 17, -12, 17, -6, 16, -9, 14, -11, 11, -12, 8, -12, 5, -11, 3, -9, 3, -6, 4, -4, 7, -2, 13, 0, 15, 1, 16, 3, 16, 6, 15, 8, -128, -128, 4, -6, 5, -4, 7, -3, 13, -1, 15, 0, 16, 2, -128, -128, 5, -11, 4, -9, 4, -7, 5, -5, 7, -4, 13, -2, 16, 0, 17, 2, 17, 5, 16, 7, 15, 8, 12, 9, 9, 9, 6, 8, 4, 6, 3, 3, 3, 9, 4, 6, 2, -12, 2, -6, -128, -128, 9, -12, 9, 9, -128, -128, 10, -11, 10, 8, -128, -128, 11, -12, 11, 9, -128, -128, 18, -12, 18, -6, -128, -128, 2, -12, 18, -12, -128, -128, 6, 9, 14, 9, -128, -128, 3, -12, 2, -6, -128, -128, 4, -12, 2, -9, -128, -128, 5, -12, 2, -10, -128, -128, 7, -12, 2, -11, -128, -128, 13, -12, 18, -11, -128, -128, 15, -12, 18, -10, -128, -128, 16, -12, 18, -9, -128, -128, 17, -12, 18, -6, -128, -128, 9, 8, 7, 9, -128, -128, 9, 7, 8, 9, -128, -128, 11, 7, 12, 9, -128, -128, 11, 8, 13, 9, 5, -12, 5, 3, 6, 6, 8, 8, 11, 9, 13, 9, 16, 8, 18, 6, 19, 3, 19, -11, -128, -128, 6, -11, 6, 4, 7, 6, -128, -128, 7, -12, 7, 4, 8, 7, 9, 8, 11, 9, -128, -128, 2, -12, 10, -12, -128, -128, 16, -12, 22, -12, -128, -128, 3, -12, 5, -11, -128, -128, 4, -12, 5, -10, -128, -128, 8, -12, 7, -10, -128, -128, 9, -12, 7, -11, -128, -128, 17, -12, 19, -11, -128, -128, 21, -12, 19, -11, 3, -12, 10, 9, -128, -128, 4, -12, 10, 6, 10, 9, -128, -128, 5, -12, 11, 6, -128, -128, 17, -11, 10, 9, -128, -128, 1, -12, 8, -12, -128, -128, 13, -12, 19, -12, -128, -128, 2, -12, 4, -10, -128, -128, 6, -12, 5, -10, -128, -128, 7, -12, 5, -11, -128, -128, 15, -12, 17, -11, -128, -128, 18, -12, 17, -11, 4, -12, 8, 9, -128, -128, 5, -12, 8, 4, 8, 9, -128, -128, 6, -12, 9, 4, -128, -128, 12, -12, 9, 4, 8, 9, -128, -128, 12, -12, 16, 9, -128, -128, 13, -12, 16, 4, 16, 9, -128, -128, 14, -12, 17, 4, -128, -128, 20, -11, 17, 4, 16, 9, -128, -128, 1, -12, 9, -12, -128, -128, 12, -12, 14, -12, -128, -128, 17, -12, 23, -12, -128, -128, 2, -12, 5, -11, -128, -128, 3, -12, 5, -10, -128, -128, 7, -12, 6, -10, -128, -128, 8, -12, 6, -11, -128, -128, 18, -12, 20, -11, -128, -128, 22, -12, 20, -11, 3, -12, 15, 9, -128, -128, 4, -12, 16, 9, -128, -128, 5, -12, 17, 9, -128, -128, 16, -11, 4, 8, -128, -128, 1, -12, 8, -12, -128, -128, 13, -12, 19, -12, -128, -128, 1, 9, 7, 9, -128, -128, 12, 9, 19, 9, -128, -128, 2, -12, 5, -10, -128, -128, 6, -12, 5, -10, -128, -128, 7, -12, 5, -11, -128, -128, 14, -12, 16, -11, -128, -128, 18, -12, 16, -11, -128, -128, 4, 8, 2, 9, -128, -128, 4, 8, 6, 9, -128, -128, 15, 8, 13, 9, -128, -128, 15, 7, 14, 9, -128, -128, 15, 7, 18, 9, 3, -12, 10, -1, 10, 9, -128, -128, 4, -12, 11, -1, 11, 8, -128, -128, 5, -12, 12, -1, 12, 9, -128, -128, 18, -11, 12, -1, -128, -128, 1, -12, 8, -12, -128, -128, 15, -12, 21, -12, -128, -128, 7, 9, 15, 9, -128, -128, 2, -12, 4, -11, -128, -128, 7, -12, 5, -11, -128, -128, 16, -12, 18, -11, -128, -128, 20, -12, 18, -11, -128, -128, 10, 8, 8, 9, -128, -128, 10, 7, 9, 9, -128, -128, 12, 7, 13, 9, -128, -128, 12, 8, 14, 9, 17, -12, 3, -12, 3, -6, -128, -128, 15, -12, 3, 9, -128, -128, 16, -12, 4, 9, -128, -128, 17, -12, 5, 9, -128, -128, 3, 9, 17, 9, 17, 3, -128, -128, 4, -12, 3, -6, -128, -128, 5, -12, 3, -9, -128, -128, 6, -12, 3, -10, -128, -128, 8, -12, 3, -11, -128, -128, 12, 9, 17, 8, -128, -128, 14, 9, 17, 7, -128, -128, 15, 9, 17, 6, -128, -128, 16, 9, 17, 3, 4, -16, 4, 16, -128, -128, 5, -16, 5, 16, -128, -128, 4, -16, 11, -16, -128, -128, 4, 16, 11, 16, 0, -12, 14, 12, 9, -16, 9, 16, -128, -128, 10, -16, 10, 16, -128, -128, 3, -16, 10, -16, -128, -128, 3, 16, 10, 16, 3, 2, 11, -3, 19, 2, -128, -128, 3, 2, 11, -2, 19, 2, 0, 16, 20, 16, 4, -12, 9, -6, -128, -128, 4, -12, 3, -11, 9, -6, 5, -2, 5, -3, 6, -3, 6, -1, 4, -1, 4, -3, 5, -4, 7, -5, 11, -5, 13, -4, 14, -3, 15, -1, 15, 6, 16, 8, 17, 9, -128, -128, 13, -3, 14, -1, 14, 6, 15, 8, -128, -128, 11, -5, 12, -4, 13, -2, 13, 6, 14, 8, 17, 9, 18, 9, -128, -128, 13, 0, 12, 1, 7, 2, 4, 3, 3, 5, 3, 6, 4, 8, 7, 9, 10, 9, 12, 8, 13, 6, -128, -128, 5, 3, 4, 5, 4, 6, 5, 8, -128, -128, 12, 1, 8, 2, 6, 3, 5, 5, 5, 6, 6, 8, 7, 9, 5, -12, 5, 9, 6, 8, 8, 8, -128, -128, 6, -11, 6, 7, -128, -128, 2, -12, 7, -12, 7, 8, -128, -128, 7, -2, 8, -4, 10, -5, 12, -5, 15, -4, 17, -2, 18, 1, 18, 3, 17, 6, 15, 8, 12, 9, 10, 9, 8, 8, 7, 6, -128, -128, 16, -2, 17, 0, 17, 4, 16, 6, -128, -128, 12, -5, 14, -4, 15, -3, 16, 0, 16, 4, 15, 7, 14, 8, 12, 9, -128, -128, 3, -12, 5, -11, -128, -128, 4, -12, 5, -10, 15, -1, 15, -2, 14, -2, 14, 0, 16, 0, 16, -2, 14, -4, 12, -5, 9, -5, 6, -4, 4, -2, 3, 1, 3, 3, 4, 6, 6, 8, 9, 9, 11, 9, 14, 8, 16, 6, -128, -128, 5, -2, 4, 0, 4, 4, 5, 6, -128, -128, 9, -5, 7, -4, 6, -3, 5, 0, 5, 4, 6, 7, 7, 8, 9, 9, 14, -12, 14, 9, 19, 9, -128, -128, 15, -11, 15, 8, -128, -128, 11, -12, 16, -12, 16, 9, -128, -128, 14, -2, 13, -4, 11, -5, 9, -5, 6, -4, 4, -2, 3, 1, 3, 3, 4, 6, 6, 8, 9, 9, 11, 9, 13, 8, 14, 6, -128, -128, 5, -2, 4, 0, 4, 4, 5, 6, -128, -128, 9, -5, 7, -4, 6, -3, 5, 0, 5, 4, 6, 7, 7, 8, 9, 9, -128, -128, 12, -12, 14, -11, -128, -128, 13, -12, 14, -10, -128, -128, 16, 7, 17, 9, -128, -128, 16, 8, 18, 9, 5, 1, 16, 1, 16, -1, 15, -3, 14, -4, 11, -5, 9, -5, 6, -4, 4, -2, 3, 1, 3, 3, 4, 6, 6, 8, 9, 9, 11, 9, 14, 8, 16, 6, -128, -128, 15, 0, 15, -1, 14, -3, -128, -128, 5, -2, 4, 0, 4, 4, 5, 6, -128, -128, 14, 1, 14, -2, 13, -4, 11, -5, -128, -128, 9, -5, 7, -4, 6, -3, 5, 0, 5, 4, 6, 7, 7, 8, 9, 9, 12, -10, 12, -11, 11, -11, 11, -9, 13, -9, 13, -11, 12, -12, 9, -12, 7, -11, 6, -10, 5, -7, 5, 9, -128, -128, 7, -10, 6, -7, 6, 8, -128, -128, 9, -12, 8, -11, 7, -9, 7, 9, -128, -128, 2, -5, 11, -5, -128, -128, 2, 9, 10, 9, -128, -128, 5, 8, 3, 9, -128, -128, 5, 7, 4, 9, -128, -128, 7, 7, 8, 9, -128, -128, 7, 8, 9, 9, 15, -4, 16, -3, 17, -4, 16, -5, 15, -5, 13, -4, 12, -3, -128, -128, 8, -5, 6, -4, 5, -3, 4, -1, 4, 1, 5, 3, 6, 4, 8, 5, 10, 5, 12, 4, 13, 3, 14, 1, 14, -1, 13, -3, 12, -4, 10, -5, 8, -5, -128, -128, 6, -3, 5, -1, 5, 1, 6, 3, -128, -128, 12, 3, 13, 1, 13, -1, 12, -3, -128, -128, 8, -5, 7, -4, 6, -2, 6, 2, 7, 4, 8, 5, -128, -128, 10, 5, 11, 4, 12, 2, 12, -2, 11, -4, 10, -5, -128, -128, 5, 3, 4, 4, 3, 6, 3, 7, 4, 9, 5, 10, 8, 11, 12, 11, 15, 12, 16, 13, -128, -128, 5, 9, 8, 10, 12, 10, 15, 11, -128, -128, 3, 7, 4, 8, 7, 9, 12, 9, 15, 10, 16, 12, 16, 13, 15, 15, 12, 16, 6, 16, 3, 15, 2, 13, 2, 12, 3, 10, 6, 9, -128, -128, 6, 16, 4, 15, 3, 13, 3, 12, 4, 10, 6, 9, 5, -12, 5, 9, -128, -128, 6, -11, 6, 8, -128, -128, 2, -12, 7, -12, 7, 9, -128, -128, 7, -1, 8, -3, 9, -4, 11, -5, 14, -5, 16, -4, 17, -3, 18, 0, 18, 9, -128, -128, 16, -3, 17, 0, 17, 8, -128, -128, 14, -5, 15, -4, 16, -1, 16, 9, -128, -128, 2, 9, 10, 9, -128, -128, 13, 9, 21, 9, -128, -128, 3, -12, 5, -11, -128, -128, 4, -12, 5, -10, -128, -128, 5, 8, 3, 9, -128, -128, 5, 7, 4, 9, -128, -128, 7, 7, 8, 9, -128, -128, 7, 8, 9, 9, -128, -128, 16, 8, 14, 9, -128, -128, 16, 7, 15, 9, -128, -128, 18, 7, 19, 9, -128, -128, 18, 8, 20, 9, 5, -12, 5, -10, 7, -10, 7, -12, 5, -12, -128, -128, 6, -12, 6, -10, -128, -128, 5, -11, 7, -11, -128, -128, 5, -5, 5, 9, -128, -128, 6, -4, 6, 8, -128, -128, 2, -5, 7, -5, 7, 9, -128, -128, 2, 9, 10, 9, -128, -128, 3, -5, 5, -4, -128, -128, 4, -5, 5, -3, -128, -128, 5, 8, 3, 9, -128, -128, 5, 7, 4, 9, -128, -128, 7, 7, 8, 9, -128, -128, 7, 8, 9, 9, 7, -12, 7, -10, 9, -10, 9, -12, 7, -12, -128, -128, 8, -12, 8, -10, -128, -128, 7, -11, 9, -11, -128, -128, 7, -5, 7, 12, 6, 15, 5, 16, -128, -128, 8, -4, 8, 11, 7, 14, -128, -128, 4, -5, 9, -5, 9, 11, 8, 14, 7, 15, 5, 16, 2, 16, 1, 15, 1, 13, 3, 13, 3, 15, 2, 15, 2, 14, -128, -128, 5, -5, 7, -4, -128, -128, 6, -5, 7, -3, 5, -12, 5, 9, -128, -128, 6, -11, 6, 8, -128, -128, 2, -12, 7, -12, 7, 9, -128, -128, 16, -4, 7, 5, -128, -128, 11, 1, 18, 9, -128, -128, 11, 2, 17, 9, -128, -128, 10, 2, 16, 9, -128, -128, 13, -5, 20, -5, -128, -128, 2, 9, 10, 9, -128, -128, 13, 9, 20, 9, -128, -128, 3, -12, 5, -11, -128, -128, 4, -12, 5, -10, -128, -128, 14, -5, 16, -4, -128, -128, 19, -5, 16, -4, -128, -128, 5, 8, 3, 9, -128, -128, 5, 7, 4, 9, -128, -128, 7, 7, 8, 9, -128, -128, 7, 8, 9, 9, -128, -128, 16, 7, 14, 9, -128, -128, 15, 7, 19, 9, 5, -12, 5, 9, -128, -128, 6, -11, 6, 8, -128, -128, 2, -12, 7, -12, 7, 9, -128, -128, 2, 9, 10, 9, -128, -128, 3, -12, 5, -11, -128, -128, 4, -12, 5, -10, -128, -128, 5, 8, 3, 9, -128, -128, 5, 7, 4, 9, -128, -128, 7, 7, 8, 9, -128, -128, 7, 8, 9, 9, 5, -5, 5, 9, -128, -128, 6, -4, 6, 8, -128, -128, 2, -5, 7, -5, 7, 9, -128, -128, 7, -1, 8, -3, 9, -4, 11, -5, 14, -5, 16, -4, 17, -3, 18, 0, 18, 9, -128, -128, 16, -3, 17, 0, 17, 8, -128, -128, 14, -5, 15, -4, 16, -1, 16, 9, -128, -128, 18, -1, 19, -3, 20, -4, 22, -5, 25, -5, 27, -4, 28, -3, 29, 0, 29, 9, -128, -128, 27, -3, 28, 0, 28, 8, -128, -128, 25, -5, 26, -4, 27, -1, 27, 9, -128, -128, 2, 9, 10, 9, -128, -128, 13, 9, 21, 9, -128, -128, 24, 9, 32, 9, -128, -128, 3, -5, 5, -4, -128, -128, 4, -5, 5, -3, -128, -128, 5, 8, 3, 9, -128, -128, 5, 7, 4, 9, -128, -128, 7, 7, 8, 9, -128, -128, 7, 8, 9, 9, -128, -128, 16, 8, 14, 9, -128, -128, 16, 7, 15, 9, -128, -128, 18, 7, 19, 9, -128, -128, 18, 8, 20, 9, -128, -128, 27, 8, 25, 9, -128, -128, 27, 7, 26, 9, -128, -128, 29, 7, 30, 9, -128, -128, 29, 8, 31, 9, 5, -5, 5, 9, -128, -128, 6, -4, 6, 8, -128, -128, 2, -5, 7, -5, 7, 9, -128, -128, 7, -1, 8, -3, 9, -4, 11, -5, 14, -5, 16, -4, 17, -3, 18, 0, 18, 9, -128, -128, 16, -3, 17, 0, 17, 8, -128, -128, 14, -5, 15, -4, 16, -1, 16, 9, -128, -128, 2, 9, 10, 9, -128, -128, 13, 9, 21, 9, -128, -128, 3, -5, 5, -4, -128, -128, 4, -5, 5, -3, -128, -128, 5, 8, 3, 9, -128, -128, 5, 7, 4, 9, -128, -128, 7, 7, 8, 9, -128, -128, 7, 8, 9, 9, -128, -128, 16, 8, 14, 9, -128, -128, 16, 7, 15, 9, -128, -128, 18, 7, 19, 9, -128, -128, 18, 8, 20, 9, 9, -5, 6, -4, 4, -2, 3, 1, 3, 3, 4, 6, 6, 8, 9, 9, 11, 9, 14, 8, 16, 6, 17, 3, 17, 1, 16, -2, 14, -4, 11, -5, 9, -5, -128, -128, 5, -2, 4, 0, 4, 4, 5, 6, -128, -128, 15, 6, 16, 4, 16, 0, 15, -2, -128, -128, 9, -5, 7, -4, 6, -3, 5, 0, 5, 4, 6, 7, 7, 8, 9, 9, -128, -128, 11, 9, 13, 8, 14, 7, 15, 4, 15, 0, 14, -3, 13, -4, 11, -5, 5, -5, 5, 16, -128, -128, 6, -4, 6, 15, -128, -128, 2, -5, 7, -5, 7, 16, -128, -128, 7, -2, 8, -4, 10, -5, 12, -5, 15, -4, 17, -2, 18, 1, 18, 3, 17, 6, 15, 8, 12, 9, 10, 9, 8, 8, 7, 6, -128, -128, 16, -2, 17, 0, 17, 4, 16, 6, -128, -128, 12, -5, 14, -4, 15, -3, 16, 0, 16, 4, 15, 7, 14, 8, 12, 9, -128, -128, 2, 16, 10, 16, -128, -128, 3, -5, 5, -4, -128, -128, 4, -5, 5, -3, -128, -128, 5, 15, 3, 16, -128, -128, 5, 14, 4, 16, -128, -128, 7, 14, 8, 16, -128, -128, 7, 15, 9, 16, 14, -4, 14, 16, -128, -128, 15, -3, 15, 15, -128, -128, 13, -4, 15, -4, 16, -5, 16, 16, -128, -128, 14, -2, 13, -4, 11, -5, 9, -5, 6, -4, 4, -2, 3, 1, 3, 3, 4, 6, 6, 8, 9, 9, 11, 9, 13, 8, 14, 6, -128, -128, 5, -2, 4, 0, 4, 4, 5, 6, -128, -128, 9, -5, 7, -4, 6, -3, 5, 0, 5, 4, 6, 7, 7, 8, 9, 9, -128, -128, 11, 16, 19, 16, -128, -128, 14, 15, 12, 16, -128, -128, 14, 14, 13, 16, -128, -128, 16, 14, 17, 16, -128, -128, 16, 15, 18, 16, 5, -5, 5, 9, -128, -128, 6, -4, 6, 8, -128, -128, 2, -5, 7, -5, 7, 9, -128, -128, 14, -3, 14, -4, 13, -4, 13, -2, 15, -2, 15, -4, 14, -5, 12, -5, 10, -4, 8, -2, 7, 1, -128, -128, 2, 9, 10, 9, -128, -128, 3, -5, 5, -4, -128, -128, 4, -5, 5, -3, -128, -128, 5, 8, 3, 9, -128, -128, 5, 7, 4, 9, -128, -128, 7, 7, 8, 9, -128, -128, 7, 8, 9, 9, 13, -3, 14, -5, 14, -1, 13, -3, 12, -4, 10, -5, 6, -5, 4, -4, 3, -3, 3, -1, 4, 1, 6, 2, 11, 3, 13, 4, 14, 7, -128, -128, 4, -4, 3, -1, -128, -128, 4, 0, 6, 1, 11, 2, 13, 3, -128, -128, 14, 4, 13, 8, -128, -128, 3, -3, 4, -1, 6, 0, 11, 1, 13, 2, 14, 4, 14, 7, 13, 8, 11, 9, 7, 9, 5, 8, 4, 7, 3, 5, 3, 9, 4, 7, 5, -10, 5, 4, 6, 7, 7, 8, 9, 9, 11, 9, 13, 8, 14, 6, -128, -128, 6, -10, 6, 5, 7, 7, -128, -128, 5, -10, 7, -12, 7, 5, 8, 8, 9, 9, -128, -128, 2, -5, 11, -5, 5, -5, 5, 4, 6, 7, 7, 8, 9, 9, 12, 9, 14, 8, 15, 7, 16, 5, -128, -128, 6, -4, 6, 5, 7, 7, -128, -128, 2, -5, 7, -5, 7, 5, 8, 8, 9, 9, -128, -128, 16, -5, 16, 9, 21, 9, -128, -128, 17, -4, 17, 8, -128, -128, 13, -5, 18, -5, 18, 9, -128, -128, 3, -5, 5, -4, -128, -128, 4, -5, 5, -3, -128, -128, 18, 7, 19, 9, -128, -128, 18, 8, 20, 9, 3, -5, 9, 9, -128, -128, 4, -5, 9, 7, -128, -128, 5, -5, 10, 7, -128, -128, 15, -4, 10, 7, 9, 9, -128, -128, 1, -5, 8, -5, -128, -128, 11, -5, 17, -5, -128, -128, 2, -5, 5, -3, -128, -128, 7, -5, 5, -4, -128, -128, 13, -5, 15, -4, -128, -128, 16, -5, 15, -4, 4, -5, 8, 9, -128, -128, 5, -5, 8, 6, -128, -128, 6, -5, 9, 6, -128, -128, 12, -5, 9, 6, 8, 9, -128, -128, 12, -5, 16, 9, -128, -128, 13, -5, 16, 6, -128, -128, 12, -5, 14, -5, 17, 6, -128, -128, 20, -4, 17, 6, 16, 9, -128, -128, 1, -5, 9, -5, -128, -128, 17, -5, 23, -5, -128, -128, 2, -5, 5, -4, -128, -128, 8, -5, 6, -4, -128, -128, 18, -5, 20, -4, -128, -128, 22, -5, 20, -4, 4, -5, 14, 9, -128, -128, 5, -5, 15, 9, -128, -128, 6, -5, 16, 9, -128, -128, 15, -4, 5, 8, -128, -128, 2, -5, 9, -5, -128, -128, 12, -5, 18, -5, -128, -128, 2, 9, 8, 9, -128, -128, 11, 9, 18, 9, -128, -128, 3, -5, 5, -4, -128, -128, 8, -5, 6, -4, -128, -128, 13, -5, 15, -4, -128, -128, 17, -5, 15, -4, -128, -128, 5, 8, 3, 9, -128, -128, 5, 8, 7, 9, -128, -128, 14, 8, 12, 9, -128, -128, 15, 8, 17, 9, 4, -5, 10, 9, -128, -128, 5, -5, 10, 7, -128, -128, 6, -5, 11, 7, -128, -128, 16, -4, 11, 7, 8, 13, 6, 15, 4, 16, 2, 16, 1, 15, 1, 13, 3, 13, 3, 15, 2, 15, 2, 14, -128, -128, 2, -5, 9, -5, -128, -128, 12, -5, 18, -5, -128, -128, 3, -5, 6, -3, -128, -128, 8, -5, 6, -4, -128, -128, 14, -5, 16, -4, -128, -128, 17, -5, 16, -4, 13, -5, 3, 9, -128, -128, 14, -5, 4, 9, -128, -128, 15, -5, 5, 9, -128, -128, 15, -5, 3, -5, 3, -1, -128, -128, 3, 9, 15, 9, 15, 5, -128, -128, 4, -5, 3, -1, -128, -128, 5, -5, 3, -2, -128, -128, 6, -5, 3, -3, -128, -128, 8, -5, 3, -4, -128, -128, 10, 9, 15, 8, -128, -128, 12, 9, 15, 7, -128, -128, 13, 9, 15, 6, -128, -128, 14, 9, 15, 5, 9, -16, 7, -15, 6, -14, 5, -12, 5, -10, 6, -8, 7, -7, 8, -5, 8, -3, 6, -1, -128, -128, 7, -15, 6, -13, 6, -11, 7, -9, 8, -8, 9, -6, 9, -4, 8, -2, 4, 0, 8, 2, 9, 4, 9, 6, 8, 8, 7, 9, 6, 11, 6, 13, 7, 15, -128, -128, 6, 1, 8, 3, 8, 5, 7, 7, 6, 8, 5, 10, 5, 12, 6, 14, 7, 15, 9, 16, 4, -16, 4, 16, 5, -16, 7, -15, 8, -14, 9, -12, 9, -10, 8, -8, 7, -7, 6, -5, 6, -3, 8, -1, -128, -128, 7, -15, 8, -13, 8, -11, 7, -9, 6, -8, 5, -6, 5, -4, 6, -2, 10, 0, 6, 2, 5, 4, 5, 6, 6, 8, 7, 9, 8, 11, 8, 13, 7, 15, -128, -128, 8, 1, 6, 3, 6, 5, 7, 7, 8, 8, 9, 10, 9, 12, 8, 14, 7, 15, 5, 16, 3, 3, 3, 1, 4, -2, 6, -3, 8, -3, 10, -2, 14, 1, 16, 2, 18, 2, 20, 1, 21, -1, -128, -128, 3, 1, 4, -1, 6, -2, 8, -2, 10, -1, 14, 2, 16, 3, 18, 3, 20, 2, 21, -1, 21, -3, 0, -12, 0, 9, 1, 9, 1, -12, 2, -12, 2, 9, 3, 9, 3, -12, 4, -12, 4, 9, 5, 9, 5, -12, 6, -12, 6, 9, 7, 9, 7, -12, 8, -12, 8, 9, 9, 9, 9, -12, 10, -12, 10, 9, 11, 9, 11, -12, 12, -12, 12, 9, 13, 9, 13, -12, 14, -12, 14, 9, 15, 9, 15, -12, 16, -12, 16, 9 +}; + +const hershey_font_t timesrb { + .chars = { + {.width=16, .vertex_count=0, .vertices=×rb_vertices[0]}, + {.width=11, .vertex_count=33, .vertices=×rb_vertices[0]}, + {.width=18, .vertex_count=21, .vertices=×rb_vertices[66]}, + {.width=21, .vertex_count=11, .vertices=×rb_vertices[108]}, + {.width=20, .vertex_count=55, .vertices=×rb_vertices[130]}, + {.width=24, .vertex_count=31, .vertices=×rb_vertices[240]}, + {.width=26, .vertex_count=73, .vertices=×rb_vertices[302]}, + {.width=9, .vertex_count=10, .vertices=×rb_vertices[448]}, + {.width=14, .vertex_count=26, .vertices=×rb_vertices[468]}, + {.width=14, .vertex_count=26, .vertices=×rb_vertices[520]}, + {.width=16, .vertex_count=38, .vertices=×rb_vertices[572]}, + {.width=25, .vertex_count=15, .vertices=×rb_vertices[648]}, + {.width=11, .vertex_count=23, .vertices=×rb_vertices[678]}, + {.width=26, .vertex_count=2, .vertices=×rb_vertices[724]}, + {.width=11, .vertex_count=15, .vertices=×rb_vertices[728]}, + {.width=23, .vertex_count=7, .vertices=×rb_vertices[758]}, + {.width=20, .vertex_count=49, .vertices=×rb_vertices[772]}, + {.width=20, .vertex_count=27, .vertices=×rb_vertices[870]}, + {.width=20, .vertex_count=61, .vertices=×rb_vertices[924]}, + {.width=20, .vertex_count=75, .vertices=×rb_vertices[1046]}, + {.width=20, .vertex_count=27, .vertices=×rb_vertices[1196]}, + {.width=20, .vertex_count=54, .vertices=×rb_vertices[1250]}, + {.width=20, .vertex_count=68, .vertices=×rb_vertices[1358]}, + {.width=20, .vertex_count=42, .vertices=×rb_vertices[1494]}, + {.width=20, .vertex_count=78, .vertices=×rb_vertices[1578]}, + {.width=20, .vertex_count=68, .vertices=×rb_vertices[1734]}, + {.width=11, .vertex_count=31, .vertices=×rb_vertices[1870]}, + {.width=11, .vertex_count=39, .vertices=×rb_vertices[1932]}, + {.width=24, .vertex_count=3, .vertices=×rb_vertices[2010]}, + {.width=25, .vertex_count=15, .vertices=×rb_vertices[2016]}, + {.width=24, .vertex_count=3, .vertices=×rb_vertices[2046]}, + {.width=19, .vertex_count=51, .vertices=×rb_vertices[2052]}, + {.width=27, .vertex_count=55, .vertices=×rb_vertices[2154]}, + {.width=20, .vertex_count=35, .vertices=×rb_vertices[2264]}, + {.width=22, .vertex_count=77, .vertices=×rb_vertices[2334]}, + {.width=21, .vertex_count=36, .vertices=×rb_vertices[2488]}, + {.width=22, .vertex_count=61, .vertices=×rb_vertices[2560]}, + {.width=21, .vertex_count=82, .vertices=×rb_vertices[2682]}, + {.width=20, .vertex_count=69, .vertices=×rb_vertices[2846]}, + {.width=23, .vertex_count=59, .vertices=×rb_vertices[2984]}, + {.width=24, .vertex_count=80, .vertices=×rb_vertices[3102]}, + {.width=12, .vertex_count=38, .vertices=×rb_vertices[3262]}, + {.width=16, .vertex_count=44, .vertices=×rb_vertices[3338]}, + {.width=22, .vertex_count=68, .vertices=×rb_vertices[3426]}, + {.width=18, .vertex_count=51, .vertices=×rb_vertices[3562]}, + {.width=26, .vertex_count=62, .vertices=×rb_vertices[3664]}, + {.width=24, .vertex_count=38, .vertices=×rb_vertices[3788]}, + {.width=22, .vertex_count=53, .vertices=×rb_vertices[3864]}, + {.width=22, .vertex_count=58, .vertices=×rb_vertices[3970]}, + {.width=22, .vertex_count=76, .vertices=×rb_vertices[4086]}, + {.width=22, .vertex_count=79, .vertices=×rb_vertices[4238]}, + {.width=20, .vertex_count=43, .vertices=×rb_vertices[4396]}, + {.width=20, .vertex_count=56, .vertices=×rb_vertices[4482]}, + {.width=24, .vertex_count=44, .vertices=×rb_vertices[4594]}, + {.width=20, .vertex_count=33, .vertices=×rb_vertices[4682]}, + {.width=24, .vertex_count=54, .vertices=×rb_vertices[4748]}, + {.width=20, .vertex_count=53, .vertices=×rb_vertices[4856]}, + {.width=22, .vertex_count=47, .vertices=×rb_vertices[4962]}, + {.width=20, .vertex_count=40, .vertices=×rb_vertices[5056]}, + {.width=14, .vertex_count=11, .vertices=×rb_vertices[5136]}, + {.width=14, .vertex_count=2, .vertices=×rb_vertices[5158]}, + {.width=14, .vertex_count=11, .vertices=×rb_vertices[5162]}, + {.width=22, .vertex_count=7, .vertices=×rb_vertices[5184]}, + {.width=20, .vertex_count=2, .vertices=×rb_vertices[5198]}, + {.width=12, .vertex_count=6, .vertices=×rb_vertices[5202]}, + {.width=20, .vertex_count=53, .vertices=×rb_vertices[5214]}, + {.width=21, .vertex_count=46, .vertices=×rb_vertices[5320]}, + {.width=19, .vertex_count=33, .vertices=×rb_vertices[5412]}, + {.width=21, .vertex_count=51, .vertices=×rb_vertices[5478]}, + {.width=19, .vertex_count=40, .vertices=×rb_vertices[5580]}, + {.width=14, .vertex_count=39, .vertices=×rb_vertices[5660]}, + {.width=19, .vertex_count=88, .vertices=×rb_vertices[5738]}, + {.width=23, .vertex_count=64, .vertices=×rb_vertices[5914]}, + {.width=12, .vertex_count=42, .vertices=×rb_vertices[6042]}, + {.width=13, .vertex_count=40, .vertices=×rb_vertices[6126]}, + {.width=22, .vertex_count=60, .vertices=×rb_vertices[6206]}, + {.width=12, .vertex_count=30, .vertices=×rb_vertices[6326]}, + {.width=34, .vertex_count=98, .vertices=×rb_vertices[6386]}, + {.width=23, .vertex_count=64, .vertices=×rb_vertices[6582]}, + {.width=20, .vertex_count=45, .vertices=×rb_vertices[6710]}, + {.width=21, .vertex_count=59, .vertices=×rb_vertices[6800]}, + {.width=20, .vertex_count=54, .vertices=×rb_vertices[6918]}, + {.width=17, .vertex_count=42, .vertices=×rb_vertices[7026]}, + {.width=17, .vertex_count=42, .vertices=×rb_vertices[7110]}, + {.width=15, .vertex_count=21, .vertices=×rb_vertices[7194]}, + {.width=23, .vertex_count=42, .vertices=×rb_vertices[7236]}, + {.width=18, .vertex_count=30, .vertices=×rb_vertices[7320]}, + {.width=24, .vertex_count=44, .vertices=×rb_vertices[7380]}, + {.width=20, .vertex_count=47, .vertices=×rb_vertices[7468]}, + {.width=19, .vertex_count=39, .vertices=×rb_vertices[7562]}, + {.width=18, .vertex_count=40, .vertices=×rb_vertices[7640]}, + {.width=14, .vertex_count=39, .vertices=×rb_vertices[7720]}, + {.width=8, .vertex_count=2, .vertices=×rb_vertices[7798]}, + {.width=14, .vertex_count=39, .vertices=×rb_vertices[7802]}, + {.width=24, .vertex_count=23, .vertices=×rb_vertices[7880]} + } +}; diff --git a/micropython/examples/badger2040/clock.py b/micropython/examples/badger2040/clock.py new file mode 100644 index 00000000..6102c48b --- /dev/null +++ b/micropython/examples/badger2040/clock.py @@ -0,0 +1,22 @@ +import time +import badger2040 +from machine import RTC + +rtc = RTC() +screen = badger2040.Badger2040() +screen.update_speed(badger2040.UPDATE_TURBO) + +while True: + year, month, day, wd, hour, minute, second, _ = rtc.datetime() + hms = "{:02} {:02} {:02}".format(hour, minute, second) + ymd = "{:04}/{:02}/{:02}".format(year, month, day) + + screen.pen(15) + screen.clear() + screen.pen(1) + screen.thickness(5) + screen.text(hms, 0, 0, 2.0) + screen.thickness(3) + screen.text(ymd, 0, 60, 1.0) + + time.sleep(0.5) \ No newline at end of file diff --git a/micropython/examples/badger2040/launcher.py b/micropython/examples/badger2040/launcher.py new file mode 100644 index 00000000..c7a8ce1f --- /dev/null +++ b/micropython/examples/badger2040/launcher.py @@ -0,0 +1,109 @@ +import gc +import sys +import time +import math +import machine +import badger2040 + +page = 0 + +examples = [ + "clock.py", + "fonts.py", + "clean.py", + "interrupt.py", + "scanline.py", + "lut-test.py", + "quictest.py" +] + +MAX_PAGE = math.ceil(len(examples) / 3) + +button_a = machine.Pin(badger2040.BUTTON_A, machine.Pin.IN, machine.Pin.PULL_DOWN) +button_b = machine.Pin(badger2040.BUTTON_B, machine.Pin.IN, machine.Pin.PULL_DOWN) +button_c = machine.Pin(badger2040.BUTTON_C, machine.Pin.IN, machine.Pin.PULL_DOWN) +button_up = machine.Pin(badger2040.BUTTON_UP, machine.Pin.IN, machine.Pin.PULL_DOWN) +button_down = machine.Pin(badger2040.BUTTON_DOWN, machine.Pin.IN, machine.Pin.PULL_DOWN) + +# Early exit if a button is pressed +if button_a.value(): + sys.exit(0) + + +screen = badger2040.Badger2040() +screen.update_speed(1) + + +def render(): + screen.pen(15) + screen.clear() + screen.pen(0) + screen.thickness(2) + + max_icons = min(3, len(examples[(page * 3):])) + + for i in range(max_icons): + x = (14 + 80) * i + 14 + label = examples[i + (page * 3)].replace(".py", "") + screen.rectangle(x, 24, 80, 80) + screen.text(label, x, 24 + 80 + 10, 0.5) + + for i in range(MAX_PAGE): + x = 286 + y = int((128 / 2) - (MAX_PAGE * 10 / 2) + (i * 10)) + screen.pen(0) + screen.rectangle(x, y, 8, 8) + if page != i: + screen.pen(15) + screen.rectangle(x + 1, y + 1, 6, 6) + + screen.update() + + +def launch(file): + for k in locals().keys(): + if k not in ("gc", "file"): + del locals()[k] + gc.collect() + __import__(file) + + +def get_example(index): + try: + return examples[(page * 3) + index] + except IndexError: + return None + + +def button(pin): + global page + if pin == button_a: + example = get_example(0) + if example: launch(example) + if pin == button_b: + example = get_example(1) + if example: launch(example) + if pin == button_c: + example = get_example(2) + if example: launch(example) + if pin == button_up: + if page > 0: + page -= 1 + render() + if pin == button_down: + if page < MAX_PAGE - 1: + page += 1 + render() + + +button_a.irq(trigger=machine.Pin.IRQ_RISING, handler=button) +button_b.irq(trigger=machine.Pin.IRQ_RISING, handler=button) +button_c.irq(trigger=machine.Pin.IRQ_RISING, handler=button) +button_up.irq(trigger=machine.Pin.IRQ_RISING, handler=button) +button_down.irq(trigger=machine.Pin.IRQ_RISING, handler=button) + +render() + +while True: + time.sleep(1.0) + diff --git a/micropython/modules/badger2040/badger2040.c b/micropython/modules/badger2040/badger2040.c index 7d51a0af..8ad44ffd 100644 --- a/micropython/modules/badger2040/badger2040.c +++ b/micropython/modules/badger2040/badger2040.c @@ -45,7 +45,7 @@ STATIC const mp_rom_map_elem_t Badger2040_locals_dict_table[] = { { MP_ROM_QSTR(MP_QSTR_line), MP_ROM_PTR(&Badger2040_line_obj) }, { MP_ROM_QSTR(MP_QSTR_rectangle), MP_ROM_PTR(&Badger2040_rectangle_obj) }, - { MP_ROM_QSTR(MP_QSTR_glyph), MP_ROM_PTR(&Badger2040_glyph_obj) }, + //{ MP_ROM_QSTR(MP_QSTR_glyph), MP_ROM_PTR(&Badger2040_glyph_obj) }, { MP_ROM_QSTR(MP_QSTR_text), MP_ROM_PTR(&Badger2040_text_obj) }, { MP_ROM_QSTR(MP_QSTR_command), MP_ROM_PTR(&Badger2040_command_obj) }, @@ -71,6 +71,7 @@ STATIC const mp_map_elem_t badger2040_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_UPDATE_NORMAL), MP_ROM_INT(0) }, { MP_ROM_QSTR(MP_QSTR_UPDATE_FAST), MP_ROM_INT(1) }, { MP_ROM_QSTR(MP_QSTR_UPDATE_TURBO), MP_ROM_INT(2) }, + { MP_ROM_QSTR(MP_QSTR_UPDATE_SUPER_EXTRA_TURBO), MP_ROM_INT(3) }, { MP_ROM_QSTR(MP_QSTR_WIDTH), MP_ROM_INT(296) }, { MP_ROM_QSTR(MP_QSTR_HEIGHT), MP_ROM_INT(128) }, diff --git a/micropython/modules/badger2040/badger2040.cpp b/micropython/modules/badger2040/badger2040.cpp index c8c1dae6..eac674e7 100644 --- a/micropython/modules/badger2040/badger2040.cpp +++ b/micropython/modules/badger2040/badger2040.cpp @@ -122,6 +122,8 @@ MICROPY_EVENT_POLL_HOOK #endif } + self->badger2040->power_off(); + return mp_const_none; } @@ -161,6 +163,8 @@ MICROPY_EVENT_POLL_HOOK #endif } + self->badger2040->power_off(); + return mp_const_none; } @@ -279,14 +283,14 @@ mp_obj_t Badger2040_rectangle(size_t n_args, const mp_obj_t *pos_args, mp_map_t // image mp_obj_t Badger2040_glyph(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) { - enum { ARG_self, ARG_char, ARG_x, ARG_y, ARG_scale }; + enum { ARG_self, ARG_char, ARG_x, ARG_y, ARG_scale, ARG_rotation }; static const mp_arg_t allowed_args[] = { { MP_QSTR_, MP_ARG_REQUIRED | MP_ARG_OBJ }, { MP_QSTR_char, MP_ARG_REQUIRED | MP_ARG_INT }, { MP_QSTR_x, MP_ARG_REQUIRED | MP_ARG_INT }, { MP_QSTR_y, MP_ARG_REQUIRED | MP_ARG_INT }, - { MP_QSTR_scale, MP_ARG_OBJ, {.u_obj = mp_obj_new_float(1.0f)} }, - { MP_QSTR_rotation, MP_ARG_OBJ, {.u_obj = mp_obj_new_float(0.0f)} } + { MP_QSTR_scale, MP_ARG_OBJ, {.u_obj = mp_const_none} }, + { MP_QSTR_rotation, MP_ARG_OBJ, {.u_obj = mp_const_none} } }; // Parse args. @@ -296,10 +300,17 @@ mp_obj_t Badger2040_glyph(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_ int c = args[ARG_char].u_int; int x = args[ARG_x].u_int; int y = args[ARG_y].u_int; - float scale = mp_obj_get_float(args[ARG_scale].u_obj); + float scale = 1.0f; + if (args[ARG_scale].u_obj != mp_const_none) { + scale = mp_obj_get_float(args[ARG_scale].u_obj); + } + float rotation = 0.0f; + if (args[ARG_rotation].u_obj != mp_const_none) { + rotation = mp_obj_get_float(args[ARG_rotation].u_obj); + } _Badger2040_obj_t *self = MP_OBJ_TO_PTR2(args[ARG_self].u_obj, _Badger2040_obj_t); - self->badger2040->glyph(c, x, y, scale); + self->badger2040->glyph(c, x, y, scale, rotation); return mp_const_none; } @@ -311,8 +322,8 @@ mp_obj_t Badger2040_text(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_a { MP_QSTR_message, MP_ARG_REQUIRED | MP_ARG_OBJ }, { MP_QSTR_x, MP_ARG_REQUIRED | MP_ARG_INT }, { MP_QSTR_y, MP_ARG_REQUIRED | MP_ARG_INT }, - { MP_QSTR_scale, MP_ARG_OBJ, {.u_obj = mp_obj_new_float(1.0f)} }, - { MP_QSTR_rotation, MP_ARG_OBJ, {.u_obj = mp_obj_new_float(0.0f)} } + { MP_QSTR_scale, MP_ARG_OBJ, {.u_obj = mp_const_none} }, + { MP_QSTR_rotation, MP_ARG_OBJ, {.u_obj = mp_const_none} } }; // Parse args. @@ -322,8 +333,14 @@ mp_obj_t Badger2040_text(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_a std::string message = mp_obj_to_string_r(args[ARG_message].u_obj); int x = args[ARG_x].u_int; int y = args[ARG_y].u_int; - float scale = mp_obj_get_float(args[ARG_scale].u_obj); - float rotation = mp_obj_get_float(args[ARG_rotation].u_obj); + float scale = 1.0f; + if (args[ARG_scale].u_obj != mp_const_none) { + scale = mp_obj_get_float(args[ARG_scale].u_obj); + } + float rotation = 0.0f; + if (args[ARG_rotation].u_obj != mp_const_none) { + rotation = mp_obj_get_float(args[ARG_rotation].u_obj); + } _Badger2040_obj_t *self = MP_OBJ_TO_PTR2(args[ARG_self].u_obj, _Badger2040_obj_t); self->badger2040->text(message, x, y, scale, rotation);