diff --git a/IO.hpp b/IO.hpp index 1845991..48c2fef 100644 --- a/IO.hpp +++ b/IO.hpp @@ -318,8 +318,6 @@ class IO { //m1_speed = static_cast(m_speed + 2 * correction); } - Serial.printf(">Actual Angle: %f\n", actual_angle); - m_motors[0].setSpeed(m1_speed); m_motors[1].setSpeed(m2_speed); } diff --git a/Main.ino b/Main.ino index a0d1f88..83eebc7 100644 --- a/Main.ino +++ b/Main.ino @@ -4,10 +4,9 @@ */ #include "IO.hpp" -#include "Ressources.hpp" // Unit tests activation -//#define UNIT_TESTS +#define UNIT_TESTS /* Etapes : @@ -79,10 +78,14 @@ void loop() { my_IO.update(); - Serial.printf("Is Ta Mere Selected : %d\n", my_IO.isSelectedColorBlue()); - Serial.printf("Is Tirette Pulled : %d\n", my_IO.isTirettePulled()); + //Serial.printf("Is Ta Mere Selected : %d\n", my_IO.isSelectedColorBlue()); + //Serial.printf("Is Tirette Pulled : %d\n", my_IO.isTirettePulled()); - my_IO.startDancingAction(); + //my_IO.startDancingAction(); + + //my_IO.motorControlOn(); + //my_IO.setSpeed(2048); + //my_IO.setDirWithAngularSpeed(90); } #else @@ -116,7 +119,7 @@ void loop() my_IO.motorControlOn(); my_IO.setSpeed(2048.0f); - if(my_IO.getAngle(Axes::Y) < -5) + if(my_IO.getAngle(Axes::Y) < -5.0f) { actual_state = State::ForwardToScene; } @@ -127,41 +130,41 @@ void loop() if(my_IO.getAngle(Axes::Y) > -5.0f) { - //actual_state = my_IO.isSelectedColorBlue() ? State::Turn90Blue : State::Turn90Yellow; - actual_state = State::Dancing; + actual_state = my_IO.isSelectedColorBlue() ? State::Turn90Blue : State::Turn90Yellow; + //actual_state = State::Dancing; } break; case State::Turn90Blue: my_IO.setDirWithAngularSpeed(90.0f); - if(my_IO.getAngle(Axes::Z) > 90.0f) + if(my_IO.getAngle(Axes::Z) >= 88.0f) { actual_state = State::ForwardToSceneEdge; } break; case State::Turn90Yellow: - my_IO.setDirWithAngularSpeed(-90); + my_IO.setDirWithAngularSpeed(-90.0f); - if(my_IO.getAngle(Axes::Z) < -90) + if(my_IO.getAngle(Axes::Z) < -88.0f) { actual_state = State::ForwardToSceneEdge; } break; case State::ForwardToSceneEdge: - my_IO.setSpeed(2048); + my_IO.setSpeed(2048.0f); - if(my_IO.getAngle(Axes::Y) < 2) + if(my_IO.getAngle(Axes::Y) > 1.0f) { actual_state = State::Dancing; } break; case State::Dancing: - my_IO.setSpeed(0); my_IO.motorControlOff(); + my_IO.setSpeed(0.0f); my_IO.startDancingAction(); break; } diff --git a/Ressources.hpp b/Ressources.hpp index dd80fd4..a506915 100644 --- a/Ressources.hpp +++ b/Ressources.hpp @@ -68,5 +68,427 @@ namespace Res 0x01, 0xe0, 0x00, 0x00, 0x00, 0x40, 0x20, 0x00, 0x80, 0x00, 0x00, 0x00, 0x3f, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xe0, 0x00, 0x00, 0x00 }; + + const unsigned char diable_gaga [] PROGMEM = { + 0x00, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x81, 0xfe, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x87, 0x03, 0x81, 0x80, 0x18, 0x00, 0x00, 0x00, + 0x00, 0x04, 0x9c, 0x00, 0xe1, 0x40, 0x18, 0x00, 0x00, 0x00, 0x00, 0x04, 0xb0, 0x00, 0x32, 0x40, + 0x28, 0x80, 0x00, 0x00, 0x00, 0x04, 0xe0, 0x00, 0x1a, 0x40, 0x28, 0x80, 0x00, 0x00, 0x00, 0x04, + 0x60, 0x00, 0x0e, 0x40, 0x49, 0x80, 0x00, 0x00, 0x00, 0x04, 0x40, 0x00, 0x04, 0x40, 0x51, 0x80, + 0x00, 0x00, 0x00, 0x06, 0x80, 0x00, 0x02, 0xc1, 0x53, 0x80, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, + 0x03, 0x83, 0x52, 0x80, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x01, 0x07, 0x54, 0x80, 0x00, 0x00, + 0x00, 0x02, 0x00, 0x00, 0x01, 0x8d, 0x54, 0x80, 0x00, 0x00, 0x00, 0x02, 0x38, 0x00, 0x38, 0x8d, + 0x55, 0x80, 0x00, 0x00, 0x00, 0x02, 0x78, 0x00, 0x7c, 0x99, 0x55, 0x00, 0x00, 0x00, 0x00, 0x02, + 0x6c, 0x00, 0xe4, 0x8a, 0x55, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x44, 0x01, 0xc4, 0xea, 0xa5, 0x00, + 0x00, 0x00, 0x01, 0xcb, 0x06, 0x01, 0x81, 0x2a, 0xaa, 0x00, 0x00, 0x00, 0x03, 0xe9, 0x0e, 0x01, + 0xc1, 0x2a, 0xaa, 0x00, 0x00, 0x00, 0x06, 0x29, 0x89, 0x02, 0x63, 0x54, 0xaa, 0x00, 0x00, 0x00, + 0x04, 0x24, 0x9a, 0x85, 0x22, 0x54, 0xb6, 0x00, 0x00, 0x00, 0x04, 0x24, 0x93, 0x5b, 0x22, 0xd7, + 0xdc, 0x00, 0x00, 0x00, 0x0c, 0x26, 0x90, 0x78, 0x22, 0x50, 0x78, 0x00, 0x00, 0x00, 0x08, 0x24, + 0x88, 0x8c, 0x42, 0xdf, 0x40, 0x00, 0x00, 0x01, 0xe8, 0x27, 0x87, 0x6b, 0x83, 0x81, 0x40, 0x00, + 0x00, 0x03, 0x38, 0x23, 0x00, 0x38, 0x01, 0x81, 0x40, 0x00, 0x00, 0x02, 0x28, 0x43, 0x04, 0x00, + 0x81, 0x81, 0x40, 0x00, 0x00, 0x02, 0x28, 0x43, 0x06, 0x01, 0x80, 0x82, 0x80, 0x00, 0x00, 0x01, + 0xe8, 0xf9, 0x03, 0xff, 0x00, 0x82, 0x80, 0x00, 0x00, 0x00, 0xc8, 0xcd, 0xc0, 0x00, 0x01, 0x82, + 0x80, 0x00, 0x00, 0x00, 0x88, 0x84, 0x78, 0x00, 0x7f, 0x02, 0x80, 0x00, 0x00, 0x00, 0x88, 0x86, + 0x1f, 0xff, 0xf8, 0x02, 0x80, 0x00, 0x00, 0x01, 0x01, 0x07, 0xcf, 0xff, 0x00, 0x05, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x07, 0xf8, 0x02, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x80, 0x0c, 0x00, 0x01, + 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x04, 0x10, 0x00, 0x80, 0x05, 0x00, 0x00, 0x00, 0x00, + 0xe0, 0x04, 0x30, 0x11, 0xc0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x24, 0x04, 0x60, 0x11, 0x40, 0x6f, + 0x00, 0x00, 0x00, 0x00, 0x3e, 0x0f, 0xc0, 0x09, 0xe0, 0xff, 0x80, 0x00, 0x00, 0x0f, 0x0f, 0xf8, + 0x80, 0x08, 0xb9, 0x98, 0x80, 0x00, 0x00, 0x3f, 0xc1, 0xe1, 0x80, 0x10, 0xdf, 0x08, 0x80, 0x00, + 0x00, 0x30, 0x70, 0x02, 0x80, 0x00, 0xc3, 0x8f, 0x80, 0x00, 0x00, 0x21, 0x18, 0x04, 0xc0, 0x40, + 0x41, 0xd1, 0x80, 0x00, 0x00, 0x23, 0xc4, 0x02, 0x60, 0x40, 0x60, 0xb1, 0x80, 0x00, 0x00, 0x23, + 0x63, 0x04, 0x30, 0x00, 0x58, 0xdf, 0x00, 0x00, 0x00, 0x19, 0x99, 0xf8, 0x0e, 0x03, 0x8f, 0x91, + 0x00, 0x00, 0x00, 0x0c, 0xcc, 0x3e, 0x03, 0xfc, 0x30, 0xff, 0x00, 0x00, 0x00, 0x06, 0x67, 0x0f, + 0x00, 0x80, 0x10, 0x7e, 0x00, 0x00, 0x00, 0x01, 0x31, 0xf8, 0x80, 0x80, 0x38, 0x28, 0x00, 0x00, + 0x00, 0x00, 0x90, 0x18, 0x40, 0x00, 0x8c, 0x28, 0x00, 0x00, 0x00, 0x00, 0x50, 0x10, 0x20, 0x01, + 0x06, 0x28, 0x00, 0x00, 0x00, 0x60, 0x58, 0x10, 0x30, 0x02, 0x02, 0x28, 0x00, 0x00, 0x01, 0xa0, + 0x58, 0x10, 0x78, 0x07, 0x02, 0x28, 0x00, 0x00, 0x07, 0x60, 0xd0, 0x10, 0xc7, 0xf9, 0x86, 0x68, + 0x00, 0x00, 0x0c, 0xc3, 0xb0, 0x10, 0x80, 0x00, 0x84, 0x48, 0x00, 0x00, 0x38, 0xfe, 0x60, 0x18, + 0x40, 0x01, 0x0c, 0x48, 0x00, 0x00, 0xc0, 0x01, 0xc0, 0x7c, 0x70, 0x03, 0x08, 0x48, 0x00, 0x00, + 0xf0, 0xff, 0x01, 0x80, 0x10, 0x04, 0x1e, 0x48, 0x00, 0x00, 0x3c, 0xc0, 0x01, 0x00, 0xf0, 0x04, + 0x33, 0x48, 0x00, 0x00, 0x07, 0x60, 0x01, 0x41, 0xe0, 0x04, 0x00, 0xc8, 0x00, 0x00, 0x01, 0xe0, + 0x01, 0xa1, 0x80, 0x03, 0xc1, 0xf8, 0x00, 0x00, 0x00, 0x60, 0x00, 0xdf, 0x00, 0x00, 0x42, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, + 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00 + }; + } + + namespace Fonts + { + const uint8_t Freshman12pt7bBitmaps[] PROGMEM = { + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0xFF, + 0xFF, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x0F, 0x3C, 0x03, 0xCF, 0x00, + 0xF3, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x3C, + 0xF0, 0x0F, 0x3C, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xC3, 0xCF, 0x00, 0xF3, 0xC0, 0x3C, 0xF0, 0x07, 0xC0, 0x0F, 0x80, 0x7F, + 0xC1, 0xFF, 0xC7, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0xFE, 0x00, 0xFF, 0xF0, + 0xFF, 0xF0, 0xFF, 0xF0, 0xFF, 0xF0, 0x03, 0xFF, 0x87, 0xFF, 0x0F, 0xFF, + 0xFF, 0x7F, 0xFC, 0x7F, 0xF0, 0x7F, 0xC0, 0x3E, 0x00, 0xFF, 0xFF, 0xC0, + 0x00, 0x60, 0x00, 0x30, 0x00, 0x18, 0x00, 0x0C, 0x00, 0x06, 0x00, 0x03, + 0x00, 0x01, 0x80, 0x00, 0xC0, 0x00, 0x60, 0x00, 0x30, 0x00, 0x18, 0x00, + 0x0C, 0x00, 0x06, 0x00, 0x03, 0x00, 0x01, 0x80, 0x00, 0xC0, 0x00, 0x60, + 0x00, 0x3F, 0xFF, 0xF0, 0x07, 0x80, 0x7F, 0x83, 0xFF, 0x1F, 0xFE, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x1F, 0xF8, 0x03, 0xFC, 0x07, 0xF0, 0x3F, + 0xC0, 0xFF, 0x03, 0xE1, 0xFF, 0x87, 0xFF, 0xFF, 0x7F, 0xF8, 0xFF, 0xC1, + 0xFE, 0x01, 0xE0, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xC0, 0x00, 0x60, 0x00, + 0x30, 0x00, 0x18, 0x00, 0x0C, 0x00, 0x06, 0x00, 0x03, 0x00, 0x01, 0x80, + 0x00, 0xC0, 0x00, 0x60, 0x00, 0x30, 0x00, 0x18, 0x00, 0x0C, 0x00, 0x06, + 0x00, 0x03, 0x00, 0x01, 0x80, 0x00, 0xC0, 0x00, 0x60, 0x00, 0x3F, 0xFF, + 0xF0, 0xFF, 0xFF, 0xC0, 0x00, 0x60, 0x00, 0x30, 0x00, 0x18, 0x00, 0x0C, + 0x00, 0x06, 0x00, 0x03, 0x00, 0x01, 0x80, 0x00, 0xC0, 0x00, 0x60, 0x00, + 0x30, 0x00, 0x18, 0x00, 0x0C, 0x00, 0x06, 0x00, 0x03, 0x00, 0x01, 0x80, + 0x00, 0xC0, 0x00, 0x60, 0x00, 0x3F, 0xFF, 0xF0, 0xFF, 0xFF, 0xC0, 0x00, + 0x60, 0x00, 0x30, 0x00, 0x18, 0x00, 0x0C, 0x00, 0x06, 0x00, 0x03, 0x00, + 0x01, 0x80, 0x00, 0xC0, 0x00, 0x60, 0x00, 0x30, 0x00, 0x18, 0x00, 0x0C, + 0x00, 0x06, 0x00, 0x03, 0x00, 0x01, 0x80, 0x00, 0xC0, 0x00, 0x60, 0x00, + 0x3F, 0xFF, 0xF0, 0xFF, 0xFF, 0xC0, 0x00, 0x60, 0x00, 0x30, 0x00, 0x18, + 0x00, 0x0C, 0x00, 0x06, 0x00, 0x03, 0x00, 0x01, 0x80, 0x00, 0xC0, 0x00, + 0x60, 0x00, 0x30, 0x00, 0x18, 0x00, 0x0C, 0x00, 0x06, 0x00, 0x03, 0x00, + 0x01, 0x80, 0x00, 0xC0, 0x00, 0x60, 0x00, 0x3F, 0xFF, 0xF0, 0xFF, 0xFF, + 0xF3, 0x10, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0x80, 0x00, 0x7E, 0x00, 0xF8, 0x01, 0xF0, 0x07, 0xC0, 0x0F, 0x80, 0x3E, + 0x00, 0x7C, 0x01, 0xF0, 0x03, 0xE0, 0x0F, 0x80, 0x1F, 0x00, 0x7E, 0x00, + 0xF8, 0x03, 0xF0, 0x07, 0xC0, 0x1F, 0x80, 0x3E, 0x00, 0xFC, 0x01, 0xF0, + 0x07, 0xE0, 0x00, 0x1F, 0xF0, 0x7F, 0xF1, 0xFF, 0xF7, 0xFF, 0xFF, 0x87, + 0xFF, 0x0F, 0xFE, 0x1F, 0xFC, 0x3F, 0xF8, 0x7F, 0xF0, 0xFF, 0xE1, 0xFF, + 0xC3, 0xFF, 0x87, 0xFF, 0x0F, 0xFE, 0x1F, 0xFC, 0x3F, 0xFF, 0xFE, 0xFF, + 0xF8, 0xFF, 0xE0, 0xFF, 0x80, 0x1F, 0x0F, 0xC7, 0xF3, 0xFC, 0xFF, 0x3F, + 0xCF, 0xF0, 0xFC, 0x3F, 0x0F, 0xC3, 0xF0, 0xFC, 0x3F, 0x0F, 0xC3, 0xF0, + 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0xE1, 0xFF, 0xCF, 0xFF, 0xBF, + 0xFF, 0xF8, 0xFF, 0xE3, 0xFF, 0x8F, 0xC0, 0x7F, 0x03, 0xFC, 0x1F, 0xE0, + 0xFF, 0x07, 0xF8, 0x3F, 0xC1, 0xFE, 0x07, 0xF0, 0x3F, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0xF0, 0xFF, 0xF3, 0xFF, 0xF7, 0xFF, + 0xFF, 0x87, 0xFF, 0x0F, 0xC0, 0x1F, 0x80, 0x3F, 0x00, 0x7E, 0x07, 0xFC, + 0x0F, 0xF0, 0x1F, 0xF0, 0x3F, 0xE0, 0x0F, 0xFE, 0x1F, 0xFC, 0x3F, 0xFF, + 0xFF, 0xFF, 0xF9, 0xFF, 0xE0, 0xFF, 0x80, 0x01, 0xF8, 0x07, 0xF0, 0x0F, + 0xE0, 0x3F, 0xC0, 0xFF, 0x83, 0xFF, 0x0F, 0xFE, 0x3F, 0xFC, 0xFD, 0xF9, + 0xF3, 0xF3, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x3E, 0x00, + 0x7C, 0x03, 0xFC, 0x07, 0xF8, 0x0F, 0xF0, 0x1F, 0xE0, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0x1F, 0x00, 0x3E, 0x00, 0x7F, 0xF8, + 0x7F, 0xF8, 0x7F, 0xF8, 0xFF, 0xF8, 0x03, 0xF0, 0x07, 0xFF, 0x0F, 0xFE, + 0x1F, 0xFC, 0x3F, 0xFF, 0xFE, 0xFF, 0xF8, 0xFF, 0xE0, 0xFF, 0x80, 0x1F, + 0xF0, 0x7F, 0xF1, 0xFF, 0xF7, 0xFF, 0xFF, 0x87, 0xFF, 0x0F, 0xFE, 0x1F, + 0xFC, 0x00, 0xF8, 0x01, 0xFF, 0xE3, 0xFF, 0xE7, 0xFF, 0xEF, 0xFF, 0xFF, + 0x0F, 0xFE, 0x1F, 0xFC, 0x3F, 0xFF, 0xFE, 0xFF, 0xF8, 0xFF, 0xE0, 0xFF, + 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xFF, 0xC3, 0xF0, + 0x0F, 0xC0, 0x7E, 0x01, 0xF8, 0x07, 0xC0, 0x3F, 0x00, 0xFC, 0x03, 0xE0, + 0x1F, 0x80, 0x7E, 0x01, 0xF0, 0x0F, 0xC0, 0x3F, 0x01, 0xF8, 0x07, 0xE0, + 0x1F, 0xF0, 0x7F, 0xF1, 0xFF, 0xF7, 0xFF, 0xFF, 0xC3, 0xFF, 0x87, 0xFF, + 0x0F, 0xFE, 0x1F, 0xFC, 0x3E, 0xFF, 0xFD, 0xFF, 0xF7, 0xFF, 0xFF, 0xFF, + 0xFF, 0x87, 0xFF, 0x0F, 0xFE, 0x1F, 0xFF, 0xFE, 0xFF, 0xFC, 0xFF, 0xF0, + 0xFF, 0xC0, 0x1F, 0xF8, 0xFF, 0xFB, 0xFF, 0xFF, 0xFF, 0xFF, 0x83, 0xFF, + 0x07, 0xFE, 0x0F, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFC, 0x7F, 0xF8, 0x01, + 0xF0, 0x03, 0xFF, 0x07, 0xFE, 0x0F, 0xFC, 0x1F, 0xFF, 0xFE, 0xFF, 0xFC, + 0xFF, 0xF0, 0xFF, 0xC0, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x0F, + 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFF, + 0x31, 0x00, 0xFF, 0xFF, 0xC0, 0x00, 0x60, 0x00, 0x30, 0x00, 0x18, 0x00, + 0x0C, 0x00, 0x06, 0x00, 0x03, 0x00, 0x01, 0x80, 0x00, 0xC0, 0x00, 0x60, + 0x00, 0x30, 0x00, 0x18, 0x00, 0x0C, 0x00, 0x06, 0x00, 0x03, 0x00, 0x01, + 0x80, 0x00, 0xC0, 0x00, 0x60, 0x00, 0x3F, 0xFF, 0xF0, 0xFF, 0xFF, 0xC0, + 0x00, 0x60, 0x00, 0x30, 0x00, 0x18, 0x00, 0x0C, 0x00, 0x06, 0x00, 0x03, + 0x00, 0x01, 0x80, 0x00, 0xC0, 0x00, 0x60, 0x00, 0x30, 0x00, 0x18, 0x00, + 0x0C, 0x00, 0x06, 0x00, 0x03, 0x00, 0x01, 0x80, 0x00, 0xC0, 0x00, 0x60, + 0x00, 0x3F, 0xFF, 0xF0, 0xFF, 0xFF, 0xC0, 0x00, 0x60, 0x00, 0x30, 0x00, + 0x18, 0x00, 0x0C, 0x00, 0x06, 0x00, 0x03, 0x00, 0x01, 0x80, 0x00, 0xC0, + 0x00, 0x60, 0x00, 0x30, 0x00, 0x18, 0x00, 0x0C, 0x00, 0x06, 0x00, 0x03, + 0x00, 0x01, 0x80, 0x00, 0xC0, 0x00, 0x60, 0x00, 0x3F, 0xFF, 0xF0, 0x1F, + 0xE1, 0xFF, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x7F, 0xE3, 0xE0, 0x3F, + 0x03, 0xF8, 0x3F, 0x83, 0xF8, 0x1F, 0x80, 0xFC, 0x07, 0xE0, 0x00, 0x00, + 0x00, 0x0F, 0xC0, 0x7E, 0x03, 0xF0, 0x1F, 0x80, 0xFF, 0xFF, 0xC0, 0x00, + 0x60, 0x00, 0x30, 0x00, 0x18, 0x00, 0x0C, 0x00, 0x06, 0x00, 0x03, 0x00, + 0x01, 0x80, 0x00, 0xC0, 0x00, 0x60, 0x00, 0x30, 0x00, 0x18, 0x00, 0x0C, + 0x00, 0x06, 0x00, 0x03, 0x00, 0x01, 0x80, 0x00, 0xC0, 0x00, 0x60, 0x00, + 0x3F, 0xFF, 0xF0, 0x07, 0xFE, 0x00, 0x7F, 0xE0, 0x07, 0xFE, 0x00, 0x7F, + 0xE0, 0x07, 0xFC, 0x00, 0x7F, 0xE0, 0x07, 0xFE, 0x00, 0xFF, 0xE0, 0x0F, + 0xFF, 0x01, 0xFF, 0xF0, 0x1F, 0x9F, 0x01, 0xFF, 0xF8, 0x3F, 0xFF, 0x83, + 0xFF, 0xF8, 0x3F, 0xFF, 0xC7, 0xE0, 0xFC, 0xFF, 0x07, 0xFF, 0xF0, 0x7F, + 0xFF, 0x07, 0xFF, 0xF0, 0x7F, 0xFF, 0xF9, 0xFF, 0xF3, 0xFF, 0xF7, 0xFF, + 0xF7, 0xE3, 0xEF, 0xC7, 0xDF, 0x8F, 0xBF, 0x1F, 0x7F, 0xFE, 0xFF, 0xF9, + 0xFF, 0xF3, 0xFF, 0xF7, 0xE3, 0xEF, 0xC7, 0xDF, 0x8F, 0xBF, 0x1F, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0xFF, 0xC0, 0x1F, 0xF0, 0x7F, 0xF1, 0xFF, + 0xF7, 0xFF, 0xFF, 0x87, 0xFF, 0x0F, 0xFE, 0x1F, 0xFC, 0x3F, 0xF8, 0x01, + 0xF0, 0x03, 0xE0, 0x07, 0xC0, 0x0F, 0x80, 0x1F, 0x0F, 0xFE, 0x1F, 0xFC, + 0x3F, 0xFF, 0xFE, 0xFF, 0xF8, 0xFF, 0xE0, 0xFF, 0x80, 0xFF, 0xF9, 0xFF, + 0xFB, 0xFF, 0xFF, 0xFF, 0xF7, 0xE3, 0xEF, 0xC7, 0xDF, 0x8F, 0xBF, 0x1F, + 0x7E, 0x3E, 0xFC, 0x7D, 0xF8, 0xFB, 0xF1, 0xF7, 0xE3, 0xEF, 0xC7, 0xDF, + 0x8F, 0xBF, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0xFF, 0xC0, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7E, 0x3D, 0xF8, 0xF7, 0xE0, 0x1F, + 0x80, 0x7E, 0xF1, 0xFF, 0xC7, 0xFF, 0x1F, 0xFC, 0x7F, 0xF1, 0xF8, 0x07, + 0xE0, 0x1F, 0x8F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7E, 0x3D, 0xF8, 0xF7, 0xE0, 0x1F, 0x80, + 0x7E, 0xF1, 0xFF, 0xC7, 0xFF, 0x1F, 0xFC, 0x7F, 0xF1, 0xFB, 0xC7, 0xE0, + 0x1F, 0x80, 0xFF, 0x83, 0xFE, 0x0F, 0xF8, 0x3F, 0xE0, 0x1F, 0xF0, 0x7F, + 0xF1, 0xFF, 0xF7, 0xFF, 0xFF, 0x87, 0xFF, 0x0F, 0xFE, 0x1F, 0xFC, 0x3F, + 0xF8, 0x01, 0xF1, 0xFF, 0xE3, 0xFF, 0xC7, 0xFF, 0x8F, 0xFF, 0x0F, 0xFE, + 0x1F, 0xFC, 0x3F, 0xFF, 0xFE, 0xFF, 0xF8, 0xFF, 0xE0, 0xFF, 0x80, 0xFF, + 0x7F, 0xFF, 0xBF, 0xFF, 0xDF, 0xFF, 0xEF, 0xF7, 0xC3, 0xF3, 0xE1, 0xF9, + 0xF0, 0xFC, 0xFF, 0xFE, 0x7F, 0xFF, 0x3F, 0xFF, 0x9F, 0xFF, 0xCF, 0xFF, + 0xE7, 0xFF, 0xF3, 0xE1, 0xF9, 0xF0, 0xFC, 0xF8, 0x7E, 0xFF, 0x7F, 0xFF, + 0xBF, 0xFF, 0xDF, 0xFF, 0xEF, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0x7E, 0x7E, + 0x7E, 0x7E, 0x7E, 0x7E, 0x7E, 0x7E, 0x7E, 0x7E, 0x7E, 0x7E, 0xFF, 0xFF, + 0xFF, 0xFF, 0x03, 0xFE, 0x07, 0xFC, 0x0F, 0xF8, 0x1F, 0xF0, 0x0F, 0x80, + 0x1F, 0x00, 0x3E, 0x00, 0x7C, 0x00, 0xF8, 0x01, 0xF0, 0x03, 0xE0, 0x07, + 0xC0, 0x0F, 0x9F, 0x1F, 0x3E, 0x3E, 0x7C, 0x7C, 0xFF, 0xF9, 0xFF, 0xF1, + 0xFF, 0xC0, 0xFF, 0x00, 0xFF, 0x7F, 0xFF, 0xDF, 0xFF, 0xF7, 0xFF, 0xFD, + 0xFF, 0x7E, 0x7F, 0x1F, 0xBF, 0x87, 0xFF, 0xC1, 0xFF, 0xE0, 0x7F, 0xF0, + 0x1F, 0xFC, 0x07, 0xFF, 0x01, 0xFF, 0xE0, 0x7F, 0xF8, 0x1F, 0xFF, 0x07, + 0xEF, 0xE1, 0xF9, 0xFC, 0xFF, 0x7F, 0xFF, 0xDF, 0xFF, 0xF7, 0xFF, 0xFD, + 0xFF, 0xFF, 0x03, 0xFC, 0x0F, 0xF0, 0x3F, 0xC0, 0x7C, 0x01, 0xF0, 0x07, + 0xC0, 0x1F, 0x00, 0x7C, 0x01, 0xF0, 0x07, 0xC0, 0x1F, 0x00, 0x7C, 0x01, + 0xF0, 0x07, 0xC0, 0x1F, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFE, 0x01, 0xFF, 0xF8, 0x0F, 0xFF, 0xF0, 0x3F, 0xFF, 0xC1, 0xFF, 0x7F, + 0x87, 0xF1, 0xFE, 0x3F, 0xC7, 0xFC, 0xFF, 0x1F, 0xFF, 0xFC, 0x7F, 0xFF, + 0xF1, 0xFF, 0xFF, 0xC7, 0xFF, 0xFF, 0x1F, 0xFF, 0xFC, 0x7F, 0xFD, 0xF1, + 0xFB, 0xF7, 0xC7, 0xE7, 0x9F, 0x1F, 0x9C, 0x7C, 0xFF, 0x33, 0xFF, 0xFC, + 0x8F, 0xFF, 0xF0, 0x3F, 0xFF, 0xC0, 0xFF, 0xFE, 0x1F, 0xFF, 0x87, 0xFF, + 0xF1, 0xFF, 0xFC, 0x7F, 0x7F, 0x8F, 0x9F, 0xF3, 0xE7, 0xFC, 0xF9, 0xFF, + 0xBE, 0x7F, 0xEF, 0x9F, 0xFF, 0xE7, 0xFF, 0xF9, 0xFF, 0xFE, 0x7F, 0xFF, + 0x9F, 0xBF, 0xE7, 0xEF, 0xF9, 0xF9, 0xFE, 0xFF, 0x7F, 0xFF, 0xCF, 0xFF, + 0xF1, 0xFF, 0xFC, 0x7F, 0x1F, 0xF0, 0x7F, 0xF1, 0xFF, 0xF7, 0xFF, 0xFF, + 0x87, 0xFF, 0x0F, 0xFE, 0x1F, 0xFC, 0x3F, 0xF8, 0x7F, 0xF0, 0xFF, 0xE1, + 0xFF, 0xC3, 0xFF, 0x87, 0xFF, 0x0F, 0xFE, 0x1F, 0xFC, 0x3F, 0xFF, 0xFE, + 0xFF, 0xF8, 0xFF, 0xE0, 0xFF, 0x80, 0xFF, 0xF9, 0xFF, 0xF3, 0xFF, 0xF7, + 0xFF, 0xF7, 0xE3, 0xEF, 0xC7, 0xDF, 0x8F, 0xBF, 0x1F, 0x7E, 0x3E, 0xFF, + 0xFD, 0xFF, 0xF3, 0xFF, 0xE7, 0xFF, 0x8F, 0xC0, 0x1F, 0x80, 0x3F, 0x00, + 0xFF, 0x01, 0xFE, 0x03, 0xFC, 0x07, 0xF8, 0x00, 0x1F, 0xF0, 0x1F, 0xFC, + 0x1F, 0xFF, 0x1F, 0xFF, 0xCF, 0x87, 0xE7, 0xC3, 0xF3, 0xE1, 0xF9, 0xF0, + 0xFC, 0xF8, 0x7E, 0x7C, 0x7F, 0x3E, 0x7F, 0x9F, 0x7F, 0xCF, 0x9F, 0xE7, + 0xCF, 0xF3, 0xE3, 0xF9, 0xF0, 0xFE, 0xFF, 0xFF, 0xBF, 0xFF, 0x8F, 0xFF, + 0x83, 0xFE, 0x00, 0xFF, 0xF8, 0xFF, 0xFC, 0xFF, 0xFC, 0xFF, 0xFE, 0x7E, + 0x3E, 0x7E, 0x3E, 0x7E, 0x3E, 0x7E, 0x3E, 0x7F, 0xFE, 0x7F, 0xFC, 0x7F, + 0xFC, 0x7F, 0xFE, 0x7E, 0x3E, 0x7E, 0x3E, 0x7E, 0x3E, 0x7E, 0x3E, 0xFF, + 0x3F, 0xFF, 0x3F, 0xFF, 0x3F, 0xFF, 0x3F, 0x1F, 0xF0, 0x7F, 0xF1, 0xFF, + 0xF7, 0xFF, 0xFF, 0x87, 0xFF, 0x0F, 0xFE, 0x1F, 0xFC, 0x3F, 0xF8, 0x01, + 0xFF, 0xE1, 0xFF, 0xE1, 0xFF, 0xE3, 0xFF, 0xE0, 0x0F, 0xFE, 0x1F, 0xFC, + 0x3F, 0xFF, 0xFF, 0xFF, 0xF9, 0xFF, 0xE1, 0xFF, 0x80, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x7F, 0xBF, 0xBC, 0x1F, 0xC0, + 0x0F, 0xE0, 0x07, 0xF0, 0x03, 0xF8, 0x01, 0xFC, 0x00, 0xFE, 0x00, 0x7F, + 0x00, 0x3F, 0x80, 0x1F, 0xC0, 0x0F, 0xE0, 0x0F, 0xF0, 0x07, 0xF8, 0x03, + 0xFC, 0x01, 0xFE, 0x00, 0xFF, 0x3F, 0xFF, 0x9F, 0xFF, 0xCF, 0xFF, 0xE7, + 0xF7, 0xE1, 0xF3, 0xF0, 0xF9, 0xF8, 0x7C, 0xFC, 0x3E, 0x7E, 0x1F, 0x3F, + 0x0F, 0x9F, 0x87, 0xCF, 0xC3, 0xE7, 0xE1, 0xF3, 0xF0, 0xF9, 0xF8, 0x7C, + 0xFC, 0x3E, 0x7F, 0xFF, 0x1F, 0xFF, 0x07, 0xFF, 0x01, 0xFF, 0x00, 0xFF, + 0x1F, 0xFF, 0xE3, 0xFF, 0xFC, 0x7F, 0xFF, 0x8F, 0xF3, 0xE1, 0xF8, 0x7C, + 0x3F, 0x0F, 0xCF, 0xE0, 0xF9, 0xF8, 0x1F, 0x3F, 0x03, 0xFF, 0xE0, 0x7F, + 0xF8, 0x07, 0xFF, 0x00, 0xFF, 0xE0, 0x1F, 0xF8, 0x01, 0xFF, 0x00, 0x3F, + 0xE0, 0x0F, 0xFE, 0x01, 0xFF, 0xC0, 0x3F, 0xF8, 0x07, 0xFF, 0x00, 0xFF, + 0x1F, 0xF1, 0xFF, 0xFE, 0x3F, 0xE3, 0xFF, 0xFC, 0x7F, 0xC7, 0xFF, 0xF8, + 0xFF, 0x8F, 0xF3, 0xE1, 0xFF, 0x0F, 0x87, 0xC3, 0xFE, 0x1F, 0x0F, 0xCF, + 0xFE, 0x7E, 0x0F, 0x9F, 0xFC, 0xF8, 0x1F, 0x3F, 0xF9, 0xF0, 0x3F, 0xFF, + 0xFF, 0xE0, 0x7F, 0xFF, 0xFF, 0x80, 0x7F, 0xF7, 0xFF, 0x00, 0xFF, 0xEF, + 0xFE, 0x01, 0xFF, 0xDF, 0xFC, 0x01, 0xFF, 0x9F, 0xF0, 0x03, 0xFE, 0x3F, + 0xE0, 0x07, 0xFC, 0xFF, 0xC0, 0x0F, 0xF9, 0xFF, 0x80, 0x1F, 0xF3, 0xFF, + 0x00, 0x3F, 0xE7, 0xFE, 0x00, 0xFF, 0x8F, 0xFF, 0xFC, 0x7F, 0xFF, 0xE3, + 0xFF, 0xFF, 0x1F, 0xF3, 0xF8, 0x7E, 0x0F, 0xE7, 0xF0, 0x3F, 0xFF, 0x00, + 0xFF, 0xF0, 0x03, 0xFF, 0x00, 0x0F, 0xF0, 0x00, 0x7F, 0x80, 0x07, 0xFE, + 0x00, 0x7F, 0xF8, 0x07, 0xFF, 0xE0, 0x7F, 0x3F, 0x87, 0xF0, 0xFC, 0xFF, + 0x8F, 0xFF, 0xFC, 0x7F, 0xFF, 0xE3, 0xFF, 0xFF, 0x1F, 0xF0, 0xFF, 0x8F, + 0xFF, 0xFC, 0x7F, 0xFF, 0xE3, 0xFF, 0xFF, 0x1F, 0xF3, 0xF8, 0xFE, 0x0F, + 0xEF, 0xF0, 0x3F, 0xFF, 0x00, 0xFF, 0xF0, 0x03, 0xFF, 0x00, 0x0F, 0xF0, + 0x00, 0x3F, 0x00, 0x01, 0xF8, 0x00, 0x0F, 0xC0, 0x00, 0x7E, 0x00, 0x03, + 0xF0, 0x00, 0x1F, 0x80, 0x01, 0xFE, 0x00, 0x0F, 0xF0, 0x00, 0x7F, 0x80, + 0x03, 0xFC, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, + 0xFE, 0x3F, 0x80, 0xFE, 0x03, 0xFC, 0x07, 0xF0, 0x1F, 0xC0, 0x3F, 0x80, + 0xFE, 0x03, 0xF8, 0x07, 0xF0, 0x1F, 0xC0, 0x7F, 0x0F, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xC0, 0x00, 0x60, 0x00, 0x30, + 0x00, 0x18, 0x00, 0x0C, 0x00, 0x06, 0x00, 0x03, 0x00, 0x01, 0x80, 0x00, + 0xC0, 0x00, 0x60, 0x00, 0x30, 0x00, 0x18, 0x00, 0x0C, 0x00, 0x06, 0x00, + 0x03, 0x00, 0x01, 0x80, 0x00, 0xC0, 0x00, 0x60, 0x00, 0x3F, 0xFF, 0xF0, + 0xFF, 0xFF, 0xC0, 0x00, 0x60, 0x00, 0x30, 0x00, 0x18, 0x00, 0x0C, 0x00, + 0x06, 0x00, 0x03, 0x00, 0x01, 0x80, 0x00, 0xC0, 0x00, 0x60, 0x00, 0x30, + 0x00, 0x18, 0x00, 0x0C, 0x00, 0x06, 0x00, 0x03, 0x00, 0x01, 0x80, 0x00, + 0xC0, 0x00, 0x60, 0x00, 0x3F, 0xFF, 0xF0, 0xFF, 0xFF, 0xC0, 0x00, 0x60, + 0x00, 0x30, 0x00, 0x18, 0x00, 0x0C, 0x00, 0x06, 0x00, 0x03, 0x00, 0x01, + 0x80, 0x00, 0xC0, 0x00, 0x60, 0x00, 0x30, 0x00, 0x18, 0x00, 0x0C, 0x00, + 0x06, 0x00, 0x03, 0x00, 0x01, 0x80, 0x00, 0xC0, 0x00, 0x60, 0x00, 0x3F, + 0xFF, 0xF0, 0xFF, 0xFF, 0xC0, 0x00, 0x60, 0x00, 0x30, 0x00, 0x18, 0x00, + 0x0C, 0x00, 0x06, 0x00, 0x03, 0x00, 0x01, 0x80, 0x00, 0xC0, 0x00, 0x60, + 0x00, 0x30, 0x00, 0x18, 0x00, 0x0C, 0x00, 0x06, 0x00, 0x03, 0x00, 0x01, + 0x80, 0x00, 0xC0, 0x00, 0x60, 0x00, 0x3F, 0xFF, 0xF0, 0xFF, 0xFF, 0xC0, + 0x00, 0x60, 0x00, 0x30, 0x00, 0x18, 0x00, 0x0C, 0x00, 0x06, 0x00, 0x03, + 0x00, 0x01, 0x80, 0x00, 0xC0, 0x00, 0x60, 0x00, 0x30, 0x00, 0x18, 0x00, + 0x0C, 0x00, 0x06, 0x00, 0x03, 0x00, 0x01, 0x80, 0x00, 0xC0, 0x00, 0x60, + 0x00, 0x3F, 0xFF, 0xF0, 0xFF, 0xFF, 0xC0, 0x00, 0x60, 0x00, 0x30, 0x00, + 0x18, 0x00, 0x0C, 0x00, 0x06, 0x00, 0x03, 0x00, 0x01, 0x80, 0x00, 0xC0, + 0x00, 0x60, 0x00, 0x30, 0x00, 0x18, 0x00, 0x0C, 0x00, 0x06, 0x00, 0x03, + 0x00, 0x01, 0x80, 0x00, 0xC0, 0x00, 0x60, 0x00, 0x3F, 0xFF, 0xF0, 0x0F, + 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xE0, 0x0F, 0xF0, 0x1F, + 0xF0, 0x1E, 0x78, 0x3F, 0xF8, 0x3F, 0xFC, 0x3F, 0xFC, 0x7F, 0xFC, 0xFC, + 0x3F, 0xFC, 0x3F, 0xFC, 0x3F, 0xFC, 0x3F, 0xFF, 0xCF, 0xFE, 0xFF, 0xFF, + 0xFF, 0x78, 0xF7, 0x8F, 0x7F, 0xF7, 0xFE, 0x7F, 0xF7, 0xFF, 0x78, 0xF7, + 0x8F, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0xFC, 0x3F, 0xC7, 0xFE, 0xFF, 0xFF, + 0xFF, 0xF0, 0xFF, 0x0F, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0xFF, + 0x0F, 0xFF, 0xFF, 0xFF, 0x7F, 0xE3, 0xFC, 0xFF, 0xCF, 0xFE, 0xFF, 0xFF, + 0xFF, 0x78, 0xF7, 0x8F, 0x78, 0xF7, 0x8F, 0x78, 0xF7, 0x8F, 0x78, 0xF7, + 0x8F, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x78, 0x07, 0xF8, 0x7F, 0x87, 0xF8, 0x7F, 0x87, 0xF8, 0x7F, 0x87, + 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0x78, 0x07, 0xF8, 0x7F, 0x87, 0xF8, 0x7F, 0x87, 0xF8, 0x78, 0x07, + 0x80, 0xFE, 0x0F, 0xE0, 0xFE, 0x0F, 0xE0, 0x3F, 0xC7, 0xFE, 0xFF, 0xFF, + 0xFF, 0xF0, 0xFF, 0x0F, 0xF3, 0xFF, 0x3F, 0xF3, 0xFF, 0x3F, 0xF0, 0xFF, + 0x0F, 0xFF, 0xFF, 0xFF, 0x7F, 0xE3, 0xFC, 0xFC, 0xFF, 0xF3, 0xFF, 0xCF, + 0xFF, 0x3F, 0x78, 0x79, 0xE1, 0xE7, 0xFF, 0x9F, 0xFE, 0x7F, 0xF9, 0xFF, + 0xE7, 0x87, 0x9E, 0x1E, 0xFC, 0xFF, 0xF3, 0xFF, 0xCF, 0xFF, 0x3F, 0xFF, + 0xFF, 0xFF, 0x79, 0xE7, 0x9E, 0x79, 0xE7, 0x9E, 0xFF, 0xFF, 0xFF, 0x03, + 0xF0, 0x3F, 0x03, 0xF0, 0x3F, 0x01, 0xE0, 0x1E, 0x01, 0xE0, 0x1E, 0x01, + 0xEF, 0x1E, 0xF1, 0xEF, 0x1E, 0xFF, 0xEF, 0xFE, 0x7F, 0xC3, 0xF8, 0xFD, + 0xFF, 0xFB, 0xFF, 0xF7, 0xFF, 0xEF, 0xF7, 0x9F, 0x8F, 0x7E, 0x1F, 0xF8, + 0x3F, 0xC0, 0x7F, 0xC0, 0xFF, 0xC1, 0xEF, 0xC3, 0xCF, 0xCF, 0xDF, 0xFF, + 0xBF, 0xFF, 0x7F, 0xFE, 0xFF, 0xFC, 0x0F, 0xC0, 0xFC, 0x0F, 0xC0, 0x78, + 0x07, 0x80, 0x78, 0x07, 0x80, 0x78, 0x07, 0x80, 0x78, 0x07, 0x80, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x0F, 0xFE, 0x0F, 0xFF, 0x07, 0xFF, + 0xC7, 0xF7, 0xF7, 0xF3, 0xFB, 0xF9, 0xFF, 0xFC, 0xFF, 0xFE, 0x7F, 0xFF, + 0x3D, 0xF7, 0x9E, 0xFB, 0xCF, 0x39, 0xEF, 0xC9, 0xFF, 0xE4, 0xFF, 0xF0, + 0x7F, 0xF8, 0x3F, 0xFC, 0x7F, 0xF8, 0xFF, 0xF9, 0xFF, 0xF3, 0xF7, 0xF3, + 0xCF, 0xF7, 0x9F, 0xEF, 0x3F, 0xFE, 0x7F, 0xFC, 0xFF, 0xF9, 0xEF, 0xF3, + 0xCF, 0xEF, 0xDF, 0xFF, 0x9F, 0xFF, 0x1F, 0xFE, 0x3F, 0x3F, 0xC7, 0xFE, + 0xFF, 0xFF, 0xFF, 0xF0, 0xFF, 0x0F, 0xF0, 0xFF, 0x0F, 0xF0, 0xFF, 0x0F, + 0xF0, 0xFF, 0x0F, 0xFF, 0xFF, 0xFF, 0x7F, 0xE3, 0xFC, 0xFF, 0xCF, 0xFE, + 0xFF, 0xFF, 0xFF, 0x78, 0xF7, 0x8F, 0x7F, 0xF7, 0xFF, 0x7F, 0xE7, 0xFC, + 0x78, 0x07, 0x80, 0xFC, 0x0F, 0xC0, 0xFC, 0x0F, 0xC0, 0x3F, 0xC1, 0xFF, + 0x8F, 0xFF, 0x3F, 0xFC, 0xF0, 0xF3, 0xC3, 0xCF, 0x0F, 0x3C, 0x7C, 0xF3, + 0xF3, 0xDF, 0xCF, 0x1F, 0x3C, 0x3C, 0xFF, 0xFB, 0xFF, 0xE7, 0xFF, 0x0F, + 0xF0, 0xFF, 0xC7, 0xFF, 0x3F, 0xFD, 0xFF, 0xE7, 0x8F, 0x3C, 0x79, 0xFF, + 0xCF, 0xFC, 0x7F, 0xF3, 0xFF, 0x9E, 0x3C, 0xF1, 0xEF, 0xCF, 0xFE, 0x7F, + 0xF3, 0xFF, 0x9F, 0x3F, 0xC7, 0xFE, 0xFF, 0xFF, 0xFF, 0xF0, 0xFF, 0x00, + 0xFF, 0xCF, 0xFE, 0x7F, 0xF3, 0xFF, 0x00, 0xFF, 0x0F, 0xFF, 0xFF, 0xFF, + 0x7F, 0xE3, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x00, 0xF0, + 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x1F, 0x81, 0xF8, + 0x1F, 0x81, 0xF8, 0xFC, 0xFF, 0xF3, 0xFF, 0xCF, 0xFF, 0x3F, 0x78, 0x79, + 0xE1, 0xE7, 0x87, 0x9E, 0x1E, 0x78, 0x79, 0xE1, 0xE7, 0x87, 0x9E, 0x1E, + 0x7F, 0xF9, 0xFF, 0xE3, 0xFF, 0x07, 0xF8, 0xFC, 0xFF, 0xF9, 0xFF, 0xF3, + 0xFF, 0xE7, 0xF7, 0xC7, 0xC7, 0x8F, 0x0F, 0xBE, 0x1F, 0x7C, 0x1E, 0xF0, + 0x3F, 0xE0, 0x3F, 0xC0, 0x7F, 0x01, 0xFF, 0x03, 0xFE, 0x07, 0xFC, 0x0F, + 0xF8, 0xFE, 0x7F, 0x3F, 0xFF, 0x3F, 0x9F, 0xFF, 0x9F, 0xCF, 0xFF, 0xCF, + 0xE7, 0xF7, 0xC7, 0xF1, 0xE1, 0xE3, 0xF8, 0xF0, 0xFB, 0xFE, 0xF8, 0x7D, + 0xFF, 0x78, 0x1E, 0xFF, 0xBC, 0x0F, 0xFF, 0xFE, 0x03, 0xFC, 0xFE, 0x01, + 0xFE, 0x7F, 0x00, 0xFF, 0x7F, 0x80, 0x7F, 0xBF, 0xC0, 0x3F, 0xDF, 0xE0, + 0x1F, 0xEF, 0xF0, 0xFE, 0x3F, 0xFF, 0x1F, 0xFF, 0x8F, 0xFF, 0xC7, 0xF3, + 0xE3, 0xF0, 0xFF, 0xE0, 0x3F, 0xE0, 0x0F, 0xE0, 0x07, 0xF0, 0x07, 0xFC, + 0x07, 0xFF, 0x07, 0xE7, 0xEF, 0xE3, 0xFF, 0xF1, 0xFF, 0xF8, 0xFF, 0xFC, + 0x7F, 0xFF, 0x3F, 0xFF, 0x9F, 0xFF, 0xCF, 0xFF, 0xE7, 0xF3, 0xE3, 0xE0, + 0xFB, 0xE0, 0x3F, 0xE0, 0x07, 0xE0, 0x01, 0xE0, 0x00, 0xF0, 0x00, 0x78, + 0x00, 0x3C, 0x00, 0x3F, 0x00, 0x1F, 0x80, 0x0F, 0xC0, 0x07, 0xE0, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0xE0, 0x7C, 0x0F, 0xC0, 0xF8, 0x1F, + 0x03, 0xE0, 0x3E, 0x07, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xC0, 0x00, 0x60, 0x00, 0x30, 0x00, 0x18, 0x00, 0x0C, 0x00, 0x06, + 0x00, 0x03, 0x00, 0x01, 0x80, 0x00, 0xC0, 0x00, 0x60, 0x00, 0x30, 0x00, + 0x18, 0x00, 0x0C, 0x00, 0x06, 0x00, 0x03, 0x00, 0x01, 0x80, 0x00, 0xC0, + 0x00, 0x60, 0x00, 0x3F, 0xFF, 0xF0, 0xFF, 0xFF, 0xC0, 0x00, 0x60, 0x00, + 0x30, 0x00, 0x18, 0x00, 0x0C, 0x00, 0x06, 0x00, 0x03, 0x00, 0x01, 0x80, + 0x00, 0xC0, 0x00, 0x60, 0x00, 0x30, 0x00, 0x18, 0x00, 0x0C, 0x00, 0x06, + 0x00, 0x03, 0x00, 0x01, 0x80, 0x00, 0xC0, 0x00, 0x60, 0x00, 0x3F, 0xFF, + 0xF0, 0xFF, 0xFF, 0xC0, 0x00, 0x60, 0x00, 0x30, 0x00, 0x18, 0x00, 0x0C, + 0x00, 0x06, 0x00, 0x03, 0x00, 0x01, 0x80, 0x00, 0xC0, 0x00, 0x60, 0x00, + 0x30, 0x00, 0x18, 0x00, 0x0C, 0x00, 0x06, 0x00, 0x03, 0x00, 0x01, 0x80, + 0x00, 0xC0, 0x00, 0x60, 0x00, 0x3F, 0xFF, 0xF0, 0xFF, 0xFF, 0xC0, 0x00, + 0x60, 0x00, 0x30, 0x00, 0x18, 0x00, 0x0C, 0x00, 0x06, 0x00, 0x03, 0x00, + 0x01, 0x80, 0x00, 0xC0, 0x00, 0x60, 0x00, 0x30, 0x00, 0x18, 0x00, 0x0C, + 0x00, 0x06, 0x00, 0x03, 0x00, 0x01, 0x80, 0x00, 0xC0, 0x00, 0x60, 0x00, + 0x3F, 0xFF, 0xF0 }; + + const GFXglyph Freshman12pt7bGlyphs[] PROGMEM = { + { 0, 1, 1, 7, 0, 0 }, // 0x20 ' ' + { 1, 5, 20, 7, 0, -19 }, // 0x21 '!' + { 14, 7, 5, 8, 0, -19 }, // 0x22 '"' + { 19, 18, 16, 19, 0, -19 }, // 0x23 '#' + { 55, 15, 20, 17, 0, -19 }, // 0x24 '$' + { 93, 17, 20, 20, 1, -19 }, // 0x25 '%' + { 136, 14, 20, 17, 0, -19 }, // 0x26 '&' + { 171, 4, 5, 4, 0, -19 }, // 0x27 ''' + { 174, 17, 20, 20, 1, -19 }, // 0x28 '(' + { 217, 17, 20, 20, 1, -19 }, // 0x29 ')' + { 260, 17, 20, 20, 1, -19 }, // 0x2A '*' + { 303, 17, 20, 20, 1, -19 }, // 0x2B '+' + { 346, 5, 7, 7, 0, -3 }, // 0x2C ',' + { 351, 8, 6, 9, 0, -12 }, // 0x2D '-' + { 357, 5, 5, 7, 0, -4 }, // 0x2E '.' + { 361, 15, 20, 16, 0, -19 }, // 0x2F '/' + { 399, 15, 20, 17, 0, -19 }, // 0x30 '0' + { 437, 10, 20, 11, 0, -19 }, // 0x31 '1' + { 462, 14, 20, 16, 0, -19 }, // 0x32 '2' + { 497, 15, 20, 17, 0, -19 }, // 0x33 '3' + { 535, 15, 20, 16, 0, -19 }, // 0x34 '4' + { 573, 15, 20, 17, 0, -19 }, // 0x35 '5' + { 611, 15, 20, 17, 0, -19 }, // 0x36 '6' + { 649, 14, 20, 16, 0, -19 }, // 0x37 '7' + { 684, 15, 20, 17, 0, -19 }, // 0x38 '8' + { 722, 15, 20, 17, 0, -19 }, // 0x39 '9' + { 760, 5, 16, 7, 0, -15 }, // 0x3A ':' + { 770, 5, 19, 7, 0, -15 }, // 0x3B ';' + { 782, 17, 20, 20, 1, -19 }, // 0x3C '<' + { 825, 17, 20, 20, 1, -19 }, // 0x3D '=' + { 868, 17, 20, 20, 1, -19 }, // 0x3E '>' + { 911, 13, 20, 15, 0, -19 }, // 0x3F '?' + { 944, 17, 20, 20, 1, -19 }, // 0x40 '@' + { 987, 20, 20, 21, 0, -19 }, // 0x41 'A' + { 1037, 15, 20, 17, 0, -19 }, // 0x42 'B' + { 1075, 15, 20, 17, 0, -19 }, // 0x43 'C' + { 1113, 15, 20, 17, 0, -19 }, // 0x44 'D' + { 1151, 14, 20, 16, 0, -19 }, // 0x45 'E' + { 1186, 14, 20, 16, 0, -19 }, // 0x46 'F' + { 1221, 15, 20, 17, 0, -19 }, // 0x47 'G' + { 1259, 17, 20, 19, 0, -19 }, // 0x48 'H' + { 1302, 8, 20, 9, 0, -19 }, // 0x49 'I' + { 1322, 15, 20, 16, 0, -19 }, // 0x4A 'J' + { 1360, 18, 20, 19, 0, -19 }, // 0x4B 'K' + { 1405, 14, 20, 16, 0, -19 }, // 0x4C 'L' + { 1440, 22, 20, 23, 0, -19 }, // 0x4D 'M' + { 1495, 18, 20, 20, 0, -19 }, // 0x4E 'N' + { 1540, 15, 20, 17, 0, -19 }, // 0x4F 'O' + { 1578, 15, 20, 17, 0, -19 }, // 0x50 'P' + { 1616, 17, 20, 17, 0, -19 }, // 0x51 'Q' + { 1659, 16, 20, 18, 0, -19 }, // 0x52 'R' + { 1699, 15, 20, 17, 0, -19 }, // 0x53 'S' + { 1737, 17, 20, 18, 0, -19 }, // 0x54 'T' + { 1780, 17, 20, 19, 0, -19 }, // 0x55 'U' + { 1823, 19, 20, 20, 0, -19 }, // 0x56 'V' + { 1871, 31, 20, 33, 0, -19 }, // 0x57 'W' + { 1949, 21, 20, 23, 0, -19 }, // 0x58 'X' + { 2002, 21, 20, 23, 0, -19 }, // 0x59 'Y' + { 2055, 15, 20, 16, 0, -19 }, // 0x5A 'Z' + { 2093, 17, 20, 20, 1, -19 }, // 0x5B '[' + { 2136, 17, 20, 20, 1, -19 }, // 0x5C '\' + { 2179, 17, 20, 20, 1, -19 }, // 0x5D ']' + { 2222, 17, 20, 20, 1, -19 }, // 0x5E '^' + { 2265, 17, 20, 20, 1, -19 }, // 0x5F '_' + { 2308, 17, 20, 20, 1, -19 }, // 0x60 '`' + { 2351, 16, 16, 17, 0, -15 }, // 0x61 'a' + { 2383, 12, 16, 14, 0, -15 }, // 0x62 'b' + { 2407, 12, 16, 13, 0, -15 }, // 0x63 'c' + { 2431, 12, 16, 14, 0, -15 }, // 0x64 'd' + { 2455, 12, 16, 13, 0, -15 }, // 0x65 'e' + { 2479, 12, 16, 13, 0, -15 }, // 0x66 'f' + { 2503, 12, 16, 14, 0, -15 }, // 0x67 'g' + { 2527, 14, 16, 15, 0, -15 }, // 0x68 'h' + { 2555, 6, 16, 8, 0, -15 }, // 0x69 'i' + { 2567, 12, 16, 13, 0, -15 }, // 0x6A 'j' + { 2591, 15, 16, 16, 0, -15 }, // 0x6B 'k' + { 2621, 12, 16, 13, 0, -15 }, // 0x6C 'l' + { 2645, 17, 16, 19, 0, -15 }, // 0x6D 'm' + { 2679, 15, 16, 16, 0, -15 }, // 0x6E 'n' + { 2709, 12, 16, 14, 0, -15 }, // 0x6F 'o' + { 2733, 12, 16, 14, 0, -15 }, // 0x70 'p' + { 2757, 14, 16, 14, 0, -15 }, // 0x71 'q' + { 2785, 13, 16, 15, 0, -15 }, // 0x72 'r' + { 2811, 12, 16, 14, 0, -15 }, // 0x73 's' + { 2835, 12, 16, 14, 0, -15 }, // 0x74 't' + { 2859, 14, 16, 15, 0, -15 }, // 0x75 'u' + { 2887, 15, 16, 17, 0, -15 }, // 0x76 'v' + { 2917, 25, 16, 26, 0, -15 }, // 0x77 'w' + { 2967, 17, 16, 19, 0, -15 }, // 0x78 'x' + { 3001, 17, 16, 19, 0, -15 }, // 0x79 'y' + { 3035, 12, 16, 13, 0, -15 }, // 0x7A 'z' + { 3059, 17, 20, 20, 1, -19 }, // 0x7B '{' + { 3102, 17, 20, 20, 1, -19 }, // 0x7C '|' + { 3145, 17, 20, 20, 1, -19 }, // 0x7D '}' + { 3188, 17, 20, 20, 1, -19 } // 0x7E '~' + }; + + const GFXfont Freshman12pt7b PROGMEM = { + (uint8_t *)Freshman12pt7bBitmaps, + (GFXglyph *)Freshman12pt7bGlyphs, + 0x20, 0x7E, 24 + }; } } \ No newline at end of file