diff options
author | Jack Sangdahl <[email protected]> | 2025-01-15 13:50:29 -0700 |
---|---|---|
committer | Jack Sangdahl <[email protected]> | 2025-01-15 13:50:29 -0700 |
commit | 5304ab5f84f130b7ff61dd5ad4d91ce9303a7608 (patch) | |
tree | 0fcf879a07db10743d54919e969d8226604cf7c3 | |
parent | 42fc0e65c572ff1cb258ec750a45d34ee5ba0049 (diff) | |
download | qmk_me-5304ab5f84f130b7ff61dd5ad4d91ce9303a7608.tar.gz qmk_me-5304ab5f84f130b7ff61dd5ad4d91ce9303a7608.zip |
* Add clang-format configuration
* Autocorrect dictionary updates
* Remove RGB Colour implementation
* Tidy combos code
* More space saving techniques
* OLED byte array pretty-ing
* Remove uneeded OLED shutdown code
* Remove and rearrange keyboards/keymaps
* Custom async tap code implementation
* Update license years
* ...and more
62 files changed, 1241 insertions, 1721 deletions
diff --git a/.clang-format b/.clang-format new file mode 100644 index 0000000..69645a1 --- /dev/null +++ b/.clang-format @@ -0,0 +1,3 @@ +--- +SortIncludes: 'false' +... diff --git a/jack/autocorrect_data.h b/jack/autocorrect_data.h index f9d6352..e83dcf9 100644 --- a/jack/autocorrect_data.h +++ b/jack/autocorrect_data.h @@ -1,17 +1,17 @@ -// Copyright 2024 [email protected] +// Copyright 2025 [email protected] // SPDX-License-Identifier: GPL-2.0-or-later #pragma once -#define AUTOCORRECT_MIN_LENGTH 5 -#define AUTOCORRECT_MAX_LENGTH 10 -#define DICTIONARY_SIZE 5867 +#define AUTOCORRECT_MIN_LENGTH 5 // ":abot" +#define AUTOCORRECT_MAX_LENGTH 10 // "competance" +#define DICTIONARY_SIZE 5705 static const uint8_t autocorrect_data[DICTIONARY_SIZE] PROGMEM = { 0x6C, 0x40, 0x00, 0x04, 0x0A, 0x01, 0x06, 0x22, 0x01, 0x07, 0x7D, 0x01, - 0x08, 0x47, 0x03, 0x09, 0x8E, 0x08, 0x0A, 0xBF, 0x08, 0x0B, 0x43, 0x09, - 0x0C, 0xD2, 0x09, 0x0E, 0xDC, 0x09, 0x0F, 0xE8, 0x09, 0x10, 0x09, 0x0B, - 0x11, 0x3B, 0x0B, 0x12, 0x58, 0x0D, 0x13, 0x8C, 0x0D, 0x15, 0xA6, 0x0D, - 0x16, 0x6D, 0x0F, 0x17, 0x21, 0x11, 0x19, 0x59, 0x14, 0x1A, 0x90, 0x14, - 0x1C, 0xB6, 0x14, 0x00, 0x46, 0x5F, 0x00, 0x07, 0x67, 0x00, 0x08, 0x71, + 0x08, 0x3A, 0x03, 0x09, 0x71, 0x08, 0x0A, 0xA2, 0x08, 0x0B, 0x26, 0x09, + 0x0C, 0xB5, 0x09, 0x0E, 0xBF, 0x09, 0x0F, 0xCB, 0x09, 0x10, 0xEC, 0x0A, + 0x11, 0x0A, 0x0B, 0x12, 0x18, 0x0D, 0x13, 0x4C, 0x0D, 0x15, 0x66, 0x0D, + 0x16, 0x0B, 0x0F, 0x17, 0xBF, 0x10, 0x19, 0xE6, 0x13, 0x1A, 0x1D, 0x14, + 0x1C, 0x43, 0x14, 0x00, 0x46, 0x5F, 0x00, 0x07, 0x67, 0x00, 0x08, 0x71, 0x00, 0x0A, 0x9C, 0x00, 0x0F, 0xA8, 0x00, 0x11, 0xB0, 0x00, 0x12, 0xB8, 0x00, 0x16, 0xC2, 0x00, 0x17, 0xCD, 0x00, 0x18, 0x00, 0x01, 0x00, 0x0C, 0x0B, 0x1A, 0x2C, 0x00, 0x80, 0x68, 0x00, 0x16, 0x08, 0x18, 0x2C, 0x00, @@ -39,7 +39,7 @@ static const uint8_t autocorrect_data[DICTIONARY_SIZE] PROGMEM = { 0x16, 0x04, 0x00, 0x86, 0x65, 0x73, 0x74, 0x68, 0x65, 0x74, 0x69, 0x63, 0x00, 0x08, 0x0B, 0x06, 0x00, 0x81, 0x63, 0x6B, 0x00, 0x44, 0x93, 0x01, 0x08, 0x9F, 0x01, 0x0F, 0x7F, 0x02, 0x11, 0xA7, 0x02, 0x12, 0xDF, 0x02, - 0x15, 0xFA, 0x02, 0x18, 0x32, 0x03, 0x00, 0x0C, 0x0F, 0x19, 0x11, 0x0C, + 0x15, 0xFA, 0x02, 0x18, 0x25, 0x03, 0x00, 0x0C, 0x0F, 0x19, 0x11, 0x0C, 0x00, 0x83, 0x61, 0x6C, 0x69, 0x64, 0x00, 0x46, 0xC1, 0x01, 0x07, 0xCB, 0x01, 0x08, 0xD5, 0x01, 0x09, 0xE0, 0x01, 0x0A, 0xED, 0x01, 0x0C, 0xF7, 0x01, 0x13, 0x11, 0x02, 0x15, 0x2E, 0x02, 0x16, 0x51, 0x02, 0x17, 0x5D, @@ -69,429 +69,417 @@ static const uint8_t autocorrect_data[DICTIONARY_SIZE] PROGMEM = { 0x83, 0x72, 0x6F, 0x75, 0x6E, 0x64, 0x00, 0x04, 0x00, 0x82, 0x6F, 0x75, 0x6E, 0x64, 0x00, 0x4C, 0xE6, 0x02, 0x15, 0xF1, 0x02, 0x00, 0x08, 0x15, 0x13, 0x00, 0x84, 0x65, 0x72, 0x69, 0x6F, 0x64, 0x00, 0x06, 0x08, 0x15, - 0x00, 0x82, 0x6F, 0x72, 0x64, 0x00, 0x44, 0x04, 0x03, 0x08, 0x0F, 0x03, - 0x18, 0x28, 0x03, 0x00, 0x1A, 0x12, 0x09, 0x00, 0x83, 0x72, 0x77, 0x61, - 0x72, 0x64, 0x00, 0x47, 0x16, 0x03, 0x0C, 0x20, 0x03, 0x00, 0x0C, 0x16, - 0x11, 0x12, 0x06, 0x00, 0x80, 0x65, 0x64, 0x00, 0x1A, 0x00, 0x83, 0x65, - 0x69, 0x72, 0x64, 0x00, 0x04, 0x0A, 0x2C, 0x00, 0x83, 0x75, 0x61, 0x72, - 0x64, 0x00, 0x12, 0x00, 0x4B, 0x3B, 0x03, 0x15, 0x41, 0x03, 0x00, 0x16, - 0x00, 0x80, 0x6C, 0x64, 0x00, 0x04, 0x00, 0x80, 0x6E, 0x64, 0x00, 0x44, - 0x75, 0x03, 0x05, 0x82, 0x03, 0x06, 0xAD, 0x03, 0x07, 0x2D, 0x04, 0x08, - 0x49, 0x04, 0x0A, 0x9D, 0x04, 0x0B, 0x15, 0x05, 0x0C, 0x66, 0x05, 0x0F, - 0x6F, 0x05, 0x11, 0x31, 0x06, 0x15, 0x3D, 0x06, 0x16, 0xA7, 0x06, 0x17, - 0x38, 0x07, 0x18, 0x13, 0x08, 0x19, 0x4C, 0x08, 0x00, 0x06, 0x13, 0x16, - 0x08, 0x10, 0x04, 0x11, 0x00, 0x82, 0x61, 0x63, 0x65, 0x00, 0x44, 0x89, - 0x03, 0x0F, 0x93, 0x03, 0x00, 0x0F, 0x0C, 0x04, 0x19, 0x04, 0x00, 0x80, - 0x6C, 0x65, 0x00, 0x44, 0x9A, 0x03, 0x18, 0xA5, 0x03, 0x00, 0x0F, 0x0C, - 0x04, 0x19, 0x04, 0x00, 0x82, 0x62, 0x6C, 0x65, 0x00, 0x12, 0x07, 0x00, - 0x82, 0x62, 0x6C, 0x65, 0x00, 0x48, 0xBA, 0x03, 0x0C, 0xC5, 0x03, 0x11, - 0xCE, 0x03, 0x13, 0x20, 0x04, 0x00, 0x15, 0x08, 0x09, 0x08, 0x15, 0x00, - 0x81, 0x6E, 0x63, 0x65, 0x00, 0x08, 0x13, 0x00, 0x83, 0x69, 0x65, 0x63, - 0x65, 0x00, 0x44, 0xD8, 0x03, 0x08, 0xE5, 0x03, 0x18, 0x16, 0x04, 0x00, - 0x17, 0x08, 0x13, 0x10, 0x12, 0x06, 0x00, 0x83, 0x65, 0x6E, 0x63, 0x65, - 0x00, 0x55, 0xEC, 0x03, 0x17, 0x0B, 0x04, 0x00, 0x08, 0x00, 0x49, 0xF5, - 0x03, 0x0F, 0x02, 0x04, 0x00, 0x15, 0x2C, 0x00, 0x86, 0x65, 0x66, 0x65, - 0x72, 0x65, 0x6E, 0x63, 0x65, 0x00, 0x12, 0x17, 0x00, 0x83, 0x61, 0x6E, - 0x63, 0x65, 0x00, 0x11, 0x0C, 0x04, 0x10, 0x00, 0x81, 0x61, 0x6E, 0x63, - 0x65, 0x00, 0x14, 0x08, 0x16, 0x00, 0x82, 0x65, 0x6E, 0x63, 0x65, 0x00, - 0x04, 0x16, 0x08, 0x10, 0x04, 0x11, 0x00, 0x83, 0x70, 0x61, 0x63, 0x65, - 0x00, 0x0C, 0x15, 0x08, 0x19, 0x00, 0x52, 0x39, 0x04, 0x19, 0x3F, 0x04, - 0x00, 0x82, 0x72, 0x69, 0x64, 0x65, 0x00, 0x12, 0x00, 0x85, 0x65, 0x72, - 0x72, 0x69, 0x64, 0x65, 0x00, 0x17, 0x00, 0x44, 0x58, 0x04, 0x0C, 0x63, - 0x04, 0x11, 0x6D, 0x04, 0x17, 0x90, 0x04, 0x00, 0x15, 0x04, 0x18, 0x0A, - 0x00, 0x82, 0x6E, 0x74, 0x65, 0x65, 0x00, 0x10, 0x10, 0x12, 0x06, 0x00, - 0x81, 0x74, 0x65, 0x65, 0x00, 0x04, 0x15, 0x00, 0x44, 0x77, 0x04, 0x18, - 0x83, 0x04, 0x00, 0x0A, 0x00, 0x86, 0x75, 0x61, 0x72, 0x61, 0x6E, 0x74, - 0x65, 0x65, 0x00, 0x04, 0x0A, 0x00, 0x87, 0x75, 0x61, 0x72, 0x61, 0x6E, - 0x74, 0x65, 0x65, 0x00, 0x0C, 0x10, 0x12, 0x06, 0x00, 0x84, 0x6D, 0x69, - 0x74, 0x74, 0x65, 0x65, 0x00, 0x44, 0xA7, 0x04, 0x07, 0xEA, 0x04, 0x10, - 0x0C, 0x05, 0x00, 0x4A, 0xB4, 0x04, 0x11, 0xBF, 0x04, 0x16, 0xC8, 0x04, - 0x18, 0xD1, 0x04, 0x00, 0x15, 0x12, 0x10, 0x00, 0x83, 0x74, 0x67, 0x61, - 0x67, 0x65, 0x00, 0x0B, 0x06, 0x00, 0x83, 0x61, 0x6E, 0x67, 0x65, 0x00, - 0x08, 0x10, 0x00, 0x82, 0x73, 0x61, 0x67, 0x65, 0x00, 0x0A, 0x00, 0x6C, - 0xDA, 0x04, 0x04, 0xE0, 0x04, 0x00, 0x83, 0x61, 0x75, 0x67, 0x65, 0x00, - 0x0F, 0x00, 0x84, 0x6E, 0x67, 0x75, 0x61, 0x67, 0x65, 0x00, 0x08, 0x0F, - 0x00, 0x44, 0xF7, 0x04, 0x0C, 0xFD, 0x04, 0x0F, 0x06, 0x05, 0x00, 0x83, - 0x6C, 0x65, 0x67, 0x65, 0x00, 0x19, 0x0C, 0x15, 0x13, 0x00, 0x82, 0x67, - 0x65, 0x00, 0x04, 0x00, 0x82, 0x67, 0x65, 0x00, 0x04, 0x0C, 0x00, 0x83, - 0x6D, 0x61, 0x67, 0x65, 0x00, 0x17, 0x00, 0x47, 0x27, 0x05, 0x10, 0x31, - 0x05, 0x12, 0x3B, 0x05, 0x16, 0x44, 0x05, 0x17, 0x4D, 0x05, 0x00, 0x11, - 0x04, 0x2C, 0x00, 0x82, 0x20, 0x74, 0x68, 0x65, 0x00, 0x12, 0x15, 0x09, - 0x00, 0x82, 0x20, 0x74, 0x68, 0x65, 0x00, 0x17, 0x2C, 0x00, 0x82, 0x20, - 0x74, 0x68, 0x65, 0x00, 0x04, 0x2C, 0x00, 0x82, 0x20, 0x74, 0x68, 0x65, - 0x00, 0x44, 0x54, 0x05, 0x18, 0x5C, 0x05, 0x00, 0x2C, 0x00, 0x82, 0x20, - 0x74, 0x68, 0x65, 0x00, 0x12, 0x05, 0x04, 0x00, 0x82, 0x20, 0x74, 0x68, - 0x65, 0x00, 0x1D, 0x16, 0x2C, 0x00, 0x82, 0x69, 0x7A, 0x65, 0x00, 0x45, - 0x82, 0x05, 0x0C, 0xF3, 0x05, 0x13, 0xFE, 0x05, 0x16, 0x1A, 0x06, 0x17, - 0x22, 0x06, 0x19, 0x2A, 0x06, 0x00, 0x44, 0x8C, 0x05, 0x0C, 0xDC, 0x05, - 0x0F, 0xE8, 0x05, 0x00, 0x4A, 0x96, 0x05, 0x0C, 0xA0, 0x05, 0x0F, 0xBE, - 0x05, 0x00, 0x0C, 0x0F, 0x08, 0x00, 0x83, 0x69, 0x62, 0x6C, 0x65, 0x00, - 0x0F, 0x00, 0x44, 0xA9, 0x05, 0x0C, 0xB4, 0x05, 0x00, 0x19, 0x04, 0x00, - 0x85, 0x69, 0x6C, 0x61, 0x62, 0x6C, 0x65, 0x00, 0x04, 0x19, 0x04, 0x00, - 0x84, 0x61, 0x62, 0x6C, 0x65, 0x00, 0x44, 0xC5, 0x05, 0x0C, 0xD0, 0x05, - 0x00, 0x19, 0x04, 0x00, 0x84, 0x69, 0x6C, 0x61, 0x62, 0x6C, 0x65, 0x00, - 0x19, 0x04, 0x00, 0x85, 0x61, 0x69, 0x6C, 0x61, 0x62, 0x6C, 0x65, 0x00, - 0x04, 0x0F, 0x0C, 0x04, 0x19, 0x04, 0x00, 0x83, 0x62, 0x6C, 0x65, 0x00, - 0x0C, 0x04, 0x19, 0x04, 0x00, 0x82, 0x61, 0x62, 0x6C, 0x65, 0x00, 0x1A, - 0x0B, 0x2C, 0x00, 0x84, 0x77, 0x68, 0x69, 0x6C, 0x65, 0x00, 0x48, 0x05, - 0x06, 0x12, 0x0F, 0x06, 0x00, 0x12, 0x13, 0x00, 0x84, 0x65, 0x6F, 0x70, - 0x6C, 0x65, 0x00, 0x08, 0x12, 0x13, 0x00, 0x85, 0x65, 0x6F, 0x70, 0x6C, - 0x65, 0x00, 0x04, 0x09, 0x00, 0x82, 0x6C, 0x73, 0x65, 0x00, 0x0C, 0x0F, - 0x00, 0x81, 0x74, 0x6C, 0x65, 0x00, 0x08, 0x0F, 0x00, 0x81, 0x65, 0x6C, - 0x00, 0x0C, 0x08, 0x0A, 0x1C, 0x0B, 0x00, 0x83, 0x69, 0x65, 0x6E, 0x65, - 0x00, 0x46, 0x4D, 0x06, 0x0C, 0x57, 0x06, 0x12, 0x63, 0x06, 0x15, 0x8A, - 0x06, 0x18, 0x91, 0x06, 0x00, 0x12, 0x16, 0x2C, 0x00, 0x83, 0x63, 0x6F, - 0x72, 0x65, 0x00, 0x18, 0x14, 0x04, 0x00, 0x84, 0x63, 0x71, 0x75, 0x69, - 0x72, 0x65, 0x00, 0x47, 0x6D, 0x06, 0x08, 0x76, 0x06, 0x09, 0x7E, 0x06, - 0x00, 0x08, 0x05, 0x00, 0x83, 0x66, 0x6F, 0x72, 0x65, 0x00, 0x05, 0x00, - 0x82, 0x66, 0x6F, 0x72, 0x65, 0x00, 0x15, 0x08, 0x0B, 0x17, 0x00, 0x83, - 0x65, 0x66, 0x6F, 0x72, 0x65, 0x00, 0x08, 0x0B, 0x1A, 0x00, 0x81, 0x65, - 0x00, 0x17, 0x00, 0x6C, 0x9A, 0x06, 0x04, 0x9F, 0x06, 0x00, 0x82, 0x72, - 0x75, 0x65, 0x00, 0x10, 0x04, 0x00, 0x82, 0x65, 0x75, 0x72, 0x00, 0x44, - 0xBD, 0x06, 0x08, 0xE1, 0x06, 0x0C, 0xE9, 0x06, 0x0F, 0xF8, 0x06, 0x11, - 0x01, 0x07, 0x12, 0x1F, 0x07, 0x18, 0x2C, 0x07, 0x00, 0x46, 0xC7, 0x06, - 0x08, 0xCF, 0x06, 0x0F, 0xD9, 0x06, 0x00, 0x08, 0x05, 0x00, 0x81, 0x75, - 0x73, 0x65, 0x00, 0x05, 0x2C, 0x00, 0x82, 0x63, 0x61, 0x75, 0x73, 0x65, - 0x00, 0x09, 0x00, 0x83, 0x61, 0x6C, 0x73, 0x65, 0x00, 0x08, 0x0B, 0x17, - 0x00, 0x82, 0x73, 0x65, 0x00, 0x06, 0x15, 0x08, 0x06, 0x1B, 0x08, 0x00, - 0x86, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x00, 0x0C, 0x04, 0x09, 0x00, - 0x83, 0x6C, 0x73, 0x65, 0x00, 0x48, 0x08, 0x07, 0x12, 0x13, 0x07, 0x00, - 0x16, 0x0C, 0x0F, 0x00, 0x84, 0x63, 0x65, 0x6E, 0x73, 0x65, 0x00, 0x13, - 0x08, 0x15, 0x00, 0x84, 0x73, 0x70, 0x6F, 0x6E, 0x73, 0x65, 0x00, 0x13, - 0x11, 0x04, 0x15, 0x17, 0x00, 0x83, 0x73, 0x70, 0x6F, 0x73, 0x65, 0x00, - 0x06, 0x04, 0x08, 0x05, 0x00, 0x84, 0x63, 0x61, 0x75, 0x73, 0x65, 0x00, - 0x44, 0x45, 0x07, 0x08, 0xF3, 0x07, 0x0F, 0xFE, 0x07, 0x19, 0x0A, 0x08, - 0x00, 0x47, 0x55, 0x07, 0x0A, 0x7A, 0x07, 0x0F, 0x87, 0x07, 0x13, 0xCA, - 0x07, 0x15, 0xD4, 0x07, 0x00, 0x12, 0x10, 0x00, 0x50, 0x5F, 0x07, 0x12, - 0x6E, 0x07, 0x00, 0x12, 0x06, 0x04, 0x00, 0x87, 0x63, 0x6F, 0x6D, 0x6D, - 0x6F, 0x64, 0x61, 0x74, 0x65, 0x00, 0x06, 0x06, 0x04, 0x00, 0x84, 0x6D, - 0x6F, 0x64, 0x61, 0x74, 0x65, 0x00, 0x12, 0x13, 0x12, 0x15, 0x13, 0x00, - 0x84, 0x61, 0x67, 0x61, 0x74, 0x65, 0x00, 0x46, 0x91, 0x07, 0x13, 0x9E, - 0x07, 0x18, 0xAB, 0x07, 0x00, 0x18, 0x0F, 0x04, 0x06, 0x00, 0x85, 0x63, - 0x75, 0x6C, 0x61, 0x74, 0x65, 0x00, 0x10, 0x04, 0x08, 0x17, 0x00, 0x86, - 0x6D, 0x70, 0x6C, 0x61, 0x74, 0x65, 0x00, 0x46, 0xB2, 0x07, 0x0F, 0xBF, - 0x07, 0x00, 0x18, 0x0F, 0x04, 0x06, 0x00, 0x86, 0x63, 0x75, 0x6C, 0x61, - 0x74, 0x65, 0x00, 0x04, 0x06, 0x00, 0x84, 0x63, 0x75, 0x6C, 0x61, 0x74, - 0x65, 0x00, 0x07, 0x18, 0x00, 0x84, 0x70, 0x64, 0x61, 0x74, 0x65, 0x00, - 0x48, 0xDB, 0x07, 0x18, 0xE8, 0x07, 0x00, 0x11, 0x04, 0x0A, 0x00, 0x86, - 0x65, 0x6E, 0x65, 0x72, 0x61, 0x74, 0x65, 0x00, 0x06, 0x04, 0x00, 0x84, - 0x63, 0x75, 0x72, 0x61, 0x74, 0x65, 0x00, 0x0F, 0x0F, 0x04, 0x13, 0x00, - 0x83, 0x65, 0x74, 0x74, 0x65, 0x00, 0x04, 0x13, 0x10, 0x08, 0x17, 0x00, - 0x83, 0x6C, 0x61, 0x74, 0x65, 0x00, 0x0C, 0x15, 0x13, 0x00, 0x81, 0x61, - 0x74, 0x65, 0x00, 0x4A, 0x1D, 0x08, 0x0C, 0x29, 0x08, 0x16, 0x33, 0x08, - 0x00, 0x08, 0x0F, 0x0F, 0x12, 0x06, 0x00, 0x82, 0x61, 0x67, 0x75, 0x65, - 0x00, 0x14, 0x11, 0x18, 0x00, 0x83, 0x69, 0x71, 0x75, 0x65, 0x00, 0x44, - 0x3A, 0x08, 0x15, 0x42, 0x08, 0x00, 0x06, 0x2C, 0x00, 0x82, 0x75, 0x73, - 0x65, 0x00, 0x08, 0x13, 0x00, 0x84, 0x75, 0x72, 0x73, 0x75, 0x65, 0x00, - 0x4C, 0x53, 0x08, 0x12, 0x78, 0x08, 0x00, 0x48, 0x5D, 0x08, 0x0B, 0x67, - 0x08, 0x0F, 0x70, 0x08, 0x00, 0x0F, 0x08, 0x05, 0x00, 0x83, 0x69, 0x65, - 0x76, 0x65, 0x00, 0x06, 0x04, 0x2C, 0x00, 0x81, 0x65, 0x76, 0x65, 0x00, - 0x08, 0x05, 0x00, 0x81, 0x65, 0x76, 0x65, 0x00, 0x52, 0x7F, 0x08, 0x19, - 0x86, 0x08, 0x00, 0x15, 0x13, 0x00, 0x82, 0x76, 0x65, 0x00, 0x05, 0x04, - 0x00, 0x83, 0x6F, 0x76, 0x65, 0x00, 0x4C, 0x95, 0x08, 0x11, 0xB7, 0x08, - 0x00, 0x08, 0x00, 0x4B, 0xA1, 0x08, 0x0F, 0xA8, 0x08, 0x15, 0xB0, 0x08, - 0x00, 0x06, 0x00, 0x82, 0x69, 0x65, 0x66, 0x00, 0x08, 0x05, 0x00, 0x82, - 0x69, 0x65, 0x66, 0x00, 0x05, 0x00, 0x82, 0x69, 0x65, 0x66, 0x00, 0x18, - 0x12, 0x09, 0x2C, 0x00, 0x80, 0x64, 0x00, 0x4C, 0xC6, 0x08, 0x11, 0xD0, - 0x08, 0x00, 0x11, 0x12, 0x0A, 0x2C, 0x00, 0x82, 0x69, 0x6E, 0x67, 0x00, - 0x48, 0xDA, 0x08, 0x0C, 0xE3, 0x08, 0x15, 0x39, 0x09, 0x00, 0x0C, 0x05, - 0x00, 0x83, 0x65, 0x69, 0x6E, 0x67, 0x00, 0x48, 0xF6, 0x08, 0x0B, 0x00, - 0x09, 0x0F, 0x0D, 0x09, 0x15, 0x19, 0x09, 0x17, 0x24, 0x09, 0x1C, 0x2E, - 0x09, 0x00, 0x0B, 0x06, 0x04, 0x06, 0x00, 0x83, 0x69, 0x6E, 0x67, 0x00, - 0x17, 0x06, 0x04, 0x10, 0x00, 0x85, 0x74, 0x63, 0x68, 0x69, 0x6E, 0x67, - 0x00, 0x08, 0x0C, 0x06, 0x00, 0x85, 0x65, 0x69, 0x6C, 0x69, 0x6E, 0x67, - 0x00, 0x18, 0x06, 0x08, 0x15, 0x00, 0x82, 0x72, 0x69, 0x6E, 0x67, 0x00, - 0x0B, 0x2C, 0x00, 0x84, 0x74, 0x68, 0x69, 0x6E, 0x67, 0x00, 0x17, 0x1C, - 0x11, 0x04, 0x00, 0x83, 0x68, 0x69, 0x6E, 0x67, 0x00, 0x0C, 0x17, 0x16, - 0x00, 0x83, 0x72, 0x69, 0x6E, 0x67, 0x00, 0x46, 0x53, 0x09, 0x08, 0x73, - 0x09, 0x0A, 0x7F, 0x09, 0x16, 0x89, 0x09, 0x17, 0x9B, 0x09, 0x00, 0x4C, - 0x5A, 0x09, 0x15, 0x64, 0x09, 0x00, 0x17, 0x1A, 0x16, 0x00, 0x83, 0x69, - 0x74, 0x63, 0x68, 0x00, 0x04, 0x08, 0x16, 0x04, 0x08, 0x15, 0x00, 0x86, - 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x00, 0x17, 0x07, 0x11, 0x04, 0x2C, - 0x00, 0x82, 0x20, 0x74, 0x68, 0x65, 0x00, 0x11, 0x08, 0x15, 0x17, 0x16, - 0x00, 0x80, 0x74, 0x68, 0x00, 0x0C, 0x0F, 0x13, 0x10, 0x12, 0x06, 0x04, - 0x00, 0x86, 0x63, 0x6F, 0x6D, 0x70, 0x6C, 0x69, 0x73, 0x68, 0x00, 0x4A, - 0xA5, 0x09, 0x0C, 0xBD, 0x09, 0x15, 0xC8, 0x09, 0x00, 0x48, 0xAC, 0x09, - 0x0C, 0xB6, 0x09, 0x00, 0x15, 0x17, 0x16, 0x00, 0x82, 0x6E, 0x67, 0x74, - 0x68, 0x00, 0x08, 0x0B, 0x00, 0x81, 0x68, 0x74, 0x00, 0x1A, 0x07, 0x11, - 0x04, 0x05, 0x00, 0x81, 0x64, 0x74, 0x68, 0x00, 0x18, 0x17, 0x2C, 0x00, - 0x83, 0x72, 0x75, 0x74, 0x68, 0x00, 0x15, 0x08, 0x0B, 0x17, 0x2C, 0x00, - 0x81, 0x69, 0x72, 0x00, 0x11, 0x0C, 0x17, 0x0B, 0x00, 0x84, 0x74, 0x68, - 0x69, 0x6E, 0x6B, 0x00, 0x44, 0xFE, 0x09, 0x07, 0x52, 0x0A, 0x08, 0x76, - 0x0A, 0x09, 0xCB, 0x0A, 0x0F, 0xD4, 0x0A, 0x17, 0xF1, 0x0A, 0x18, 0xFA, - 0x0A, 0x00, 0x4C, 0x08, 0x0A, 0x17, 0x13, 0x0A, 0x18, 0x2C, 0x0A, 0x00, - 0x06, 0x13, 0x1C, 0x17, 0x00, 0x83, 0x69, 0x63, 0x61, 0x6C, 0x00, 0x4C, - 0x1A, 0x0A, 0x18, 0x22, 0x0A, 0x00, 0x11, 0x0C, 0x00, 0x81, 0x69, 0x61, - 0x6C, 0x00, 0x15, 0x0C, 0x19, 0x00, 0x83, 0x74, 0x75, 0x61, 0x6C, 0x00, - 0x51, 0x36, 0x0A, 0x15, 0x3F, 0x0A, 0x17, 0x48, 0x0A, 0x00, 0x04, 0x2C, - 0x00, 0x82, 0x6E, 0x75, 0x61, 0x6C, 0x00, 0x18, 0x17, 0x04, 0x11, 0x00, - 0x82, 0x61, 0x6C, 0x00, 0x0C, 0x19, 0x00, 0x83, 0x72, 0x74, 0x75, 0x61, - 0x6C, 0x00, 0x48, 0x59, 0x0A, 0x18, 0x60, 0x0A, 0x00, 0x0C, 0x09, 0x00, - 0x81, 0x6C, 0x64, 0x00, 0x52, 0x67, 0x0A, 0x1A, 0x6D, 0x0A, 0x00, 0x06, - 0x00, 0x81, 0x6C, 0x64, 0x00, 0x12, 0x00, 0x84, 0x77, 0x6F, 0x75, 0x6C, - 0x64, 0x00, 0x4A, 0x83, 0x0A, 0x0F, 0x8B, 0x0A, 0x17, 0xB9, 0x0A, 0x18, - 0xC1, 0x0A, 0x00, 0x11, 0x0C, 0x16, 0x00, 0x81, 0x6C, 0x65, 0x00, 0x44, - 0x92, 0x0A, 0x0F, 0xAC, 0x0A, 0x00, 0x15, 0x00, 0x44, 0x9B, 0x0A, 0x15, - 0xA2, 0x0A, 0x00, 0x13, 0x00, 0x81, 0x6C, 0x65, 0x6C, 0x00, 0x04, 0x13, - 0x00, 0x84, 0x61, 0x6C, 0x6C, 0x65, 0x6C, 0x00, 0x04, 0x15, 0x15, 0x04, - 0x13, 0x00, 0x85, 0x61, 0x6C, 0x6C, 0x65, 0x6C, 0x00, 0x17, 0x0C, 0x0F, - 0x00, 0x81, 0x6C, 0x65, 0x00, 0x07, 0x08, 0x0B, 0x06, 0x16, 0x00, 0x81, - 0x6C, 0x65, 0x00, 0x08, 0x16, 0x1C, 0x10, 0x00, 0x81, 0x6C, 0x66, 0x00, - 0x0C, 0x09, 0x00, 0x4F, 0xDE, 0x0A, 0x18, 0xE8, 0x0A, 0x00, 0x0F, 0x18, - 0x09, 0x00, 0x84, 0x66, 0x69, 0x6C, 0x6C, 0x00, 0x09, 0x00, 0x83, 0x6C, - 0x66, 0x69, 0x6C, 0x6C, 0x00, 0x18, 0x16, 0x08, 0x15, 0x00, 0x81, 0x6C, - 0x74, 0x00, 0x09, 0x17, 0x04, 0x08, 0x15, 0x0A, 0x00, 0x85, 0x61, 0x74, - 0x65, 0x66, 0x75, 0x6C, 0x00, 0x44, 0x13, 0x0B, 0x0F, 0x24, 0x0B, 0x15, - 0x2F, 0x0B, 0x00, 0x15, 0x0A, 0x12, 0x17, 0x06, 0x08, 0x13, 0x16, 0x00, - 0x84, 0x72, 0x6F, 0x67, 0x72, 0x61, 0x6D, 0x00, 0x08, 0x05, 0x12, 0x15, - 0x13, 0x00, 0x82, 0x6C, 0x65, 0x6D, 0x00, 0x12, 0x09, 0x12, 0x06, 0x00, - 0x83, 0x6E, 0x66, 0x6F, 0x72, 0x6D, 0x00, 0x44, 0x5D, 0x0B, 0x07, 0x85, - 0x0B, 0x08, 0x8E, 0x0B, 0x0A, 0x0C, 0x0C, 0x0C, 0x5F, 0x0C, 0x12, 0x79, - 0x0C, 0x13, 0x15, 0x0D, 0x15, 0x21, 0x0D, 0x16, 0x2C, 0x0D, 0x18, 0x36, - 0x0D, 0x1A, 0x4D, 0x0D, 0x00, 0x0C, 0x00, 0x4A, 0x66, 0x0B, 0x17, 0x6E, - 0x0B, 0x00, 0x04, 0x2C, 0x00, 0x82, 0x61, 0x69, 0x6E, 0x00, 0x51, 0x75, - 0x0B, 0x15, 0x7D, 0x0B, 0x00, 0x12, 0x06, 0x00, 0x82, 0x61, 0x69, 0x6E, - 0x00, 0x08, 0x06, 0x00, 0x82, 0x61, 0x69, 0x6E, 0x00, 0x18, 0x12, 0x09, - 0x2C, 0x00, 0x81, 0x6E, 0x64, 0x00, 0x47, 0xA4, 0x0B, 0x08, 0xAE, 0x0B, - 0x0A, 0xD8, 0x0B, 0x13, 0xE4, 0x0B, 0x15, 0xED, 0x0B, 0x16, 0xFA, 0x0B, - 0x1A, 0x04, 0x0C, 0x00, 0x0F, 0x0C, 0x0B, 0x06, 0x00, 0x81, 0x72, 0x65, - 0x6E, 0x00, 0x57, 0xB5, 0x0B, 0x1A, 0xCE, 0x0B, 0x00, 0x48, 0xBC, 0x0B, - 0x1A, 0xC4, 0x0B, 0x00, 0x05, 0x00, 0x82, 0x77, 0x65, 0x65, 0x6E, 0x00, - 0x08, 0x05, 0x00, 0x84, 0x74, 0x77, 0x65, 0x65, 0x6E, 0x00, 0x08, 0x05, - 0x00, 0x83, 0x74, 0x77, 0x65, 0x65, 0x6E, 0x00, 0x12, 0x07, 0x1C, 0x0B, - 0x00, 0x83, 0x72, 0x6F, 0x67, 0x65, 0x6E, 0x00, 0x04, 0x0B, 0x2C, 0x00, - 0x81, 0x70, 0x65, 0x6E, 0x00, 0x07, 0x0F, 0x0B, 0x06, 0x00, 0x84, 0x69, - 0x6C, 0x64, 0x72, 0x65, 0x6E, 0x00, 0x12, 0x12, 0x0B, 0x06, 0x00, 0x83, - 0x73, 0x65, 0x6E, 0x00, 0x17, 0x08, 0x05, 0x00, 0x80, 0x65, 0x6E, 0x00, - 0x48, 0x13, 0x0C, 0x0C, 0x1E, 0x0C, 0x00, 0x0C, 0x15, 0x12, 0x09, 0x00, - 0x83, 0x65, 0x69, 0x67, 0x6E, 0x00, 0x4B, 0x31, 0x0C, 0x0F, 0x37, 0x0C, - 0x11, 0x3F, 0x0C, 0x12, 0x48, 0x0C, 0x15, 0x4F, 0x0C, 0x16, 0x56, 0x0C, - 0x00, 0x17, 0x00, 0x81, 0x6E, 0x67, 0x00, 0x0F, 0x04, 0x00, 0x83, 0x69, - 0x67, 0x6E, 0x00, 0x15, 0x04, 0x08, 0x0F, 0x00, 0x81, 0x6E, 0x67, 0x00, - 0x0A, 0x2C, 0x00, 0x81, 0x6E, 0x67, 0x00, 0x17, 0x16, 0x00, 0x81, 0x6E, - 0x67, 0x00, 0x04, 0x2C, 0x00, 0x82, 0x73, 0x69, 0x67, 0x6E, 0x00, 0x4A, - 0x66, 0x0C, 0x17, 0x6E, 0x0C, 0x00, 0x04, 0x2C, 0x00, 0x81, 0x61, 0x69, - 0x6E, 0x00, 0x04, 0x15, 0x08, 0x06, 0x00, 0x83, 0x74, 0x61, 0x69, 0x6E, - 0x00, 0x4C, 0x83, 0x0C, 0x16, 0xFF, 0x0C, 0x17, 0x09, 0x0D, 0x00, 0x46, - 0x8D, 0x0C, 0x16, 0x9A, 0x0C, 0x17, 0xB4, 0x0C, 0x00, 0x0C, 0x16, 0x08, - 0x07, 0x00, 0x85, 0x63, 0x69, 0x73, 0x69, 0x6F, 0x6E, 0x00, 0x44, 0xA1, - 0x0C, 0x16, 0xAA, 0x0C, 0x00, 0x0C, 0x0F, 0x00, 0x83, 0x69, 0x73, 0x6F, - 0x6E, 0x00, 0x04, 0x06, 0x06, 0x12, 0x00, 0x83, 0x69, 0x6F, 0x6E, 0x00, - 0x47, 0xC4, 0x0C, 0x0C, 0xCE, 0x0C, 0x0F, 0xDD, 0x0C, 0x11, 0xE9, 0x0C, - 0x16, 0xF5, 0x0C, 0x00, 0x07, 0x04, 0x00, 0x83, 0x69, 0x74, 0x69, 0x6F, - 0x6E, 0x00, 0x17, 0x0C, 0x13, 0x08, 0x15, 0x00, 0x86, 0x65, 0x74, 0x69, - 0x74, 0x69, 0x6F, 0x6E, 0x00, 0x04, 0x08, 0x15, 0x00, 0x85, 0x6C, 0x61, - 0x74, 0x69, 0x6F, 0x6E, 0x00, 0x06, 0x18, 0x09, 0x00, 0x85, 0x6E, 0x63, - 0x74, 0x69, 0x6F, 0x6E, 0x00, 0x12, 0x13, 0x00, 0x83, 0x69, 0x74, 0x69, - 0x6F, 0x6E, 0x00, 0x0C, 0x19, 0x0C, 0x07, 0x00, 0x81, 0x69, 0x6F, 0x6E, - 0x00, 0x0C, 0x06, 0x04, 0x15, 0x09, 0x00, 0x83, 0x74, 0x69, 0x6F, 0x6E, - 0x00, 0x13, 0x0B, 0x04, 0x00, 0x84, 0x68, 0x61, 0x70, 0x70, 0x65, 0x6E, - 0x00, 0x17, 0x18, 0x08, 0x15, 0x00, 0x83, 0x74, 0x75, 0x72, 0x6E, 0x00, - 0x0A, 0x0C, 0x0B, 0x17, 0x00, 0x82, 0x6E, 0x67, 0x73, 0x00, 0x55, 0x3D, - 0x0D, 0x17, 0x46, 0x0D, 0x00, 0x17, 0x08, 0x15, 0x00, 0x82, 0x75, 0x72, - 0x6E, 0x00, 0x08, 0x15, 0x00, 0x80, 0x72, 0x6E, 0x00, 0x12, 0x0E, 0x11, - 0x18, 0x00, 0x82, 0x6E, 0x6F, 0x77, 0x6E, 0x00, 0x47, 0x62, 0x0D, 0x11, - 0x6D, 0x0D, 0x1A, 0x76, 0x0D, 0x00, 0x08, 0x18, 0x16, 0x13, 0x00, 0x83, - 0x65, 0x75, 0x64, 0x6F, 0x00, 0x1A, 0x0E, 0x2C, 0x00, 0x82, 0x6E, 0x6F, - 0x77, 0x00, 0x4F, 0x7D, 0x0D, 0x11, 0x85, 0x0D, 0x00, 0x0F, 0x12, 0x09, - 0x00, 0x81, 0x6F, 0x77, 0x00, 0x0E, 0x2C, 0x00, 0x81, 0x6F, 0x77, 0x00, - 0x56, 0x93, 0x0D, 0x18, 0x9D, 0x0D, 0x00, 0x04, 0x0B, 0x15, 0x08, 0x13, - 0x00, 0x81, 0x70, 0x73, 0x00, 0x12, 0x12, 0x0F, 0x00, 0x81, 0x6B, 0x75, - 0x70, 0x00, 0x44, 0xC5, 0x0D, 0x08, 0x06, 0x0E, 0x0B, 0x13, 0x0F, 0x0F, - 0x1C, 0x0F, 0x12, 0x2A, 0x0F, 0x13, 0x3B, 0x0F, 0x16, 0x46, 0x0F, 0x17, - 0x4F, 0x0F, 0x18, 0x5B, 0x0F, 0x1C, 0x64, 0x0F, 0x00, 0x4C, 0xCF, 0x0D, - 0x0F, 0xD9, 0x0D, 0x18, 0xFB, 0x0D, 0x00, 0x0F, 0x0C, 0x10, 0x0C, 0x16, - 0x00, 0x82, 0x61, 0x72, 0x00, 0x4C, 0xE0, 0x0D, 0x18, 0xEB, 0x0D, 0x00, - 0x10, 0x10, 0x0C, 0x16, 0x00, 0x84, 0x69, 0x6C, 0x61, 0x72, 0x00, 0x06, - 0x0C, 0x17, 0x04, 0x13, 0x00, 0x86, 0x72, 0x74, 0x69, 0x63, 0x75, 0x6C, - 0x61, 0x72, 0x00, 0x0F, 0x0A, 0x08, 0x15, 0x00, 0x83, 0x75, 0x6C, 0x61, - 0x72, 0x00, 0x44, 0x25, 0x0E, 0x07, 0x2D, 0x0E, 0x0B, 0x3A, 0x0E, 0x0C, - 0x77, 0x0E, 0x0F, 0x91, 0x0E, 0x10, 0x9B, 0x0E, 0x11, 0xA5, 0x0E, 0x12, - 0xD1, 0x0E, 0x17, 0xD9, 0x0E, 0x19, 0xF8, 0x0E, 0x00, 0x0F, 0x06, 0x00, - 0x82, 0x65, 0x61, 0x72, 0x00, 0x11, 0x04, 0x0F, 0x04, 0x06, 0x00, 0x84, - 0x65, 0x6E, 0x64, 0x61, 0x72, 0x00, 0x4A, 0x41, 0x0E, 0x17, 0x4C, 0x0E, - 0x00, 0x0C, 0x08, 0x0B, 0x00, 0x85, 0x69, 0x67, 0x68, 0x65, 0x72, 0x00, - 0x48, 0x56, 0x0E, 0x12, 0x62, 0x0E, 0x18, 0x6E, 0x0E, 0x00, 0x0B, 0x0A, - 0x12, 0x17, 0x00, 0x85, 0x65, 0x74, 0x68, 0x65, 0x72, 0x00, 0x04, 0x11, - 0x00, 0x86, 0x61, 0x6E, 0x6F, 0x74, 0x68, 0x65, 0x72, 0x00, 0x09, 0x00, - 0x83, 0x72, 0x74, 0x68, 0x65, 0x72, 0x00, 0x4B, 0x7E, 0x0E, 0x0F, 0x86, - 0x0E, 0x00, 0x17, 0x2C, 0x00, 0x82, 0x65, 0x69, 0x72, 0x00, 0x13, 0x10, - 0x12, 0x06, 0x00, 0x83, 0x69, 0x6C, 0x65, 0x72, 0x00, 0x17, 0x0C, 0x09, - 0x00, 0x83, 0x6C, 0x74, 0x65, 0x72, 0x00, 0x10, 0x04, 0x15, 0x0A, 0x2C, - 0x00, 0x81, 0x61, 0x72, 0x00, 0x4C, 0xAC, 0x0E, 0x17, 0xB8, 0x0E, 0x00, - 0x0A, 0x0A, 0x08, 0x05, 0x00, 0x84, 0x69, 0x6E, 0x6E, 0x65, 0x72, 0x00, - 0x4C, 0xBF, 0x0E, 0x16, 0xC8, 0x0E, 0x00, 0x12, 0x13, 0x00, 0x83, 0x6E, - 0x74, 0x65, 0x72, 0x00, 0x0C, 0x0F, 0x00, 0x82, 0x65, 0x6E, 0x65, 0x72, - 0x00, 0x09, 0x08, 0x05, 0x00, 0x81, 0x72, 0x65, 0x00, 0x4B, 0xE0, 0x0E, - 0x18, 0xEA, 0x0E, 0x00, 0x12, 0x11, 0x04, 0x00, 0x83, 0x74, 0x68, 0x65, - 0x72, 0x00, 0x13, 0x12, 0x10, 0x06, 0x00, 0x86, 0x6F, 0x6D, 0x70, 0x75, - 0x74, 0x65, 0x72, 0x00, 0x48, 0xFF, 0x0E, 0x1A, 0x0A, 0x0F, 0x00, 0x08, - 0x15, 0x08, 0x0B, 0x1A, 0x00, 0x83, 0x76, 0x65, 0x72, 0x00, 0x12, 0x0B, - 0x00, 0x82, 0x65, 0x76, 0x65, 0x72, 0x00, 0x08, 0x17, 0x12, 0x00, 0x82, - 0x68, 0x65, 0x72, 0x00, 0x04, 0x18, 0x06, 0x0C, 0x17, 0x15, 0x04, 0x13, - 0x00, 0x82, 0x6C, 0x61, 0x72, 0x00, 0x17, 0x04, 0x15, 0x08, 0x17, 0x11, - 0x0C, 0x00, 0x87, 0x74, 0x65, 0x72, 0x61, 0x74, 0x6F, 0x72, 0x00, 0x17, - 0x0F, 0x0F, 0x18, 0x11, 0x00, 0x82, 0x70, 0x74, 0x72, 0x00, 0x04, 0x08, - 0x1C, 0x2C, 0x00, 0x81, 0x72, 0x73, 0x00, 0x12, 0x04, 0x15, 0x08, 0x13, - 0x12, 0x00, 0x82, 0x74, 0x6F, 0x72, 0x00, 0x06, 0x12, 0x2C, 0x00, 0x81, - 0x63, 0x75, 0x72, 0x00, 0x08, 0x19, 0x08, 0x2C, 0x00, 0x81, 0x72, 0x79, - 0x00, 0x44, 0x83, 0x0F, 0x08, 0xB7, 0x0F, 0x0A, 0x47, 0x10, 0x15, 0x52, - 0x10, 0x16, 0x5D, 0x10, 0x17, 0xF5, 0x10, 0x18, 0xFD, 0x10, 0x00, 0x4B, - 0x90, 0x0F, 0x13, 0x9B, 0x0F, 0x15, 0xA5, 0x0F, 0x1C, 0xAE, 0x0F, 0x00, - 0x13, 0x15, 0x08, 0x13, 0x00, 0x83, 0x68, 0x61, 0x70, 0x73, 0x00, 0x0B, - 0x15, 0x08, 0x13, 0x00, 0x82, 0x61, 0x70, 0x73, 0x00, 0x08, 0x1C, 0x2C, - 0x00, 0x82, 0x61, 0x72, 0x73, 0x00, 0x1A, 0x0F, 0x04, 0x00, 0x82, 0x61, - 0x79, 0x73, 0x00, 0x44, 0xC7, 0x0F, 0x06, 0xDE, 0x0F, 0x0C, 0xE9, 0x0F, - 0x0F, 0x35, 0x10, 0x16, 0x3C, 0x10, 0x00, 0x47, 0xCE, 0x0F, 0x0E, 0xD6, - 0x0F, 0x00, 0x0C, 0x2C, 0x00, 0x82, 0x65, 0x61, 0x73, 0x00, 0x17, 0x00, - 0x83, 0x61, 0x6B, 0x65, 0x73, 0x00, 0x08, 0x07, 0x11, 0x0C, 0x00, 0x83, - 0x69, 0x63, 0x65, 0x73, 0x00, 0x46, 0xF3, 0x0F, 0x15, 0x1A, 0x10, 0x17, - 0x29, 0x10, 0x00, 0x48, 0xFA, 0x0F, 0x0C, 0x04, 0x10, 0x00, 0x07, 0x11, - 0x0C, 0x00, 0x84, 0x69, 0x63, 0x65, 0x73, 0x00, 0x47, 0x0B, 0x10, 0x17, - 0x12, 0x10, 0x00, 0x11, 0x0C, 0x00, 0x82, 0x65, 0x73, 0x00, 0x15, 0x08, - 0x19, 0x00, 0x82, 0x65, 0x73, 0x00, 0x12, 0x16, 0x08, 0x06, 0x06, 0x04, - 0x00, 0x84, 0x73, 0x6F, 0x72, 0x69, 0x65, 0x73, 0x00, 0x0F, 0x0C, 0x05, - 0x04, 0x00, 0x83, 0x69, 0x74, 0x69, 0x65, 0x73, 0x00, 0x04, 0x09, 0x00, - 0x81, 0x73, 0x65, 0x00, 0x12, 0x0B, 0x06, 0x2C, 0x00, 0x82, 0x6F, 0x73, - 0x65, 0x73, 0x00, 0x0C, 0x11, 0x0B, 0x17, 0x00, 0x83, 0x69, 0x6E, 0x67, - 0x73, 0x00, 0x08, 0x04, 0x1C, 0x2C, 0x00, 0x83, 0x65, 0x61, 0x72, 0x73, - 0x00, 0x44, 0x67, 0x10, 0x08, 0x73, 0x10, 0x12, 0xEA, 0x10, 0x00, 0x15, - 0x04, 0x05, 0x10, 0x08, 0x00, 0x82, 0x72, 0x61, 0x73, 0x73, 0x00, 0x46, - 0x80, 0x10, 0x11, 0x98, 0x10, 0x15, 0xB5, 0x10, 0x16, 0xD2, 0x10, 0x00, - 0x46, 0x87, 0x10, 0x18, 0x90, 0x10, 0x00, 0x12, 0x15, 0x13, 0x00, 0x83, - 0x65, 0x73, 0x73, 0x00, 0x16, 0x00, 0x82, 0x63, 0x65, 0x73, 0x73, 0x00, - 0x4C, 0x9F, 0x10, 0x16, 0xAB, 0x10, 0x00, 0x16, 0x16, 0x18, 0x05, 0x00, - 0x85, 0x69, 0x6E, 0x65, 0x73, 0x73, 0x00, 0x18, 0x05, 0x00, 0x83, 0x69, - 0x6E, 0x65, 0x73, 0x73, 0x00, 0x13, 0x00, 0x55, 0xBE, 0x10, 0x18, 0xC9, - 0x10, 0x00, 0x18, 0x16, 0x00, 0x85, 0x70, 0x70, 0x72, 0x65, 0x73, 0x73, - 0x00, 0x16, 0x00, 0x83, 0x70, 0x72, 0x65, 0x73, 0x73, 0x00, 0x46, 0xD9, - 0x10, 0x12, 0xE2, 0x10, 0x00, 0x06, 0x18, 0x16, 0x00, 0x83, 0x65, 0x73, - 0x73, 0x00, 0x13, 0x00, 0x82, 0x73, 0x65, 0x73, 0x73, 0x00, 0x15, 0x06, - 0x06, 0x04, 0x00, 0x84, 0x72, 0x6F, 0x73, 0x73, 0x00, 0x15, 0x0C, 0x09, - 0x00, 0x81, 0x73, 0x74, 0x00, 0x52, 0x04, 0x11, 0x16, 0x12, 0x11, 0x00, - 0x0F, 0x12, 0x10, 0x12, 0x11, 0x04, 0x00, 0x84, 0x61, 0x6C, 0x6F, 0x75, - 0x73, 0x00, 0x11, 0x08, 0x06, 0x11, 0x12, 0x06, 0x00, 0x85, 0x73, 0x65, - 0x6E, 0x73, 0x75, 0x73, 0x00, 0x44, 0x46, 0x11, 0x08, 0x64, 0x11, 0x0A, - 0x81, 0x11, 0x0B, 0x8B, 0x11, 0x0C, 0xAF, 0x11, 0x0F, 0xBA, 0x11, 0x10, - 0xC5, 0x11, 0x11, 0xD1, 0x11, 0x12, 0x1F, 0x13, 0x13, 0x59, 0x13, 0x16, - 0x75, 0x13, 0x18, 0x15, 0x14, 0x00, 0x55, 0x4D, 0x11, 0x1A, 0x58, 0x11, - 0x00, 0x08, 0x13, 0x08, 0x16, 0x00, 0x83, 0x61, 0x72, 0x61, 0x74, 0x00, - 0x0B, 0x08, 0x10, 0x12, 0x16, 0x00, 0x83, 0x77, 0x68, 0x61, 0x74, 0x00, - 0x44, 0x6B, 0x11, 0x11, 0x74, 0x11, 0x00, 0x15, 0x0A, 0x2C, 0x00, 0x82, - 0x65, 0x61, 0x74, 0x00, 0x10, 0x11, 0x15, 0x08, 0x19, 0x12, 0x0A, 0x00, - 0x82, 0x65, 0x6E, 0x74, 0x00, 0x0B, 0x18, 0x04, 0x06, 0x00, 0x82, 0x67, - 0x68, 0x74, 0x00, 0x47, 0x95, 0x11, 0x0A, 0x9C, 0x11, 0x0C, 0xA4, 0x11, - 0x00, 0x0C, 0x1A, 0x00, 0x81, 0x74, 0x68, 0x00, 0x11, 0x08, 0x0F, 0x00, - 0x81, 0x74, 0x68, 0x00, 0x0A, 0x11, 0x12, 0x17, 0x00, 0x83, 0x69, 0x67, - 0x68, 0x74, 0x00, 0x17, 0x18, 0x12, 0x05, 0x04, 0x00, 0x81, 0x20, 0x69, - 0x74, 0x00, 0x16, 0x18, 0x08, 0x15, 0x00, 0x83, 0x73, 0x75, 0x6C, 0x74, - 0x00, 0x04, 0x17, 0x15, 0x12, 0x13, 0x10, 0x0C, 0x00, 0x81, 0x6E, 0x74, - 0x00, 0x44, 0xDE, 0x11, 0x08, 0x16, 0x12, 0x15, 0x0C, 0x13, 0x16, 0x17, - 0x13, 0x00, 0x4C, 0xEB, 0x11, 0x11, 0xF6, 0x11, 0x15, 0x01, 0x12, 0x17, - 0x0B, 0x12, 0x00, 0x13, 0x0C, 0x06, 0x08, 0x15, 0x00, 0x82, 0x65, 0x6E, - 0x74, 0x00, 0x0C, 0x10, 0x12, 0x15, 0x13, 0x00, 0x82, 0x65, 0x6E, 0x74, - 0x00, 0x04, 0x13, 0x13, 0x04, 0x00, 0x82, 0x65, 0x6E, 0x74, 0x00, 0x08, - 0x13, 0x10, 0x12, 0x06, 0x00, 0x82, 0x65, 0x6E, 0x74, 0x00, 0x4C, 0x23, - 0x12, 0x10, 0x44, 0x12, 0x15, 0xA8, 0x12, 0x19, 0x02, 0x13, 0x00, 0x46, - 0x2A, 0x12, 0x13, 0x37, 0x12, 0x00, 0x08, 0x09, 0x09, 0x08, 0x00, 0x85, - 0x69, 0x63, 0x69, 0x65, 0x6E, 0x74, 0x00, 0x08, 0x06, 0x08, 0x15, 0x00, - 0x85, 0x69, 0x70, 0x69, 0x65, 0x6E, 0x74, 0x00, 0x48, 0x51, 0x12, 0x11, - 0x5D, 0x12, 0x15, 0x7E, 0x12, 0x17, 0x9D, 0x12, 0x00, 0x19, 0x12, 0x0A, - 0x00, 0x83, 0x72, 0x6E, 0x6D, 0x65, 0x6E, 0x74, 0x00, 0x48, 0x64, 0x12, - 0x15, 0x70, 0x12, 0x00, 0x19, 0x12, 0x0A, 0x00, 0x84, 0x72, 0x6E, 0x6D, - 0x65, 0x6E, 0x74, 0x00, 0x12, 0x19, 0x12, 0x0A, 0x00, 0x86, 0x65, 0x72, - 0x6E, 0x6D, 0x65, 0x6E, 0x74, 0x00, 0x48, 0x85, 0x12, 0x12, 0x90, 0x12, - 0x00, 0x19, 0x12, 0x0A, 0x00, 0x83, 0x6E, 0x6D, 0x65, 0x6E, 0x74, 0x00, - 0x19, 0x12, 0x0A, 0x00, 0x85, 0x65, 0x72, 0x6E, 0x6D, 0x65, 0x6E, 0x74, - 0x00, 0x04, 0x17, 0x16, 0x00, 0x83, 0x65, 0x6D, 0x65, 0x6E, 0x74, 0x00, - 0x44, 0xB5, 0x12, 0x08, 0xC0, 0x12, 0x09, 0xCC, 0x12, 0x15, 0xD7, 0x12, - 0x00, 0x13, 0x04, 0x00, 0x84, 0x70, 0x61, 0x72, 0x65, 0x6E, 0x74, 0x00, - 0x09, 0x0C, 0x07, 0x00, 0x84, 0x66, 0x65, 0x72, 0x65, 0x6E, 0x74, 0x00, - 0x09, 0x0C, 0x07, 0x00, 0x83, 0x65, 0x72, 0x65, 0x6E, 0x74, 0x00, 0x44, - 0xDE, 0x12, 0x08, 0xF6, 0x12, 0x00, 0x13, 0x00, 0x44, 0xE7, 0x12, 0x13, - 0xEF, 0x12, 0x00, 0x85, 0x70, 0x61, 0x72, 0x65, 0x6E, 0x74, 0x00, 0x04, - 0x00, 0x83, 0x65, 0x6E, 0x74, 0x00, 0x09, 0x0C, 0x07, 0x00, 0x85, 0x66, - 0x65, 0x72, 0x65, 0x6E, 0x74, 0x00, 0x08, 0x0F, 0x08, 0x15, 0x00, 0x82, - 0x61, 0x6E, 0x74, 0x00, 0x08, 0x09, 0x09, 0x0C, 0x07, 0x00, 0x81, 0x65, - 0x6E, 0x74, 0x00, 0x12, 0x06, 0x00, 0x82, 0x6E, 0x73, 0x74, 0x00, 0x45, - 0x2F, 0x13, 0x10, 0x36, 0x13, 0x11, 0x3D, 0x13, 0x15, 0x47, 0x13, 0x16, - 0x50, 0x13, 0x00, 0x04, 0x2C, 0x00, 0x80, 0x75, 0x74, 0x00, 0x0F, 0x04, - 0x00, 0x80, 0x73, 0x74, 0x00, 0x07, 0x0C, 0x07, 0x00, 0x82, 0x20, 0x6E, - 0x6F, 0x74, 0x00, 0x13, 0x08, 0x15, 0x00, 0x82, 0x6F, 0x72, 0x74, 0x00, - 0x10, 0x0F, 0x04, 0x00, 0x82, 0x6F, 0x73, 0x74, 0x00, 0x48, 0x60, 0x13, - 0x1C, 0x6B, 0x13, 0x00, 0x0C, 0x06, 0x08, 0x15, 0x00, 0x83, 0x65, 0x69, - 0x70, 0x74, 0x00, 0x06, 0x11, 0x08, 0x00, 0x82, 0x72, 0x79, 0x70, 0x74, - 0x00, 0x48, 0x8B, 0x13, 0x0A, 0xB4, 0x13, 0x0C, 0xBD, 0x13, 0x10, 0xDA, - 0x13, 0x11, 0xE4, 0x13, 0x12, 0xFF, 0x13, 0x18, 0x0A, 0x14, 0x00, 0x4A, - 0x92, 0x13, 0x15, 0xA9, 0x13, 0x00, 0x4C, 0x99, 0x13, 0x18, 0xA1, 0x13, - 0x00, 0x0B, 0x00, 0x82, 0x68, 0x65, 0x73, 0x74, 0x00, 0x16, 0x00, 0x82, - 0x67, 0x65, 0x73, 0x74, 0x00, 0x17, 0x11, 0x0C, 0x00, 0x83, 0x65, 0x72, - 0x65, 0x73, 0x74, 0x00, 0x15, 0x04, 0x0F, 0x00, 0x81, 0x65, 0x73, 0x74, - 0x00, 0x49, 0xC4, 0x13, 0x11, 0xD0, 0x13, 0x00, 0x08, 0x11, 0x04, 0x10, - 0x00, 0x84, 0x69, 0x66, 0x65, 0x73, 0x74, 0x00, 0x04, 0x0A, 0x04, 0x00, - 0x83, 0x69, 0x6E, 0x73, 0x74, 0x00, 0x12, 0x0F, 0x04, 0x00, 0x83, 0x6D, - 0x6F, 0x73, 0x74, 0x00, 0x44, 0xEB, 0x13, 0x11, 0xF6, 0x13, 0x00, 0x0C, - 0x0A, 0x04, 0x00, 0x84, 0x61, 0x69, 0x6E, 0x73, 0x74, 0x00, 0x0C, 0x04, - 0x0A, 0x04, 0x00, 0x82, 0x73, 0x74, 0x00, 0x0F, 0x10, 0x04, 0x00, 0x84, - 0x6C, 0x6D, 0x6F, 0x73, 0x74, 0x00, 0x0D, 0x04, 0x2C, 0x00, 0x83, 0x64, - 0x6A, 0x75, 0x73, 0x74, 0x00, 0x46, 0x1F, 0x14, 0x13, 0x38, 0x14, 0x17, - 0x4F, 0x14, 0x00, 0x48, 0x26, 0x14, 0x15, 0x31, 0x14, 0x00, 0x06, 0x1B, - 0x08, 0x00, 0x84, 0x65, 0x63, 0x75, 0x74, 0x65, 0x00, 0x0C, 0x06, 0x00, - 0x80, 0x69, 0x74, 0x00, 0x57, 0x3F, 0x14, 0x18, 0x47, 0x14, 0x00, 0x11, - 0x0C, 0x00, 0x83, 0x70, 0x75, 0x74, 0x00, 0x12, 0x00, 0x82, 0x74, 0x70, - 0x75, 0x74, 0x00, 0x13, 0x18, 0x12, 0x00, 0x83, 0x74, 0x70, 0x75, 0x74, - 0x00, 0x48, 0x60, 0x14, 0x0C, 0x84, 0x14, 0x00, 0x44, 0x67, 0x14, 0x0C, - 0x6E, 0x14, 0x00, 0x0B, 0x2C, 0x00, 0x81, 0x76, 0x65, 0x00, 0x46, 0x75, - 0x14, 0x08, 0x7D, 0x14, 0x00, 0x08, 0x15, 0x00, 0x82, 0x65, 0x69, 0x76, - 0x00, 0x06, 0x08, 0x15, 0x00, 0x81, 0x76, 0x00, 0x08, 0x0B, 0x06, 0x04, - 0x2C, 0x00, 0x82, 0x69, 0x65, 0x76, 0x65, 0x00, 0x4C, 0x9A, 0x14, 0x11, - 0xA4, 0x14, 0x12, 0xAD, 0x14, 0x00, 0x08, 0x19, 0x08, 0x15, 0x00, 0x82, - 0x69, 0x65, 0x77, 0x00, 0x12, 0x0E, 0x2C, 0x00, 0x82, 0x6E, 0x6F, 0x77, - 0x00, 0x0F, 0x12, 0x09, 0x00, 0x81, 0x6C, 0x6F, 0x77, 0x00, 0x44, 0xD2, - 0x14, 0x06, 0xDD, 0x14, 0x08, 0x18, 0x15, 0x0B, 0x22, 0x15, 0x0F, 0x34, - 0x15, 0x11, 0xF9, 0x15, 0x15, 0x03, 0x16, 0x16, 0xA8, 0x16, 0x17, 0xC3, - 0x16, 0x00, 0x11, 0x13, 0x10, 0x12, 0x06, 0x00, 0x82, 0x61, 0x6E, 0x79, - 0x00, 0x44, 0xEA, 0x14, 0x08, 0xF6, 0x14, 0x0C, 0x01, 0x15, 0x13, 0x0C, - 0x15, 0x00, 0x15, 0x06, 0x12, 0x13, 0x1C, 0x0B, 0x00, 0x82, 0x69, 0x73, - 0x79, 0x00, 0x18, 0x14, 0x08, 0x15, 0x09, 0x00, 0x81, 0x6E, 0x63, 0x79, - 0x00, 0x15, 0x06, 0x12, 0x13, 0x1C, 0x0B, 0x00, 0x81, 0x73, 0x79, 0x00, - 0x18, 0x15, 0x0E, 0x11, 0x04, 0x05, 0x00, 0x81, 0x74, 0x63, 0x79, 0x00, - 0x17, 0x09, 0x04, 0x16, 0x00, 0x82, 0x65, 0x74, 0x79, 0x00, 0x06, 0x15, - 0x04, 0x15, 0x0C, 0x08, 0x0B, 0x00, 0x87, 0x69, 0x65, 0x72, 0x61, 0x72, - 0x63, 0x68, 0x79, 0x00, 0x44, 0x47, 0x15, 0x0B, 0x8A, 0x15, 0x0E, 0x94, - 0x15, 0x0F, 0x9C, 0x15, 0x12, 0xE4, 0x15, 0x15, 0xEE, 0x15, 0x00, 0x45, - 0x5A, 0x15, 0x08, 0x63, 0x15, 0x0F, 0x69, 0x15, 0x11, 0x72, 0x15, 0x15, - 0x79, 0x15, 0x18, 0x82, 0x15, 0x00, 0x12, 0x15, 0x13, 0x00, 0x81, 0x62, - 0x6C, 0x79, 0x00, 0x15, 0x00, 0x80, 0x6C, 0x79, 0x00, 0x08, 0x15, 0x00, - 0x83, 0x61, 0x6C, 0x6C, 0x79, 0x00, 0x0C, 0x09, 0x00, 0x80, 0x6C, 0x79, - 0x00, 0x08, 0x11, 0x08, 0x0A, 0x00, 0x80, 0x6C, 0x79, 0x00, 0x17, 0x06, - 0x04, 0x00, 0x80, 0x6C, 0x79, 0x00, 0x0A, 0x0C, 0x0F, 0x16, 0x00, 0x81, - 0x74, 0x6C, 0x79, 0x00, 0x0C, 0x0F, 0x00, 0x81, 0x65, 0x6C, 0x79, 0x00, - 0x44, 0xA6, 0x15, 0x05, 0xD1, 0x15, 0x08, 0xDA, 0x15, 0x00, 0x56, 0xAD, - 0x15, 0x17, 0xC5, 0x15, 0x00, 0x18, 0x00, 0x6C, 0xB6, 0x15, 0x16, 0xBD, - 0x15, 0x00, 0x83, 0x75, 0x61, 0x6C, 0x6C, 0x79, 0x00, 0x18, 0x00, 0x84, - 0x61, 0x6C, 0x6C, 0x79, 0x00, 0x18, 0x06, 0x04, 0x00, 0x85, 0x74, 0x75, - 0x61, 0x6C, 0x6C, 0x79, 0x00, 0x04, 0x05, 0x12, 0x15, 0x13, 0x00, 0x81, - 0x79, 0x00, 0x04, 0x15, 0x00, 0x84, 0x65, 0x61, 0x6C, 0x6C, 0x79, 0x00, - 0x10, 0x12, 0x11, 0x04, 0x00, 0x82, 0x61, 0x6C, 0x79, 0x00, 0x04, 0x10, - 0x0C, 0x15, 0x13, 0x00, 0x81, 0x69, 0x6C, 0x79, 0x00, 0x08, 0x12, 0x10, - 0x2C, 0x00, 0x82, 0x6E, 0x65, 0x79, 0x00, 0x44, 0x13, 0x16, 0x08, 0x7B, - 0x16, 0x12, 0x84, 0x16, 0x17, 0x91, 0x16, 0x19, 0xA0, 0x16, 0x00, 0x45, - 0x23, 0x16, 0x0C, 0x2C, 0x16, 0x0F, 0x39, 0x16, 0x10, 0x55, 0x16, 0x16, - 0x5E, 0x16, 0x00, 0x0C, 0x0F, 0x00, 0x82, 0x72, 0x61, 0x72, 0x79, 0x00, - 0x0F, 0x0F, 0x0C, 0x1B, 0x18, 0x04, 0x00, 0x84, 0x69, 0x61, 0x72, 0x79, - 0x00, 0x4C, 0x40, 0x16, 0x0F, 0x4A, 0x16, 0x00, 0x1B, 0x18, 0x04, 0x00, - 0x82, 0x69, 0x61, 0x72, 0x79, 0x00, 0x0C, 0x1B, 0x18, 0x04, 0x00, 0x83, - 0x69, 0x61, 0x72, 0x79, 0x00, 0x18, 0x16, 0x00, 0x82, 0x6D, 0x61, 0x72, - 0x79, 0x00, 0x08, 0x06, 0x00, 0x46, 0x68, 0x16, 0x08, 0x73, 0x16, 0x00, - 0x08, 0x11, 0x00, 0x85, 0x65, 0x73, 0x73, 0x61, 0x72, 0x79, 0x00, 0x11, - 0x00, 0x82, 0x73, 0x61, 0x72, 0x79, 0x00, 0x13, 0x12, 0x15, 0x13, 0x00, - 0x80, 0x74, 0x79, 0x00, 0x0A, 0x04, 0x17, 0x04, 0x06, 0x00, 0x84, 0x65, - 0x67, 0x6F, 0x72, 0x79, 0x00, 0x11, 0x18, 0x06, 0x12, 0x2C, 0x00, 0x86, - 0x63, 0x6F, 0x75, 0x6E, 0x74, 0x72, 0x79, 0x00, 0x08, 0x2C, 0x00, 0x81, - 0x65, 0x72, 0x79, 0x00, 0x04, 0x00, 0x55, 0xB1, 0x16, 0x1A, 0xBC, 0x16, - 0x00, 0x06, 0x12, 0x13, 0x1C, 0x0B, 0x00, 0x82, 0x69, 0x73, 0x79, 0x00, - 0x0F, 0x04, 0x00, 0x81, 0x79, 0x73, 0x00, 0x49, 0xCD, 0x16, 0x0F, 0xD5, - 0x16, 0x15, 0xDE, 0x16, 0x00, 0x04, 0x16, 0x00, 0x81, 0x65, 0x74, 0x79, - 0x00, 0x0C, 0x05, 0x04, 0x00, 0x81, 0x69, 0x74, 0x79, 0x00, 0x13, 0x08, - 0x12, 0x15, 0x13, 0x00, 0x84, 0x70, 0x65, 0x72, 0x74, 0x79, 0x00}; + 0x00, 0x82, 0x6F, 0x72, 0x64, 0x00, 0x44, 0x01, 0x03, 0x08, 0x0C, 0x03, + 0x00, 0x1A, 0x12, 0x09, 0x00, 0x83, 0x72, 0x77, 0x61, 0x72, 0x64, 0x00, + 0x47, 0x13, 0x03, 0x0C, 0x1D, 0x03, 0x00, 0x0C, 0x16, 0x11, 0x12, 0x06, + 0x00, 0x80, 0x65, 0x64, 0x00, 0x1A, 0x00, 0x83, 0x65, 0x69, 0x72, 0x64, + 0x00, 0x12, 0x00, 0x4B, 0x2E, 0x03, 0x15, 0x34, 0x03, 0x00, 0x16, 0x00, + 0x80, 0x6C, 0x64, 0x00, 0x04, 0x00, 0x80, 0x6E, 0x64, 0x00, 0x44, 0x68, + 0x03, 0x05, 0x75, 0x03, 0x06, 0xA0, 0x03, 0x07, 0x20, 0x04, 0x08, 0x3C, + 0x04, 0x0A, 0x90, 0x04, 0x0B, 0x08, 0x05, 0x0C, 0x59, 0x05, 0x0F, 0x62, + 0x05, 0x11, 0x24, 0x06, 0x15, 0x30, 0x06, 0x16, 0x9A, 0x06, 0x17, 0x1B, + 0x07, 0x18, 0xF6, 0x07, 0x19, 0x2F, 0x08, 0x00, 0x06, 0x13, 0x16, 0x08, + 0x10, 0x04, 0x11, 0x00, 0x82, 0x61, 0x63, 0x65, 0x00, 0x44, 0x7C, 0x03, + 0x0F, 0x86, 0x03, 0x00, 0x0F, 0x0C, 0x04, 0x19, 0x04, 0x00, 0x80, 0x6C, + 0x65, 0x00, 0x44, 0x8D, 0x03, 0x18, 0x98, 0x03, 0x00, 0x0F, 0x0C, 0x04, + 0x19, 0x04, 0x00, 0x82, 0x62, 0x6C, 0x65, 0x00, 0x12, 0x07, 0x00, 0x82, + 0x62, 0x6C, 0x65, 0x00, 0x48, 0xAD, 0x03, 0x0C, 0xB8, 0x03, 0x11, 0xC1, + 0x03, 0x13, 0x13, 0x04, 0x00, 0x15, 0x08, 0x09, 0x08, 0x15, 0x00, 0x81, + 0x6E, 0x63, 0x65, 0x00, 0x08, 0x13, 0x00, 0x83, 0x69, 0x65, 0x63, 0x65, + 0x00, 0x44, 0xCB, 0x03, 0x08, 0xD8, 0x03, 0x18, 0x09, 0x04, 0x00, 0x17, + 0x08, 0x13, 0x10, 0x12, 0x06, 0x00, 0x83, 0x65, 0x6E, 0x63, 0x65, 0x00, + 0x55, 0xDF, 0x03, 0x17, 0xFE, 0x03, 0x00, 0x08, 0x00, 0x49, 0xE8, 0x03, + 0x0F, 0xF5, 0x03, 0x00, 0x15, 0x2C, 0x00, 0x86, 0x65, 0x66, 0x65, 0x72, + 0x65, 0x6E, 0x63, 0x65, 0x00, 0x12, 0x17, 0x00, 0x83, 0x61, 0x6E, 0x63, + 0x65, 0x00, 0x11, 0x0C, 0x04, 0x10, 0x00, 0x81, 0x61, 0x6E, 0x63, 0x65, + 0x00, 0x14, 0x08, 0x16, 0x00, 0x82, 0x65, 0x6E, 0x63, 0x65, 0x00, 0x04, + 0x16, 0x08, 0x10, 0x04, 0x11, 0x00, 0x83, 0x70, 0x61, 0x63, 0x65, 0x00, + 0x0C, 0x15, 0x08, 0x19, 0x00, 0x52, 0x2C, 0x04, 0x19, 0x32, 0x04, 0x00, + 0x82, 0x72, 0x69, 0x64, 0x65, 0x00, 0x12, 0x00, 0x85, 0x65, 0x72, 0x72, + 0x69, 0x64, 0x65, 0x00, 0x17, 0x00, 0x44, 0x4B, 0x04, 0x0C, 0x56, 0x04, + 0x11, 0x60, 0x04, 0x17, 0x83, 0x04, 0x00, 0x15, 0x04, 0x18, 0x0A, 0x00, + 0x82, 0x6E, 0x74, 0x65, 0x65, 0x00, 0x10, 0x10, 0x12, 0x06, 0x00, 0x81, + 0x74, 0x65, 0x65, 0x00, 0x04, 0x15, 0x00, 0x44, 0x6A, 0x04, 0x18, 0x76, + 0x04, 0x00, 0x0A, 0x00, 0x86, 0x75, 0x61, 0x72, 0x61, 0x6E, 0x74, 0x65, + 0x65, 0x00, 0x04, 0x0A, 0x00, 0x87, 0x75, 0x61, 0x72, 0x61, 0x6E, 0x74, + 0x65, 0x65, 0x00, 0x0C, 0x10, 0x12, 0x06, 0x00, 0x84, 0x6D, 0x69, 0x74, + 0x74, 0x65, 0x65, 0x00, 0x44, 0x9A, 0x04, 0x07, 0xDD, 0x04, 0x10, 0xFF, + 0x04, 0x00, 0x4A, 0xA7, 0x04, 0x11, 0xB2, 0x04, 0x16, 0xBB, 0x04, 0x18, + 0xC4, 0x04, 0x00, 0x15, 0x12, 0x10, 0x00, 0x83, 0x74, 0x67, 0x61, 0x67, + 0x65, 0x00, 0x0B, 0x06, 0x00, 0x83, 0x61, 0x6E, 0x67, 0x65, 0x00, 0x08, + 0x10, 0x00, 0x82, 0x73, 0x61, 0x67, 0x65, 0x00, 0x0A, 0x00, 0x6C, 0xCD, + 0x04, 0x04, 0xD3, 0x04, 0x00, 0x83, 0x61, 0x75, 0x67, 0x65, 0x00, 0x0F, + 0x00, 0x84, 0x6E, 0x67, 0x75, 0x61, 0x67, 0x65, 0x00, 0x08, 0x0F, 0x00, + 0x44, 0xEA, 0x04, 0x0C, 0xF0, 0x04, 0x0F, 0xF9, 0x04, 0x00, 0x83, 0x6C, + 0x65, 0x67, 0x65, 0x00, 0x19, 0x0C, 0x15, 0x13, 0x00, 0x82, 0x67, 0x65, + 0x00, 0x04, 0x00, 0x82, 0x67, 0x65, 0x00, 0x04, 0x0C, 0x00, 0x83, 0x6D, + 0x61, 0x67, 0x65, 0x00, 0x17, 0x00, 0x47, 0x1A, 0x05, 0x10, 0x24, 0x05, + 0x12, 0x2E, 0x05, 0x16, 0x37, 0x05, 0x17, 0x40, 0x05, 0x00, 0x11, 0x04, + 0x2C, 0x00, 0x82, 0x20, 0x74, 0x68, 0x65, 0x00, 0x12, 0x15, 0x09, 0x00, + 0x82, 0x20, 0x74, 0x68, 0x65, 0x00, 0x17, 0x2C, 0x00, 0x82, 0x20, 0x74, + 0x68, 0x65, 0x00, 0x04, 0x2C, 0x00, 0x82, 0x20, 0x74, 0x68, 0x65, 0x00, + 0x44, 0x47, 0x05, 0x18, 0x4F, 0x05, 0x00, 0x2C, 0x00, 0x82, 0x20, 0x74, + 0x68, 0x65, 0x00, 0x12, 0x05, 0x04, 0x00, 0x82, 0x20, 0x74, 0x68, 0x65, + 0x00, 0x1D, 0x16, 0x2C, 0x00, 0x82, 0x69, 0x7A, 0x65, 0x00, 0x45, 0x75, + 0x05, 0x0C, 0xE6, 0x05, 0x13, 0xF1, 0x05, 0x16, 0x0D, 0x06, 0x17, 0x15, + 0x06, 0x19, 0x1D, 0x06, 0x00, 0x44, 0x7F, 0x05, 0x0C, 0xCF, 0x05, 0x0F, + 0xDB, 0x05, 0x00, 0x4A, 0x89, 0x05, 0x0C, 0x93, 0x05, 0x0F, 0xB1, 0x05, + 0x00, 0x0C, 0x0F, 0x08, 0x00, 0x83, 0x69, 0x62, 0x6C, 0x65, 0x00, 0x0F, + 0x00, 0x44, 0x9C, 0x05, 0x0C, 0xA7, 0x05, 0x00, 0x19, 0x04, 0x00, 0x85, + 0x69, 0x6C, 0x61, 0x62, 0x6C, 0x65, 0x00, 0x04, 0x19, 0x04, 0x00, 0x84, + 0x61, 0x62, 0x6C, 0x65, 0x00, 0x44, 0xB8, 0x05, 0x0C, 0xC3, 0x05, 0x00, + 0x19, 0x04, 0x00, 0x84, 0x69, 0x6C, 0x61, 0x62, 0x6C, 0x65, 0x00, 0x19, + 0x04, 0x00, 0x85, 0x61, 0x69, 0x6C, 0x61, 0x62, 0x6C, 0x65, 0x00, 0x04, + 0x0F, 0x0C, 0x04, 0x19, 0x04, 0x00, 0x83, 0x62, 0x6C, 0x65, 0x00, 0x0C, + 0x04, 0x19, 0x04, 0x00, 0x82, 0x61, 0x62, 0x6C, 0x65, 0x00, 0x1A, 0x0B, + 0x2C, 0x00, 0x84, 0x77, 0x68, 0x69, 0x6C, 0x65, 0x00, 0x48, 0xF8, 0x05, + 0x12, 0x02, 0x06, 0x00, 0x12, 0x13, 0x00, 0x84, 0x65, 0x6F, 0x70, 0x6C, + 0x65, 0x00, 0x08, 0x12, 0x13, 0x00, 0x85, 0x65, 0x6F, 0x70, 0x6C, 0x65, + 0x00, 0x04, 0x09, 0x00, 0x82, 0x6C, 0x73, 0x65, 0x00, 0x0C, 0x0F, 0x00, + 0x81, 0x74, 0x6C, 0x65, 0x00, 0x08, 0x0F, 0x00, 0x81, 0x65, 0x6C, 0x00, + 0x0C, 0x08, 0x0A, 0x1C, 0x0B, 0x00, 0x83, 0x69, 0x65, 0x6E, 0x65, 0x00, + 0x46, 0x40, 0x06, 0x0C, 0x4A, 0x06, 0x12, 0x56, 0x06, 0x15, 0x7D, 0x06, + 0x18, 0x84, 0x06, 0x00, 0x12, 0x16, 0x2C, 0x00, 0x83, 0x63, 0x6F, 0x72, + 0x65, 0x00, 0x18, 0x14, 0x04, 0x00, 0x84, 0x63, 0x71, 0x75, 0x69, 0x72, + 0x65, 0x00, 0x47, 0x60, 0x06, 0x08, 0x69, 0x06, 0x09, 0x71, 0x06, 0x00, + 0x08, 0x05, 0x00, 0x83, 0x66, 0x6F, 0x72, 0x65, 0x00, 0x05, 0x00, 0x82, + 0x66, 0x6F, 0x72, 0x65, 0x00, 0x15, 0x08, 0x0B, 0x17, 0x00, 0x83, 0x65, + 0x66, 0x6F, 0x72, 0x65, 0x00, 0x08, 0x0B, 0x1A, 0x00, 0x81, 0x65, 0x00, + 0x17, 0x00, 0x6C, 0x8D, 0x06, 0x04, 0x92, 0x06, 0x00, 0x82, 0x72, 0x75, + 0x65, 0x00, 0x10, 0x04, 0x00, 0x82, 0x65, 0x75, 0x72, 0x00, 0x44, 0xAD, + 0x06, 0x08, 0xD1, 0x06, 0x0C, 0xD9, 0x06, 0x0F, 0xE8, 0x06, 0x11, 0xF1, + 0x06, 0x18, 0x0F, 0x07, 0x00, 0x46, 0xB7, 0x06, 0x08, 0xBF, 0x06, 0x0F, + 0xC9, 0x06, 0x00, 0x08, 0x05, 0x00, 0x81, 0x75, 0x73, 0x65, 0x00, 0x05, + 0x2C, 0x00, 0x82, 0x63, 0x61, 0x75, 0x73, 0x65, 0x00, 0x09, 0x00, 0x83, + 0x61, 0x6C, 0x73, 0x65, 0x00, 0x08, 0x0B, 0x17, 0x00, 0x82, 0x73, 0x65, + 0x00, 0x06, 0x15, 0x08, 0x06, 0x1B, 0x08, 0x00, 0x86, 0x65, 0x72, 0x63, + 0x69, 0x73, 0x65, 0x00, 0x0C, 0x04, 0x09, 0x00, 0x83, 0x6C, 0x73, 0x65, + 0x00, 0x48, 0xF8, 0x06, 0x12, 0x03, 0x07, 0x00, 0x16, 0x0C, 0x0F, 0x00, + 0x84, 0x63, 0x65, 0x6E, 0x73, 0x65, 0x00, 0x13, 0x08, 0x15, 0x00, 0x84, + 0x73, 0x70, 0x6F, 0x6E, 0x73, 0x65, 0x00, 0x06, 0x04, 0x08, 0x05, 0x00, + 0x84, 0x63, 0x61, 0x75, 0x73, 0x65, 0x00, 0x44, 0x28, 0x07, 0x08, 0xD6, + 0x07, 0x0F, 0xE1, 0x07, 0x19, 0xED, 0x07, 0x00, 0x47, 0x38, 0x07, 0x0A, + 0x5D, 0x07, 0x0F, 0x6A, 0x07, 0x13, 0xAD, 0x07, 0x15, 0xB7, 0x07, 0x00, + 0x12, 0x10, 0x00, 0x50, 0x42, 0x07, 0x12, 0x51, 0x07, 0x00, 0x12, 0x06, + 0x04, 0x00, 0x87, 0x63, 0x6F, 0x6D, 0x6D, 0x6F, 0x64, 0x61, 0x74, 0x65, + 0x00, 0x06, 0x06, 0x04, 0x00, 0x84, 0x6D, 0x6F, 0x64, 0x61, 0x74, 0x65, + 0x00, 0x12, 0x13, 0x12, 0x15, 0x13, 0x00, 0x84, 0x61, 0x67, 0x61, 0x74, + 0x65, 0x00, 0x46, 0x74, 0x07, 0x13, 0x81, 0x07, 0x18, 0x8E, 0x07, 0x00, + 0x18, 0x0F, 0x04, 0x06, 0x00, 0x85, 0x63, 0x75, 0x6C, 0x61, 0x74, 0x65, + 0x00, 0x10, 0x04, 0x08, 0x17, 0x00, 0x86, 0x6D, 0x70, 0x6C, 0x61, 0x74, + 0x65, 0x00, 0x46, 0x95, 0x07, 0x0F, 0xA2, 0x07, 0x00, 0x18, 0x0F, 0x04, + 0x06, 0x00, 0x86, 0x63, 0x75, 0x6C, 0x61, 0x74, 0x65, 0x00, 0x04, 0x06, + 0x00, 0x84, 0x63, 0x75, 0x6C, 0x61, 0x74, 0x65, 0x00, 0x07, 0x18, 0x00, + 0x84, 0x70, 0x64, 0x61, 0x74, 0x65, 0x00, 0x48, 0xBE, 0x07, 0x18, 0xCB, + 0x07, 0x00, 0x11, 0x04, 0x0A, 0x00, 0x86, 0x65, 0x6E, 0x65, 0x72, 0x61, + 0x74, 0x65, 0x00, 0x06, 0x04, 0x00, 0x84, 0x63, 0x75, 0x72, 0x61, 0x74, + 0x65, 0x00, 0x0F, 0x0F, 0x04, 0x13, 0x00, 0x83, 0x65, 0x74, 0x74, 0x65, + 0x00, 0x04, 0x13, 0x10, 0x08, 0x17, 0x00, 0x83, 0x6C, 0x61, 0x74, 0x65, + 0x00, 0x0C, 0x15, 0x13, 0x00, 0x81, 0x61, 0x74, 0x65, 0x00, 0x4A, 0x00, + 0x08, 0x0C, 0x0C, 0x08, 0x16, 0x16, 0x08, 0x00, 0x08, 0x0F, 0x0F, 0x12, + 0x06, 0x00, 0x82, 0x61, 0x67, 0x75, 0x65, 0x00, 0x14, 0x11, 0x18, 0x00, + 0x83, 0x69, 0x71, 0x75, 0x65, 0x00, 0x44, 0x1D, 0x08, 0x15, 0x25, 0x08, + 0x00, 0x06, 0x2C, 0x00, 0x82, 0x75, 0x73, 0x65, 0x00, 0x08, 0x13, 0x00, + 0x84, 0x75, 0x72, 0x73, 0x75, 0x65, 0x00, 0x4C, 0x36, 0x08, 0x12, 0x5B, + 0x08, 0x00, 0x48, 0x40, 0x08, 0x0B, 0x4A, 0x08, 0x0F, 0x53, 0x08, 0x00, + 0x0F, 0x08, 0x05, 0x00, 0x83, 0x69, 0x65, 0x76, 0x65, 0x00, 0x06, 0x04, + 0x2C, 0x00, 0x81, 0x65, 0x76, 0x65, 0x00, 0x08, 0x05, 0x00, 0x81, 0x65, + 0x76, 0x65, 0x00, 0x52, 0x62, 0x08, 0x19, 0x69, 0x08, 0x00, 0x15, 0x13, + 0x00, 0x82, 0x76, 0x65, 0x00, 0x05, 0x04, 0x00, 0x83, 0x6F, 0x76, 0x65, + 0x00, 0x4C, 0x78, 0x08, 0x11, 0x9A, 0x08, 0x00, 0x08, 0x00, 0x4B, 0x84, + 0x08, 0x0F, 0x8B, 0x08, 0x15, 0x93, 0x08, 0x00, 0x06, 0x00, 0x82, 0x69, + 0x65, 0x66, 0x00, 0x08, 0x05, 0x00, 0x82, 0x69, 0x65, 0x66, 0x00, 0x05, + 0x00, 0x82, 0x69, 0x65, 0x66, 0x00, 0x18, 0x12, 0x09, 0x2C, 0x00, 0x80, + 0x64, 0x00, 0x4C, 0xA9, 0x08, 0x11, 0xB3, 0x08, 0x00, 0x11, 0x12, 0x0A, + 0x2C, 0x00, 0x82, 0x69, 0x6E, 0x67, 0x00, 0x48, 0xBD, 0x08, 0x0C, 0xC6, + 0x08, 0x15, 0x1C, 0x09, 0x00, 0x0C, 0x05, 0x00, 0x83, 0x65, 0x69, 0x6E, + 0x67, 0x00, 0x48, 0xD9, 0x08, 0x0B, 0xE3, 0x08, 0x0F, 0xF0, 0x08, 0x15, + 0xFC, 0x08, 0x17, 0x07, 0x09, 0x1C, 0x11, 0x09, 0x00, 0x0B, 0x06, 0x04, + 0x06, 0x00, 0x83, 0x69, 0x6E, 0x67, 0x00, 0x17, 0x06, 0x04, 0x10, 0x00, + 0x85, 0x74, 0x63, 0x68, 0x69, 0x6E, 0x67, 0x00, 0x08, 0x0C, 0x06, 0x00, + 0x85, 0x65, 0x69, 0x6C, 0x69, 0x6E, 0x67, 0x00, 0x18, 0x06, 0x08, 0x15, + 0x00, 0x82, 0x72, 0x69, 0x6E, 0x67, 0x00, 0x0B, 0x2C, 0x00, 0x84, 0x74, + 0x68, 0x69, 0x6E, 0x67, 0x00, 0x17, 0x1C, 0x11, 0x04, 0x00, 0x83, 0x68, + 0x69, 0x6E, 0x67, 0x00, 0x0C, 0x17, 0x16, 0x00, 0x83, 0x72, 0x69, 0x6E, + 0x67, 0x00, 0x46, 0x36, 0x09, 0x08, 0x56, 0x09, 0x0A, 0x62, 0x09, 0x16, + 0x6C, 0x09, 0x17, 0x7E, 0x09, 0x00, 0x4C, 0x3D, 0x09, 0x15, 0x47, 0x09, + 0x00, 0x17, 0x1A, 0x16, 0x00, 0x83, 0x69, 0x74, 0x63, 0x68, 0x00, 0x04, + 0x08, 0x16, 0x04, 0x08, 0x15, 0x00, 0x86, 0x73, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x00, 0x17, 0x07, 0x11, 0x04, 0x2C, 0x00, 0x82, 0x20, 0x74, 0x68, + 0x65, 0x00, 0x11, 0x08, 0x15, 0x17, 0x16, 0x00, 0x80, 0x74, 0x68, 0x00, + 0x0C, 0x0F, 0x13, 0x10, 0x12, 0x06, 0x04, 0x00, 0x86, 0x63, 0x6F, 0x6D, + 0x70, 0x6C, 0x69, 0x73, 0x68, 0x00, 0x4A, 0x88, 0x09, 0x0C, 0xA0, 0x09, + 0x15, 0xAB, 0x09, 0x00, 0x48, 0x8F, 0x09, 0x0C, 0x99, 0x09, 0x00, 0x15, + 0x17, 0x16, 0x00, 0x82, 0x6E, 0x67, 0x74, 0x68, 0x00, 0x08, 0x0B, 0x00, + 0x81, 0x68, 0x74, 0x00, 0x1A, 0x07, 0x11, 0x04, 0x05, 0x00, 0x81, 0x64, + 0x74, 0x68, 0x00, 0x18, 0x17, 0x2C, 0x00, 0x83, 0x72, 0x75, 0x74, 0x68, + 0x00, 0x15, 0x08, 0x0B, 0x17, 0x2C, 0x00, 0x81, 0x69, 0x72, 0x00, 0x11, + 0x0C, 0x17, 0x0B, 0x00, 0x84, 0x74, 0x68, 0x69, 0x6E, 0x6B, 0x00, 0x44, + 0xE1, 0x09, 0x07, 0x35, 0x0A, 0x08, 0x59, 0x0A, 0x09, 0xAE, 0x0A, 0x0F, + 0xB7, 0x0A, 0x17, 0xD4, 0x0A, 0x18, 0xDD, 0x0A, 0x00, 0x4C, 0xEB, 0x09, + 0x17, 0xF6, 0x09, 0x18, 0x0F, 0x0A, 0x00, 0x06, 0x13, 0x1C, 0x17, 0x00, + 0x83, 0x69, 0x63, 0x61, 0x6C, 0x00, 0x4C, 0xFD, 0x09, 0x18, 0x05, 0x0A, + 0x00, 0x11, 0x0C, 0x00, 0x81, 0x69, 0x61, 0x6C, 0x00, 0x15, 0x0C, 0x19, + 0x00, 0x83, 0x74, 0x75, 0x61, 0x6C, 0x00, 0x51, 0x19, 0x0A, 0x15, 0x22, + 0x0A, 0x17, 0x2B, 0x0A, 0x00, 0x04, 0x2C, 0x00, 0x82, 0x6E, 0x75, 0x61, + 0x6C, 0x00, 0x18, 0x17, 0x04, 0x11, 0x00, 0x82, 0x61, 0x6C, 0x00, 0x0C, + 0x19, 0x00, 0x83, 0x72, 0x74, 0x75, 0x61, 0x6C, 0x00, 0x48, 0x3C, 0x0A, + 0x18, 0x43, 0x0A, 0x00, 0x0C, 0x09, 0x00, 0x81, 0x6C, 0x64, 0x00, 0x52, + 0x4A, 0x0A, 0x1A, 0x50, 0x0A, 0x00, 0x06, 0x00, 0x81, 0x6C, 0x64, 0x00, + 0x12, 0x00, 0x84, 0x77, 0x6F, 0x75, 0x6C, 0x64, 0x00, 0x4A, 0x66, 0x0A, + 0x0F, 0x6E, 0x0A, 0x17, 0x9C, 0x0A, 0x18, 0xA4, 0x0A, 0x00, 0x11, 0x0C, + 0x16, 0x00, 0x81, 0x6C, 0x65, 0x00, 0x44, 0x75, 0x0A, 0x0F, 0x8F, 0x0A, + 0x00, 0x15, 0x00, 0x44, 0x7E, 0x0A, 0x15, 0x85, 0x0A, 0x00, 0x13, 0x00, + 0x81, 0x6C, 0x65, 0x6C, 0x00, 0x04, 0x13, 0x00, 0x84, 0x61, 0x6C, 0x6C, + 0x65, 0x6C, 0x00, 0x04, 0x15, 0x15, 0x04, 0x13, 0x00, 0x85, 0x61, 0x6C, + 0x6C, 0x65, 0x6C, 0x00, 0x17, 0x0C, 0x0F, 0x00, 0x81, 0x6C, 0x65, 0x00, + 0x07, 0x08, 0x0B, 0x06, 0x16, 0x00, 0x81, 0x6C, 0x65, 0x00, 0x08, 0x16, + 0x1C, 0x10, 0x00, 0x81, 0x6C, 0x66, 0x00, 0x0C, 0x09, 0x00, 0x4F, 0xC1, + 0x0A, 0x18, 0xCB, 0x0A, 0x00, 0x0F, 0x18, 0x09, 0x00, 0x84, 0x66, 0x69, + 0x6C, 0x6C, 0x00, 0x09, 0x00, 0x83, 0x6C, 0x66, 0x69, 0x6C, 0x6C, 0x00, + 0x18, 0x16, 0x08, 0x15, 0x00, 0x81, 0x6C, 0x74, 0x00, 0x09, 0x17, 0x04, + 0x08, 0x15, 0x0A, 0x00, 0x85, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6C, 0x00, + 0x4F, 0xF3, 0x0A, 0x15, 0xFE, 0x0A, 0x00, 0x08, 0x05, 0x12, 0x15, 0x13, + 0x00, 0x82, 0x6C, 0x65, 0x6D, 0x00, 0x12, 0x09, 0x12, 0x06, 0x00, 0x83, + 0x6E, 0x66, 0x6F, 0x72, 0x6D, 0x00, 0x44, 0x2C, 0x0B, 0x07, 0x54, 0x0B, + 0x08, 0x5D, 0x0B, 0x0A, 0xCC, 0x0B, 0x0C, 0x1F, 0x0C, 0x12, 0x39, 0x0C, + 0x13, 0xD5, 0x0C, 0x15, 0xE1, 0x0C, 0x16, 0xEC, 0x0C, 0x18, 0xF6, 0x0C, + 0x1A, 0x0D, 0x0D, 0x00, 0x0C, 0x00, 0x4A, 0x35, 0x0B, 0x17, 0x3D, 0x0B, + 0x00, 0x04, 0x2C, 0x00, 0x82, 0x61, 0x69, 0x6E, 0x00, 0x51, 0x44, 0x0B, + 0x15, 0x4C, 0x0B, 0x00, 0x12, 0x06, 0x00, 0x82, 0x61, 0x69, 0x6E, 0x00, + 0x08, 0x06, 0x00, 0x82, 0x61, 0x69, 0x6E, 0x00, 0x18, 0x12, 0x09, 0x2C, + 0x00, 0x81, 0x6E, 0x64, 0x00, 0x47, 0x70, 0x0B, 0x08, 0x7A, 0x0B, 0x13, + 0xA4, 0x0B, 0x15, 0xAD, 0x0B, 0x16, 0xBA, 0x0B, 0x1A, 0xC4, 0x0B, 0x00, + 0x0F, 0x0C, 0x0B, 0x06, 0x00, 0x81, 0x72, 0x65, 0x6E, 0x00, 0x57, 0x81, + 0x0B, 0x1A, 0x9A, 0x0B, 0x00, 0x48, 0x88, 0x0B, 0x1A, 0x90, 0x0B, 0x00, + 0x05, 0x00, 0x82, 0x77, 0x65, 0x65, 0x6E, 0x00, 0x08, 0x05, 0x00, 0x84, + 0x74, 0x77, 0x65, 0x65, 0x6E, 0x00, 0x08, 0x05, 0x00, 0x83, 0x74, 0x77, + 0x65, 0x65, 0x6E, 0x00, 0x04, 0x0B, 0x2C, 0x00, 0x81, 0x70, 0x65, 0x6E, + 0x00, 0x07, 0x0F, 0x0B, 0x06, 0x00, 0x84, 0x69, 0x6C, 0x64, 0x72, 0x65, + 0x6E, 0x00, 0x12, 0x12, 0x0B, 0x06, 0x00, 0x83, 0x73, 0x65, 0x6E, 0x00, + 0x17, 0x08, 0x05, 0x00, 0x80, 0x65, 0x6E, 0x00, 0x48, 0xD3, 0x0B, 0x0C, + 0xDE, 0x0B, 0x00, 0x0C, 0x15, 0x12, 0x09, 0x00, 0x83, 0x65, 0x69, 0x67, + 0x6E, 0x00, 0x4B, 0xF1, 0x0B, 0x0F, 0xF7, 0x0B, 0x11, 0xFF, 0x0B, 0x12, + 0x08, 0x0C, 0x15, 0x0F, 0x0C, 0x16, 0x16, 0x0C, 0x00, 0x17, 0x00, 0x81, + 0x6E, 0x67, 0x00, 0x0F, 0x04, 0x00, 0x83, 0x69, 0x67, 0x6E, 0x00, 0x15, + 0x04, 0x08, 0x0F, 0x00, 0x81, 0x6E, 0x67, 0x00, 0x0A, 0x2C, 0x00, 0x81, + 0x6E, 0x67, 0x00, 0x17, 0x16, 0x00, 0x81, 0x6E, 0x67, 0x00, 0x04, 0x2C, + 0x00, 0x82, 0x73, 0x69, 0x67, 0x6E, 0x00, 0x4A, 0x26, 0x0C, 0x17, 0x2E, + 0x0C, 0x00, 0x04, 0x2C, 0x00, 0x81, 0x61, 0x69, 0x6E, 0x00, 0x04, 0x15, + 0x08, 0x06, 0x00, 0x83, 0x74, 0x61, 0x69, 0x6E, 0x00, 0x4C, 0x43, 0x0C, + 0x16, 0xBF, 0x0C, 0x17, 0xC9, 0x0C, 0x00, 0x46, 0x4D, 0x0C, 0x16, 0x5A, + 0x0C, 0x17, 0x74, 0x0C, 0x00, 0x0C, 0x16, 0x08, 0x07, 0x00, 0x85, 0x63, + 0x69, 0x73, 0x69, 0x6F, 0x6E, 0x00, 0x44, 0x61, 0x0C, 0x16, 0x6A, 0x0C, + 0x00, 0x0C, 0x0F, 0x00, 0x83, 0x69, 0x73, 0x6F, 0x6E, 0x00, 0x04, 0x06, + 0x06, 0x12, 0x00, 0x83, 0x69, 0x6F, 0x6E, 0x00, 0x47, 0x84, 0x0C, 0x0C, + 0x8E, 0x0C, 0x0F, 0x9D, 0x0C, 0x11, 0xA9, 0x0C, 0x16, 0xB5, 0x0C, 0x00, + 0x07, 0x04, 0x00, 0x83, 0x69, 0x74, 0x69, 0x6F, 0x6E, 0x00, 0x17, 0x0C, + 0x13, 0x08, 0x15, 0x00, 0x86, 0x65, 0x74, 0x69, 0x74, 0x69, 0x6F, 0x6E, + 0x00, 0x04, 0x08, 0x15, 0x00, 0x85, 0x6C, 0x61, 0x74, 0x69, 0x6F, 0x6E, + 0x00, 0x06, 0x18, 0x09, 0x00, 0x85, 0x6E, 0x63, 0x74, 0x69, 0x6F, 0x6E, + 0x00, 0x12, 0x13, 0x00, 0x83, 0x69, 0x74, 0x69, 0x6F, 0x6E, 0x00, 0x0C, + 0x19, 0x0C, 0x07, 0x00, 0x81, 0x69, 0x6F, 0x6E, 0x00, 0x0C, 0x06, 0x04, + 0x15, 0x09, 0x00, 0x83, 0x74, 0x69, 0x6F, 0x6E, 0x00, 0x13, 0x0B, 0x04, + 0x00, 0x84, 0x68, 0x61, 0x70, 0x70, 0x65, 0x6E, 0x00, 0x17, 0x18, 0x08, + 0x15, 0x00, 0x83, 0x74, 0x75, 0x72, 0x6E, 0x00, 0x0A, 0x0C, 0x0B, 0x17, + 0x00, 0x82, 0x6E, 0x67, 0x73, 0x00, 0x55, 0xFD, 0x0C, 0x17, 0x06, 0x0D, + 0x00, 0x17, 0x08, 0x15, 0x00, 0x82, 0x75, 0x72, 0x6E, 0x00, 0x08, 0x15, + 0x00, 0x80, 0x72, 0x6E, 0x00, 0x12, 0x0E, 0x11, 0x18, 0x00, 0x82, 0x6E, + 0x6F, 0x77, 0x6E, 0x00, 0x47, 0x22, 0x0D, 0x11, 0x2D, 0x0D, 0x1A, 0x36, + 0x0D, 0x00, 0x08, 0x18, 0x16, 0x13, 0x00, 0x83, 0x65, 0x75, 0x64, 0x6F, + 0x00, 0x1A, 0x0E, 0x2C, 0x00, 0x82, 0x6E, 0x6F, 0x77, 0x00, 0x4F, 0x3D, + 0x0D, 0x11, 0x45, 0x0D, 0x00, 0x0F, 0x12, 0x09, 0x00, 0x81, 0x6F, 0x77, + 0x00, 0x0E, 0x2C, 0x00, 0x81, 0x6F, 0x77, 0x00, 0x56, 0x53, 0x0D, 0x18, + 0x5D, 0x0D, 0x00, 0x04, 0x0B, 0x15, 0x08, 0x13, 0x00, 0x81, 0x70, 0x73, + 0x00, 0x12, 0x12, 0x0F, 0x00, 0x81, 0x6B, 0x75, 0x70, 0x00, 0x44, 0x82, + 0x0D, 0x08, 0xC3, 0x0D, 0x0B, 0xBC, 0x0E, 0x0F, 0xC5, 0x0E, 0x12, 0xD3, + 0x0E, 0x16, 0xE4, 0x0E, 0x17, 0xED, 0x0E, 0x18, 0xF9, 0x0E, 0x1C, 0x02, + 0x0F, 0x00, 0x4C, 0x8C, 0x0D, 0x0F, 0x96, 0x0D, 0x18, 0xB8, 0x0D, 0x00, + 0x0F, 0x0C, 0x10, 0x0C, 0x16, 0x00, 0x82, 0x61, 0x72, 0x00, 0x4C, 0x9D, + 0x0D, 0x18, 0xA8, 0x0D, 0x00, 0x10, 0x10, 0x0C, 0x16, 0x00, 0x84, 0x69, + 0x6C, 0x61, 0x72, 0x00, 0x06, 0x0C, 0x17, 0x04, 0x13, 0x00, 0x86, 0x72, + 0x74, 0x69, 0x63, 0x75, 0x6C, 0x61, 0x72, 0x00, 0x0F, 0x0A, 0x08, 0x15, + 0x00, 0x83, 0x75, 0x6C, 0x61, 0x72, 0x00, 0x44, 0xE2, 0x0D, 0x07, 0xEA, + 0x0D, 0x0B, 0xF7, 0x0D, 0x0C, 0x34, 0x0E, 0x0F, 0x4E, 0x0E, 0x10, 0x58, + 0x0E, 0x11, 0x62, 0x0E, 0x12, 0x8E, 0x0E, 0x17, 0x96, 0x0E, 0x19, 0xA1, + 0x0E, 0x00, 0x0F, 0x06, 0x00, 0x82, 0x65, 0x61, 0x72, 0x00, 0x11, 0x04, + 0x0F, 0x04, 0x06, 0x00, 0x84, 0x65, 0x6E, 0x64, 0x61, 0x72, 0x00, 0x4A, + 0xFE, 0x0D, 0x17, 0x09, 0x0E, 0x00, 0x0C, 0x08, 0x0B, 0x00, 0x85, 0x69, + 0x67, 0x68, 0x65, 0x72, 0x00, 0x48, 0x13, 0x0E, 0x12, 0x1F, 0x0E, 0x18, + 0x2B, 0x0E, 0x00, 0x0B, 0x0A, 0x12, 0x17, 0x00, 0x85, 0x65, 0x74, 0x68, + 0x65, 0x72, 0x00, 0x04, 0x11, 0x00, 0x86, 0x61, 0x6E, 0x6F, 0x74, 0x68, + 0x65, 0x72, 0x00, 0x09, 0x00, 0x83, 0x72, 0x74, 0x68, 0x65, 0x72, 0x00, + 0x4B, 0x3B, 0x0E, 0x0F, 0x43, 0x0E, 0x00, 0x17, 0x2C, 0x00, 0x82, 0x65, + 0x69, 0x72, 0x00, 0x13, 0x10, 0x12, 0x06, 0x00, 0x83, 0x69, 0x6C, 0x65, + 0x72, 0x00, 0x17, 0x0C, 0x09, 0x00, 0x83, 0x6C, 0x74, 0x65, 0x72, 0x00, + 0x10, 0x04, 0x15, 0x0A, 0x2C, 0x00, 0x81, 0x61, 0x72, 0x00, 0x4C, 0x69, + 0x0E, 0x17, 0x75, 0x0E, 0x00, 0x0A, 0x0A, 0x08, 0x05, 0x00, 0x84, 0x69, + 0x6E, 0x6E, 0x65, 0x72, 0x00, 0x4C, 0x7C, 0x0E, 0x16, 0x85, 0x0E, 0x00, + 0x12, 0x13, 0x00, 0x83, 0x6E, 0x74, 0x65, 0x72, 0x00, 0x0C, 0x0F, 0x00, + 0x82, 0x65, 0x6E, 0x65, 0x72, 0x00, 0x09, 0x08, 0x05, 0x00, 0x81, 0x72, + 0x65, 0x00, 0x0B, 0x12, 0x11, 0x04, 0x00, 0x83, 0x74, 0x68, 0x65, 0x72, + 0x00, 0x48, 0xA8, 0x0E, 0x1A, 0xB3, 0x0E, 0x00, 0x08, 0x15, 0x08, 0x0B, + 0x1A, 0x00, 0x83, 0x76, 0x65, 0x72, 0x00, 0x12, 0x0B, 0x00, 0x82, 0x65, + 0x76, 0x65, 0x72, 0x00, 0x08, 0x17, 0x12, 0x00, 0x82, 0x68, 0x65, 0x72, + 0x00, 0x04, 0x18, 0x06, 0x0C, 0x17, 0x15, 0x04, 0x13, 0x00, 0x82, 0x6C, + 0x61, 0x72, 0x00, 0x17, 0x04, 0x15, 0x08, 0x17, 0x11, 0x0C, 0x00, 0x87, + 0x74, 0x65, 0x72, 0x61, 0x74, 0x6F, 0x72, 0x00, 0x04, 0x08, 0x1C, 0x2C, + 0x00, 0x81, 0x72, 0x73, 0x00, 0x12, 0x04, 0x15, 0x08, 0x13, 0x12, 0x00, + 0x82, 0x74, 0x6F, 0x72, 0x00, 0x06, 0x12, 0x2C, 0x00, 0x81, 0x63, 0x75, + 0x72, 0x00, 0x08, 0x19, 0x08, 0x2C, 0x00, 0x81, 0x72, 0x79, 0x00, 0x44, + 0x21, 0x0F, 0x08, 0x55, 0x0F, 0x0A, 0xE5, 0x0F, 0x15, 0xF0, 0x0F, 0x16, + 0xFB, 0x0F, 0x17, 0x93, 0x10, 0x18, 0x9B, 0x10, 0x00, 0x4B, 0x2E, 0x0F, + 0x13, 0x39, 0x0F, 0x15, 0x43, 0x0F, 0x1C, 0x4C, 0x0F, 0x00, 0x13, 0x15, + 0x08, 0x13, 0x00, 0x83, 0x68, 0x61, 0x70, 0x73, 0x00, 0x0B, 0x15, 0x08, + 0x13, 0x00, 0x82, 0x61, 0x70, 0x73, 0x00, 0x08, 0x1C, 0x2C, 0x00, 0x82, + 0x61, 0x72, 0x73, 0x00, 0x1A, 0x0F, 0x04, 0x00, 0x82, 0x61, 0x79, 0x73, + 0x00, 0x44, 0x65, 0x0F, 0x06, 0x7C, 0x0F, 0x0C, 0x87, 0x0F, 0x0F, 0xD3, + 0x0F, 0x16, 0xDA, 0x0F, 0x00, 0x47, 0x6C, 0x0F, 0x0E, 0x74, 0x0F, 0x00, + 0x0C, 0x2C, 0x00, 0x82, 0x65, 0x61, 0x73, 0x00, 0x17, 0x00, 0x83, 0x61, + 0x6B, 0x65, 0x73, 0x00, 0x08, 0x07, 0x11, 0x0C, 0x00, 0x83, 0x69, 0x63, + 0x65, 0x73, 0x00, 0x46, 0x91, 0x0F, 0x15, 0xB8, 0x0F, 0x17, 0xC7, 0x0F, + 0x00, 0x48, 0x98, 0x0F, 0x0C, 0xA2, 0x0F, 0x00, 0x07, 0x11, 0x0C, 0x00, + 0x84, 0x69, 0x63, 0x65, 0x73, 0x00, 0x47, 0xA9, 0x0F, 0x17, 0xB0, 0x0F, + 0x00, 0x11, 0x0C, 0x00, 0x82, 0x65, 0x73, 0x00, 0x15, 0x08, 0x19, 0x00, + 0x82, 0x65, 0x73, 0x00, 0x12, 0x16, 0x08, 0x06, 0x06, 0x04, 0x00, 0x84, + 0x73, 0x6F, 0x72, 0x69, 0x65, 0x73, 0x00, 0x0F, 0x0C, 0x05, 0x04, 0x00, + 0x83, 0x69, 0x74, 0x69, 0x65, 0x73, 0x00, 0x04, 0x09, 0x00, 0x81, 0x73, + 0x65, 0x00, 0x12, 0x0B, 0x06, 0x2C, 0x00, 0x82, 0x6F, 0x73, 0x65, 0x73, + 0x00, 0x0C, 0x11, 0x0B, 0x17, 0x00, 0x83, 0x69, 0x6E, 0x67, 0x73, 0x00, + 0x08, 0x04, 0x1C, 0x2C, 0x00, 0x83, 0x65, 0x61, 0x72, 0x73, 0x00, 0x44, + 0x05, 0x10, 0x08, 0x11, 0x10, 0x12, 0x88, 0x10, 0x00, 0x15, 0x04, 0x05, + 0x10, 0x08, 0x00, 0x82, 0x72, 0x61, 0x73, 0x73, 0x00, 0x46, 0x1E, 0x10, + 0x11, 0x36, 0x10, 0x15, 0x53, 0x10, 0x16, 0x70, 0x10, 0x00, 0x46, 0x25, + 0x10, 0x18, 0x2E, 0x10, 0x00, 0x12, 0x15, 0x13, 0x00, 0x83, 0x65, 0x73, + 0x73, 0x00, 0x16, 0x00, 0x82, 0x63, 0x65, 0x73, 0x73, 0x00, 0x4C, 0x3D, + 0x10, 0x16, 0x49, 0x10, 0x00, 0x16, 0x16, 0x18, 0x05, 0x00, 0x85, 0x69, + 0x6E, 0x65, 0x73, 0x73, 0x00, 0x18, 0x05, 0x00, 0x83, 0x69, 0x6E, 0x65, + 0x73, 0x73, 0x00, 0x13, 0x00, 0x55, 0x5C, 0x10, 0x18, 0x67, 0x10, 0x00, + 0x18, 0x16, 0x00, 0x85, 0x70, 0x70, 0x72, 0x65, 0x73, 0x73, 0x00, 0x16, + 0x00, 0x83, 0x70, 0x72, 0x65, 0x73, 0x73, 0x00, 0x46, 0x77, 0x10, 0x12, + 0x80, 0x10, 0x00, 0x06, 0x18, 0x16, 0x00, 0x83, 0x65, 0x73, 0x73, 0x00, + 0x13, 0x00, 0x82, 0x73, 0x65, 0x73, 0x73, 0x00, 0x15, 0x06, 0x06, 0x04, + 0x00, 0x84, 0x72, 0x6F, 0x73, 0x73, 0x00, 0x15, 0x0C, 0x09, 0x00, 0x81, + 0x73, 0x74, 0x00, 0x52, 0xA2, 0x10, 0x16, 0xB0, 0x10, 0x00, 0x0F, 0x12, + 0x10, 0x12, 0x11, 0x04, 0x00, 0x84, 0x61, 0x6C, 0x6F, 0x75, 0x73, 0x00, + 0x11, 0x08, 0x06, 0x11, 0x12, 0x06, 0x00, 0x85, 0x73, 0x65, 0x6E, 0x73, + 0x75, 0x73, 0x00, 0x44, 0xE4, 0x10, 0x08, 0xF1, 0x10, 0x0A, 0x0E, 0x11, + 0x0B, 0x18, 0x11, 0x0C, 0x3C, 0x11, 0x0F, 0x47, 0x11, 0x10, 0x52, 0x11, + 0x11, 0x5E, 0x11, 0x12, 0xAC, 0x12, 0x13, 0xE6, 0x12, 0x16, 0x02, 0x13, + 0x18, 0xA2, 0x13, 0x00, 0x1A, 0x0B, 0x08, 0x10, 0x12, 0x16, 0x00, 0x83, + 0x77, 0x68, 0x61, 0x74, 0x00, 0x44, 0xF8, 0x10, 0x11, 0x01, 0x11, 0x00, + 0x15, 0x0A, 0x2C, 0x00, 0x82, 0x65, 0x61, 0x74, 0x00, 0x10, 0x11, 0x15, + 0x08, 0x19, 0x12, 0x0A, 0x00, 0x82, 0x65, 0x6E, 0x74, 0x00, 0x0B, 0x18, + 0x04, 0x06, 0x00, 0x82, 0x67, 0x68, 0x74, 0x00, 0x47, 0x22, 0x11, 0x0A, + 0x29, 0x11, 0x0C, 0x31, 0x11, 0x00, 0x0C, 0x1A, 0x00, 0x81, 0x74, 0x68, + 0x00, 0x11, 0x08, 0x0F, 0x00, 0x81, 0x74, 0x68, 0x00, 0x0A, 0x11, 0x12, + 0x17, 0x00, 0x83, 0x69, 0x67, 0x68, 0x74, 0x00, 0x17, 0x18, 0x12, 0x05, + 0x04, 0x00, 0x81, 0x20, 0x69, 0x74, 0x00, 0x16, 0x18, 0x08, 0x15, 0x00, + 0x83, 0x73, 0x75, 0x6C, 0x74, 0x00, 0x04, 0x17, 0x15, 0x12, 0x13, 0x10, + 0x0C, 0x00, 0x81, 0x6E, 0x74, 0x00, 0x44, 0x6B, 0x11, 0x08, 0xA3, 0x11, + 0x15, 0x99, 0x12, 0x16, 0xA4, 0x12, 0x00, 0x4C, 0x78, 0x11, 0x11, 0x83, + 0x11, 0x15, 0x8E, 0x11, 0x17, 0x98, 0x11, 0x00, 0x13, 0x0C, 0x06, 0x08, + 0x15, 0x00, 0x82, 0x65, 0x6E, 0x74, 0x00, 0x0C, 0x10, 0x12, 0x15, 0x13, + 0x00, 0x82, 0x65, 0x6E, 0x74, 0x00, 0x04, 0x13, 0x13, 0x04, 0x00, 0x82, + 0x65, 0x6E, 0x74, 0x00, 0x08, 0x13, 0x10, 0x12, 0x06, 0x00, 0x82, 0x65, + 0x6E, 0x74, 0x00, 0x4C, 0xB0, 0x11, 0x10, 0xD1, 0x11, 0x15, 0x35, 0x12, + 0x19, 0x8F, 0x12, 0x00, 0x46, 0xB7, 0x11, 0x13, 0xC4, 0x11, 0x00, 0x08, + 0x09, 0x09, 0x08, 0x00, 0x85, 0x69, 0x63, 0x69, 0x65, 0x6E, 0x74, 0x00, + 0x08, 0x06, 0x08, 0x15, 0x00, 0x85, 0x69, 0x70, 0x69, 0x65, 0x6E, 0x74, + 0x00, 0x48, 0xDE, 0x11, 0x11, 0xEA, 0x11, 0x15, 0x0B, 0x12, 0x17, 0x2A, + 0x12, 0x00, 0x19, 0x12, 0x0A, 0x00, 0x83, 0x72, 0x6E, 0x6D, 0x65, 0x6E, + 0x74, 0x00, 0x48, 0xF1, 0x11, 0x15, 0xFD, 0x11, 0x00, 0x19, 0x12, 0x0A, + 0x00, 0x84, 0x72, 0x6E, 0x6D, 0x65, 0x6E, 0x74, 0x00, 0x12, 0x19, 0x12, + 0x0A, 0x00, 0x86, 0x65, 0x72, 0x6E, 0x6D, 0x65, 0x6E, 0x74, 0x00, 0x48, + 0x12, 0x12, 0x12, 0x1D, 0x12, 0x00, 0x19, 0x12, 0x0A, 0x00, 0x83, 0x6E, + 0x6D, 0x65, 0x6E, 0x74, 0x00, 0x19, 0x12, 0x0A, 0x00, 0x85, 0x65, 0x72, + 0x6E, 0x6D, 0x65, 0x6E, 0x74, 0x00, 0x04, 0x17, 0x16, 0x00, 0x83, 0x65, + 0x6D, 0x65, 0x6E, 0x74, 0x00, 0x44, 0x42, 0x12, 0x08, 0x4D, 0x12, 0x09, + 0x59, 0x12, 0x15, 0x64, 0x12, 0x00, 0x13, 0x04, 0x00, 0x84, 0x70, 0x61, + 0x72, 0x65, 0x6E, 0x74, 0x00, 0x09, 0x0C, 0x07, 0x00, 0x84, 0x66, 0x65, + 0x72, 0x65, 0x6E, 0x74, 0x00, 0x09, 0x0C, 0x07, 0x00, 0x83, 0x65, 0x72, + 0x65, 0x6E, 0x74, 0x00, 0x44, 0x6B, 0x12, 0x08, 0x83, 0x12, 0x00, 0x13, + 0x00, 0x44, 0x74, 0x12, 0x13, 0x7C, 0x12, 0x00, 0x85, 0x70, 0x61, 0x72, + 0x65, 0x6E, 0x74, 0x00, 0x04, 0x00, 0x83, 0x65, 0x6E, 0x74, 0x00, 0x09, + 0x0C, 0x07, 0x00, 0x85, 0x66, 0x65, 0x72, 0x65, 0x6E, 0x74, 0x00, 0x08, + 0x0F, 0x08, 0x15, 0x00, 0x82, 0x61, 0x6E, 0x74, 0x00, 0x08, 0x09, 0x09, + 0x0C, 0x07, 0x00, 0x81, 0x65, 0x6E, 0x74, 0x00, 0x12, 0x06, 0x00, 0x82, + 0x6E, 0x73, 0x74, 0x00, 0x45, 0xBC, 0x12, 0x10, 0xC3, 0x12, 0x11, 0xCA, + 0x12, 0x15, 0xD4, 0x12, 0x16, 0xDD, 0x12, 0x00, 0x04, 0x2C, 0x00, 0x80, + 0x75, 0x74, 0x00, 0x0F, 0x04, 0x00, 0x80, 0x73, 0x74, 0x00, 0x07, 0x0C, + 0x07, 0x00, 0x82, 0x20, 0x6E, 0x6F, 0x74, 0x00, 0x13, 0x08, 0x15, 0x00, + 0x82, 0x6F, 0x72, 0x74, 0x00, 0x10, 0x0F, 0x04, 0x00, 0x82, 0x6F, 0x73, + 0x74, 0x00, 0x48, 0xED, 0x12, 0x1C, 0xF8, 0x12, 0x00, 0x0C, 0x06, 0x08, + 0x15, 0x00, 0x83, 0x65, 0x69, 0x70, 0x74, 0x00, 0x06, 0x11, 0x08, 0x00, + 0x82, 0x72, 0x79, 0x70, 0x74, 0x00, 0x48, 0x18, 0x13, 0x0A, 0x41, 0x13, + 0x0C, 0x4A, 0x13, 0x10, 0x67, 0x13, 0x11, 0x71, 0x13, 0x12, 0x8C, 0x13, + 0x18, 0x97, 0x13, 0x00, 0x4A, 0x1F, 0x13, 0x15, 0x36, 0x13, 0x00, 0x4C, + 0x26, 0x13, 0x18, 0x2E, 0x13, 0x00, 0x0B, 0x00, 0x82, 0x68, 0x65, 0x73, + 0x74, 0x00, 0x16, 0x00, 0x82, 0x67, 0x65, 0x73, 0x74, 0x00, 0x17, 0x11, + 0x0C, 0x00, 0x83, 0x65, 0x72, 0x65, 0x73, 0x74, 0x00, 0x15, 0x04, 0x0F, + 0x00, 0x81, 0x65, 0x73, 0x74, 0x00, 0x49, 0x51, 0x13, 0x11, 0x5D, 0x13, + 0x00, 0x08, 0x11, 0x04, 0x10, 0x00, 0x84, 0x69, 0x66, 0x65, 0x73, 0x74, + 0x00, 0x04, 0x0A, 0x04, 0x00, 0x83, 0x69, 0x6E, 0x73, 0x74, 0x00, 0x12, + 0x0F, 0x04, 0x00, 0x83, 0x6D, 0x6F, 0x73, 0x74, 0x00, 0x44, 0x78, 0x13, + 0x11, 0x83, 0x13, 0x00, 0x0C, 0x0A, 0x04, 0x00, 0x84, 0x61, 0x69, 0x6E, + 0x73, 0x74, 0x00, 0x0C, 0x04, 0x0A, 0x04, 0x00, 0x82, 0x73, 0x74, 0x00, + 0x0F, 0x10, 0x04, 0x00, 0x84, 0x6C, 0x6D, 0x6F, 0x73, 0x74, 0x00, 0x0D, + 0x04, 0x2C, 0x00, 0x83, 0x64, 0x6A, 0x75, 0x73, 0x74, 0x00, 0x46, 0xAC, + 0x13, 0x13, 0xC5, 0x13, 0x17, 0xDC, 0x13, 0x00, 0x48, 0xB3, 0x13, 0x15, + 0xBE, 0x13, 0x00, 0x06, 0x1B, 0x08, 0x00, 0x84, 0x65, 0x63, 0x75, 0x74, + 0x65, 0x00, 0x0C, 0x06, 0x00, 0x80, 0x69, 0x74, 0x00, 0x57, 0xCC, 0x13, + 0x18, 0xD4, 0x13, 0x00, 0x11, 0x0C, 0x00, 0x83, 0x70, 0x75, 0x74, 0x00, + 0x12, 0x00, 0x82, 0x74, 0x70, 0x75, 0x74, 0x00, 0x13, 0x18, 0x12, 0x00, + 0x83, 0x74, 0x70, 0x75, 0x74, 0x00, 0x48, 0xED, 0x13, 0x0C, 0x11, 0x14, + 0x00, 0x44, 0xF4, 0x13, 0x0C, 0xFB, 0x13, 0x00, 0x0B, 0x2C, 0x00, 0x81, + 0x76, 0x65, 0x00, 0x46, 0x02, 0x14, 0x08, 0x0A, 0x14, 0x00, 0x08, 0x15, + 0x00, 0x82, 0x65, 0x69, 0x76, 0x00, 0x06, 0x08, 0x15, 0x00, 0x81, 0x76, + 0x00, 0x08, 0x0B, 0x06, 0x04, 0x2C, 0x00, 0x82, 0x69, 0x65, 0x76, 0x65, + 0x00, 0x4C, 0x27, 0x14, 0x11, 0x31, 0x14, 0x12, 0x3A, 0x14, 0x00, 0x08, + 0x19, 0x08, 0x15, 0x00, 0x82, 0x69, 0x65, 0x77, 0x00, 0x12, 0x0E, 0x2C, + 0x00, 0x82, 0x6E, 0x6F, 0x77, 0x00, 0x0F, 0x12, 0x09, 0x00, 0x81, 0x6C, + 0x6F, 0x77, 0x00, 0x44, 0x5F, 0x14, 0x06, 0x6A, 0x14, 0x08, 0xA5, 0x14, + 0x0B, 0xAF, 0x14, 0x0F, 0xC1, 0x14, 0x11, 0x86, 0x15, 0x15, 0x90, 0x15, + 0x16, 0x06, 0x16, 0x17, 0x21, 0x16, 0x00, 0x11, 0x13, 0x10, 0x12, 0x06, + 0x00, 0x82, 0x61, 0x6E, 0x79, 0x00, 0x44, 0x77, 0x14, 0x08, 0x83, 0x14, + 0x0C, 0x8E, 0x14, 0x13, 0x99, 0x14, 0x00, 0x15, 0x06, 0x12, 0x13, 0x1C, + 0x0B, 0x00, 0x82, 0x69, 0x73, 0x79, 0x00, 0x18, 0x14, 0x08, 0x15, 0x09, + 0x00, 0x81, 0x6E, 0x63, 0x79, 0x00, 0x15, 0x06, 0x12, 0x13, 0x1C, 0x0B, + 0x00, 0x81, 0x73, 0x79, 0x00, 0x18, 0x15, 0x0E, 0x11, 0x04, 0x05, 0x00, + 0x81, 0x74, 0x63, 0x79, 0x00, 0x17, 0x09, 0x04, 0x16, 0x00, 0x82, 0x65, + 0x74, 0x79, 0x00, 0x06, 0x15, 0x04, 0x15, 0x0C, 0x08, 0x0B, 0x00, 0x87, + 0x69, 0x65, 0x72, 0x61, 0x72, 0x63, 0x68, 0x79, 0x00, 0x44, 0xD4, 0x14, + 0x0B, 0x17, 0x15, 0x0E, 0x21, 0x15, 0x0F, 0x29, 0x15, 0x12, 0x71, 0x15, + 0x15, 0x7B, 0x15, 0x00, 0x45, 0xE7, 0x14, 0x08, 0xF0, 0x14, 0x0F, 0xF6, + 0x14, 0x11, 0xFF, 0x14, 0x15, 0x06, 0x15, 0x18, 0x0F, 0x15, 0x00, 0x12, + 0x15, 0x13, 0x00, 0x81, 0x62, 0x6C, 0x79, 0x00, 0x15, 0x00, 0x80, 0x6C, + 0x79, 0x00, 0x08, 0x15, 0x00, 0x83, 0x61, 0x6C, 0x6C, 0x79, 0x00, 0x0C, + 0x09, 0x00, 0x80, 0x6C, 0x79, 0x00, 0x08, 0x11, 0x08, 0x0A, 0x00, 0x80, + 0x6C, 0x79, 0x00, 0x17, 0x06, 0x04, 0x00, 0x80, 0x6C, 0x79, 0x00, 0x0A, + 0x0C, 0x0F, 0x16, 0x00, 0x81, 0x74, 0x6C, 0x79, 0x00, 0x0C, 0x0F, 0x00, + 0x81, 0x65, 0x6C, 0x79, 0x00, 0x44, 0x33, 0x15, 0x05, 0x5E, 0x15, 0x08, + 0x67, 0x15, 0x00, 0x56, 0x3A, 0x15, 0x17, 0x52, 0x15, 0x00, 0x18, 0x00, + 0x6C, 0x43, 0x15, 0x16, 0x4A, 0x15, 0x00, 0x83, 0x75, 0x61, 0x6C, 0x6C, + 0x79, 0x00, 0x18, 0x00, 0x84, 0x61, 0x6C, 0x6C, 0x79, 0x00, 0x18, 0x06, + 0x04, 0x00, 0x85, 0x74, 0x75, 0x61, 0x6C, 0x6C, 0x79, 0x00, 0x04, 0x05, + 0x12, 0x15, 0x13, 0x00, 0x81, 0x79, 0x00, 0x04, 0x15, 0x00, 0x84, 0x65, + 0x61, 0x6C, 0x6C, 0x79, 0x00, 0x10, 0x12, 0x11, 0x04, 0x00, 0x82, 0x61, + 0x6C, 0x79, 0x00, 0x04, 0x10, 0x0C, 0x15, 0x13, 0x00, 0x81, 0x69, 0x6C, + 0x79, 0x00, 0x08, 0x12, 0x10, 0x2C, 0x00, 0x82, 0x6E, 0x65, 0x79, 0x00, + 0x44, 0xA0, 0x15, 0x08, 0xD9, 0x15, 0x12, 0xE2, 0x15, 0x17, 0xEF, 0x15, + 0x19, 0xFE, 0x15, 0x00, 0x45, 0xAA, 0x15, 0x10, 0xB3, 0x15, 0x16, 0xBC, + 0x15, 0x00, 0x0C, 0x0F, 0x00, 0x82, 0x72, 0x61, 0x72, 0x79, 0x00, 0x18, + 0x16, 0x00, 0x82, 0x6D, 0x61, 0x72, 0x79, 0x00, 0x08, 0x06, 0x00, 0x46, + 0xC6, 0x15, 0x08, 0xD1, 0x15, 0x00, 0x08, 0x11, 0x00, 0x85, 0x65, 0x73, + 0x73, 0x61, 0x72, 0x79, 0x00, 0x11, 0x00, 0x82, 0x73, 0x61, 0x72, 0x79, + 0x00, 0x13, 0x12, 0x15, 0x13, 0x00, 0x80, 0x74, 0x79, 0x00, 0x0A, 0x04, + 0x17, 0x04, 0x06, 0x00, 0x84, 0x65, 0x67, 0x6F, 0x72, 0x79, 0x00, 0x11, + 0x18, 0x06, 0x12, 0x2C, 0x00, 0x86, 0x63, 0x6F, 0x75, 0x6E, 0x74, 0x72, + 0x79, 0x00, 0x08, 0x2C, 0x00, 0x81, 0x65, 0x72, 0x79, 0x00, 0x04, 0x00, + 0x55, 0x0F, 0x16, 0x1A, 0x1A, 0x16, 0x00, 0x06, 0x12, 0x13, 0x1C, 0x0B, + 0x00, 0x82, 0x69, 0x73, 0x79, 0x00, 0x0F, 0x04, 0x00, 0x81, 0x79, 0x73, + 0x00, 0x49, 0x2B, 0x16, 0x0F, 0x33, 0x16, 0x15, 0x3C, 0x16, 0x00, 0x04, + 0x16, 0x00, 0x81, 0x65, 0x74, 0x79, 0x00, 0x0C, 0x05, 0x04, 0x00, 0x81, + 0x69, 0x74, 0x79, 0x00, 0x13, 0x08, 0x12, 0x15, 0x13, 0x00, 0x84, 0x70, + 0x65, 0x72, 0x74, 0x79, 0x00, +}; diff --git a/jack/autocorrect_dict.txt b/jack/autocorrect_dict.txt index 135bb64..547ad56 100644 --- a/jack/autocorrect_dict.txt +++ b/jack/autocorrect_dict.txt @@ -1,4 +1,4 @@ -# Copyright 2024 [email protected] +# Copyright 2025 [email protected] # SPDX-License-Identifier: GPL-2.0-or-later :theri -> their @@ -120,9 +120,6 @@ aparrent -> apparent apparant -> apparent apparrent -> apparent asthetic -> aesthetic -auxilary -> auxiliary -auxillary -> auxiliary -auxilliary -> auxiliary bankrupcy -> bankruptcy busness -> business bussiness -> business @@ -177,8 +174,6 @@ relevent -> relevant repitition -> repetition safty -> safety saftey -> safety -seperat -> separat -spectogram -> spectrogram symetric -> symmetric tolerence -> tolerance cacheing -> caching @@ -197,7 +192,6 @@ interator -> iterator looup -> lookup namesapce -> namespace namespcae -> namespace -nulltpr -> nullptr operaotr -> operator overide -> override ovveride -> override @@ -237,7 +231,6 @@ fromthe -> from the :aslo: -> also :casue -> cause :choses -> chooses -:gaurd -> guard :haev -> have :hapen -> happen :idaes -> ideas @@ -299,7 +292,6 @@ cheif -> chief cieling -> ceiling circut -> circuit clasic -> classic -cmoputer -> computer coform -> conform comming: -> coming considerd -> considered @@ -330,7 +322,6 @@ greatful -> grateful heigher -> higher higest -> highest howver -> however -hydogen -> hydrogen importamt -> important inclued -> include insted -> instead @@ -388,7 +379,6 @@ supress -> suppress surpress -> suppress thresold -> threshold tongiht -> tonight -tranpose -> transpose typcial -> typical udpate -> update ususally -> usually diff --git a/jack/color.c b/jack/color.c deleted file mode 100644 index 4d833f3..0000000 --- a/jack/color.c +++ /dev/null @@ -1,132 +0,0 @@ -// Copyright 2024 [email protected] -// SPDX-License-Identifier: GPL-2.0-or-later -#include "color.h" -#include <lib/lib8tion/lib8tion.h> -#define FORCE_REFERENCE(var) __asm__ volatile("" : : "r"(var)) -#define FASTLED_SCALE8_FIXED 1 - -RGB rgb_matrix_hsv_to_rgb(const HSV hsv) { - const uint8_t Y1 = 1, Y2 = 0, G_2 = 1, Gscale = 0, hue = hsv.h, sat = hsv.s; - uint8_t val = hsv.v, offset = hue & 0x1F, offset8 = offset; - { -#ifdef __AVR__ - offset8 <<= 1; - __asm__ volatile(""); - offset8 <<= 1; - __asm__ volatile(""); - offset8 <<= 1; -#else - offset8 <<= 3; -#endif - } - uint8_t third = scale8(offset8, (256 / 3)), r, g, b; - if (!(hue & 0x80)) { - if (!(hue & 0x40)) { - if (!(hue & 0x20)) { - r = 255 - third; - g = third; - b = 0; - FORCE_REFERENCE(b); - } else { - if (Y1) { - r = 171; - g = 85 + third; - b = 0; - FORCE_REFERENCE(b); - } - if (Y2) { - r = 170 + third; - uint8_t twothirds = scale8(offset8, ((256 * 2) / 3)); - g = 85 + twothirds; - b = 0; - FORCE_REFERENCE(b); - } - } - } else { - if (!(hue & 0x20)) { - if (Y1) { - uint8_t twothirds = scale8(offset8, ((256 * 2) / 3)); - r = 171 - twothirds; - g = 170 + third; - b = 0; - FORCE_REFERENCE(b); - } - if (Y2) { - r = 255 - offset8; - g = 255; - b = 0; - FORCE_REFERENCE(b); - } - } else { - r = 0; - FORCE_REFERENCE(r); - g = 255 - third; - b = third; - } - } - } else { - if (!(hue & 0x40)) { - if (!(hue & 0x20)) { - r = 0; - FORCE_REFERENCE(r); - uint8_t twothirds = scale8(offset8, ((256 * 2) / 3)); - g = 171 - twothirds; - b = 85 + twothirds; - } else { - r = third; - g = 0; - FORCE_REFERENCE(g); - b = 255 - third; - } - } else { - if (!(hue & 0x20)) { - r = 85 + third; - g = 0; - FORCE_REFERENCE(g); - b = 171 - third; - } else { - r = 170 + third; - g = 0; - FORCE_REFERENCE(g); - b = 85 - third; - } - } - } - if (G_2) - g = g >> 1; - if (Gscale) - g = scale8_video_LEAVING_R1_DIRTY(g, Gscale); - if (sat != 255) { - if (sat == 0) { - r = 255; - b = 255; - g = 255; - } else { - uint8_t desat = 255 - sat; - desat = scale8_video(desat, desat); - uint8_t satscale = 255 - desat; - r = scale8_LEAVING_R1_DIRTY(r, satscale); - g = scale8_LEAVING_R1_DIRTY(g, satscale); - b = scale8_LEAVING_R1_DIRTY(b, satscale); - cleanup_R1(); - uint8_t brightness_floor = desat; - r += brightness_floor; - g += brightness_floor; - b += brightness_floor; - } - } - if (val != 255) { - val = scale8_video_LEAVING_R1_DIRTY(val, val); - if (val == 0) { - r = 0; - g = 0; - b = 0; - } else { - r = scale8_LEAVING_R1_DIRTY(r, val); - g = scale8_LEAVING_R1_DIRTY(g, val); - b = scale8_LEAVING_R1_DIRTY(b, val); - cleanup_R1(); - } - } - return (RGB){.r = r, .g = g, .b = b}; -} diff --git a/jack/combos.def b/jack/combos.def index 53934f1..e3a44f4 100644 --- a/jack/combos.def +++ b/jack/combos.def @@ -1,4 +1,4 @@ -// Copyright 2024 [email protected] +// Copyright 2025 [email protected] // SPDX-License-Identifier: GPL-2.0-or-later // name output keys diff --git a/jack/combos.h b/jack/combos.h deleted file mode 100644 index 27e7a7c..0000000 --- a/jack/combos.h +++ /dev/null @@ -1,20 +0,0 @@ -// Copyright 2024 [email protected] -// SPDX-License-Identifier: GPL-2.0-or-later -#pragma once - -#define CMB(name, action, ...) name, -enum combos { -#include "combos.def" -}; -#undef CMB - -#define CMB(name, action, ...) \ - uint16_t const name##_combo[] PROGMEM = {__VA_ARGS__, COMBO_END}; -#include "combos.def" -#undef CMB - -#define CMB(name, action, ...) [name] = COMBO(name##_combo, action), -combo_t key_combos[] = { -#include "combos.def" -}; -#undef CMB diff --git a/jack/config.h b/jack/config.h index 2b47028..0c34ee0 100644 --- a/jack/config.h +++ b/jack/config.h @@ -1,15 +1,17 @@ -// Copyright 2024 [email protected] +// Copyright 2025 [email protected] // SPDX-License-Identifier: GPL-2.0-or-later #pragma once #define TAPPING_TERM_PER_KEY #define TAPPING_TERM 140 -#define FORCE_NKRO #define BOTH_SHIFTS_TURNS_ON_CAPS_WORD #define COMBO_TERM 40 #define NO_ACTION_ONESHOT #define UNICODE_SELECTED_MODES UNICODE_MODE_LINUX #define ENABLE_COMPILE_KEYCODE +#define LAYER_STATE_8BIT +#undef LOCKING_SUPPORT_ENABLE +#undef LOCKING_RESYNC_ENABLE #undef MANUFACTURER #define MANUFACTURER "jacks" diff --git a/jack/dict.h b/jack/dict.h deleted file mode 100644 index c7a27f4..0000000 --- a/jack/dict.h +++ /dev/null @@ -1,207 +0,0 @@ -// Copyright 2024 [email protected] -// SPDX-License-Identifier: GPL-2.0-or-later -#pragma once - -#define NUM_WORDS 1000 - -const char *dict[NUM_WORDS] = { - "the", "of", "to", "and", "a", - "in", "is", "it", "you", "that", - "he", "was", "for", "on", "are", - "with", "as", "I", "his", "they", - "be", "at", "one", "have", "this", - "from", "or", "had", "by", "not", - "word", "but", "what", "some", "we", - "can", "out", "other", "were", "all", - "there", "when", "up", "use", "your", - "how", "said", "an", "each", "she", - "which", "do", "their", "time", "if", - "will", "way", "about", "many", "then", - "them", "write", "would", "like", "so", - "these", "her", "long", "make", "thing", - "see", "him", "two", "has", "look", - "more", "day", "could", "go", "come", - "did", "number", "sound", "no", "most", - "people", "my", "over", "know", "water", - "than", "call", "first", "who", "may", - "down", "side", "been", "now", "find", - "any", "new", "work", "part", "take", - "get", "place", "made", "live", "where", - "after", "back", "little", "only", "round", - "man", "year", "came", "show", "every", - "good", "me", "give", "our", "under", - "name", "very", "through", "just", "form", - "sentence", "great", "think", "say", "help", - "low", "line", "differ", "turn", "cause", - "much", "mean", "before", "move", "right", - "boy", "old", "too", "same", "tell", - "does", "set", "three", "want", "air", - "well", "also", "play", "small", "end", - "put", "home", "read", "hand", "port", - "large", "spell", "add", "even", "land", - "here", "must", "big", "high", "such", - "follow", "act", "why", "ask", "men", - "change", "went", "light", "kind", "off", - "need", "house", "picture", "try", "us", - "again", "animal", "point", "mother", "world", - "near", "build", "self", "earth", "father", - "head", "stand", "own", "page", "should", - "country", "found", "answer", "school", "grow", - "study", "still", "learn", "plant", "cover", - "food", "sun", "four", "between", "state", - "keep", "eye", "never", "last", "let", - "thought", "city", "tree", "cross", "farm", - "hard", "start", "might", "story", "saw", - "far", "sea", "draw", "left", "late", - "run", "don't", "while", "press", "close", - "night", "real", "life", "few", "north", - "open", "seem", "together", "next", "white", - "children", "begin", "got", "walk", "example", - "ease", "paper", "group", "always", "music", - "those", "both", "mark", "often", "letter", - "until", "mile", "river", "car", "feet", - "care", "second", "book", "carry", "took", - "science", "eat", "room", "friend", "began", - "idea", "fish", "mountain", "stop", "once", - "base", "hear", "horse", "cut", "sure", - "watch", "color", "face", "wood", "main", - "enough", "plain", "girl", "usual", "young", - "ready", "above", "ever", "red", "list", - "though", "feel", "talk", "bird", "soon", - "body", "dog", "family", "direct", "pose", - "leave", "song", "measure", "door", "product", - "black", "short", "numeral", "class", "wind", - "question", "happen", "complete", "ship", "area", - "half", "rock", "order", "fire", "south", - "problem", "piece", "told", "knew", "pass", - "since", "top", "whole", "king", "space", - "heard", "best", "hour", "better", "true", - "during", "hundred", "five", "remember", "step", - "early", "hold", "west", "ground", "interest", - "reach", "fast", "verb", "sing", "listen", - "six", "table", "travel", "less", "morning", - "ten", "simple", "several", "vowel", "toward", - "war", "lay", "against", "pattern", "slow", - "center", "love", "person", "money", "serve", - "appear", "road", "map", "rain", "rule", - "govern", "pull", "cold", "notice", "voice", - "unit", "power", "town", "fine", "certain", - "fly", "fall", "lead", "cry", "dark", - "machine", "note", "wait", "plan", "figure", - "star", "box", "noun", "field", "rest", - "correct", "able", "pound", "done", "beauty", - "drive", "stood", "contain", "front", "teach", - "week", "final", "gave", "green", "oh", - "quick", "develop", "ocean", "warm", "free", - "minute", "strong", "special", "mind", "behind", - "clear", "tail", "produce", "fact", "street", - "inch", "multiply", "nothing", "course", "stay", - "wheel", "full", "force", "blue", "object", - "decide", "surface", "deep", "moon", "island", - "foot", "system", "busy", "test", "record", - "boat", "common", "gold", "possible", "plane", - "stead", "dry", "wonder", "laugh", "thousand", - "ago", "ran", "check", "game", "shape", - "equate", "hot", "miss", "brought", "heat", - "snow", "tire", "bring", "yes", "distant", - "fill", "east", "paint", "language", "among", - "grand", "ball", "yet", "wave", "drop", - "heart", "am", "present", "heavy", "dance", - "engine", "position", "arm", "wide", "sail", - "material", "size", "vary", "settle", "speak", - "weight", "general", "ice", "matter", "circle", - "pair", "include", "divide", "syllable", "felt", - "perhaps", "pick", "sudden", "count", "square", - "reason", "length", "represent", "art", "subject", - "region", "energy", "hunt", "probable", "bed", - "brother", "egg", "ride", "cell", "believe", - "fraction", "forest", "sit", "race", "window", - "store", "summer", "train", "sleep", "prove", - "lone", "leg", "exercise", "wall", "catch", - "mount", "wish", "sky", "board", "joy", - "winter", "sat", "written", "wild", "instrument", - "kept", "glass", "grass", "cow", "job", - "edge", "sign", "visit", "past", "soft", - "fun", "bright", "gas", "weather", "month", - "million", "bear", "finish", "happy", "hope", - "flower", "clothe", "strange", "gone", "jump", - "baby", "eight", "village", "meet", "root", - "buy", "raise", "solve", "metal", "whether", - "push", "seven", "paragraph", "third", "shall", - "held", "hair", "describe", "cook", "floor", - "either", "result", "burn", "hill", "safe", - "cat", "century", "consider", "type", "law", - "bit", "coast", "copy", "phrase", "silent", - "tall", "sand", "soil", "roll", "temperature", - "finger", "industry", "value", "fight", "lie", - "beat", "excite", "natural", "view", "sense", - "ear", "else", "quite", "broke", "case", - "middle", "kill", "son", "lake", "moment", - "scale", "loud", "spring", "observe", "child", - "straight", "consonant", "nation", "dictionary", "milk", - "speed", "method", "organ", "pay", "age", - "section", "dress", "cloud", "surprise", "quiet", - "stone", "tiny", "climb", "cool", "design", - "poor", "lot", "experiment", "bottom", "key", - "iron", "single", "stick", "flat", "twenty", - "skin", "smile", "crease", "hole", "trade", - "melody", "trip", "office", "receive", "row", - "mouth", "exact", "symbol", "die", "least", - "trouble", "shout", "except", "wrote", "seed", - "tone", "join", "suggest", "clean", "break", - "lady", "yard", "rise", "bad", "blow", - "oil", "blood", "touch", "grew", "cent", - "mix", "team", "wire", "cost", "lost", - "brown", "wear", "garden", "equal", "sent", - "choose", "fell", "fit", "flow", "fair", - "bank", "collect", "save", "control", "decimal", - "gentle", "woman", "captain", "practice", "separate", - "difficult", "doctor", "please", "protect", "noon", - "whose", "locate", "ring", "character", "insect", - "caught", "period", "indicate", "radio", "spoke", - "atom", "human", "history", "effect", "electric", - "expect", "crop", "modern", "element", "hit", - "student", "corner", "party", "supply", "bone", - "rail", "imagine", "provide", "agree", "thus", - "capital", "won't", "chair", "danger", "fruit", - "rich", "thick", "soldier", "process", "operate", - "guess", "necessary", "sharp", "wing", "create", - "neighbor", "wash", "bat", "rather", "crowd", - "corn", "compare", "poem", "string", "bell", - "depend", "meat", "rub", "tube", "famous", - "dollar", "stream", "fear", "sight", "thin", - "triangle", "planet", "hurry", "chief", "colony", - "clock", "mine", "tie", "enter", "major", - "fresh", "search", "send", "yellow", "gun", - "allow", "print", "dead", "spot", "desert", - "suit", "current", "lift", "rose", "continue", - "block", "chart", "hat", "sell", "success", - "company", "subtract", "event", "particular", "deal", - "swim", "term", "opposite", "wife", "shoe", - "shoulder", "spread", "arrange", "camp", "invent", - "cotton", "born", "determine", "quart", "nine", - "truck", "noise", "level", "chance", "gather", - "shop", "stretch", "throw", "shine", "property", - "column", "molecule", "select", "wrong", "gray", - "repeat", "require", "broad", "prepare", "salt", - "nose", "plural", "anger", "claim", "continent", - "oxygen", "sugar", "death", "pretty", "skill", - "women", "season", "solution", "magnet", "silver", - "thank", "branch", "match", "suffix", "especially", - "fig", "afraid", "huge", "sister", "steel", - "discuss", "forward", "similar", "guide", "experience", - "score", "apple", "bought", "led", "pitch", - "coat", "mass", "card", "band", "rope", - "slip", "win", "dream", "evening", "condition", - "feed", "tool", "total", "basic", "smell", - "valley", "nor", "double", "seat", "arrive", - "master", "track", "parent", "shore", "division", - "sheet", "substance", "favor", "connect", "post", - "spend", "chord", "fat", "glad", "original", - "share", "station", "dad", "bread", "charge", - "proper", "bar", "offer", "segment", "slave", - "duck", "instant", "market", "degree", "populate", - "chick", "dear", "enemy", "reply", "drink", - "occur", "support", "speech", "nature", "range", - "steam", "motion", "path", "liquid", "log", - "meant", "quotient", "teeth", "shell", "neck"}; diff --git a/jack/jack.c b/jack/jack.c index b876fb1..f41f50a 100644 --- a/jack/jack.c +++ b/jack/jack.c @@ -1,7 +1,6 @@ -// Copyright 2024 [email protected] +// Copyright 2025 [email protected] // SPDX-License-Identifier: GPL-2.0-or-later #include "jack.h" -#include "combos.h" tap_dance_action_t tap_dance_actions[] = { [EM_DASH_MINS] = ACTION_TAP_DANCE_FN(em_dash_mins), @@ -11,6 +10,23 @@ tap_dance_action_t tap_dance_actions[] = { [SBRACKET] = ACTION_TAP_DANCE_DOUBLE(KC_LBRC, KC_RBRC), }; +#define CMB(name, action, ...) name, +enum combos { +#include "combos.def" +}; +#undef CMB + +#define CMB(name, action, ...) \ + uint16_t const name##_combo[] PROGMEM = {__VA_ARGS__, COMBO_END}; +#include "combos.def" +#undef CMB + +#define CMB(name, action, ...) [name] = COMBO(name##_combo, action), +combo_t key_combos[] = { +#include "combos.def" +}; +#undef CMB + #if defined(SPLIT_KEYBOARD) && defined(OLED_ENABLE) #include "transactions.h" extern char keylog_str[KEYLOG_LEN + 1]; @@ -33,10 +49,9 @@ void housekeeping_task_user(void) { } if (timer_elapsed32(last_sync) > 250) needs_sync = true; - if (needs_sync) { + if (needs_sync) if (transaction_rpc_send(RPC_ID_USER_KEYLOG_STR, 5, &keylog_str)) last_sync = timer_read32(); - } } } #endif @@ -45,6 +60,9 @@ void keyboard_post_init_user(void) { #if defined(SPLIT_KEYBOARD) && defined(OLED_ENABLE) transaction_register_rpc(RPC_ID_USER_KEYLOG_STR, keylogger_sync); #endif +#ifdef CUSTOM_TAP_CODE_ENABLE + tap_code_buffer_init(); +#endif #ifdef RGBLIGHT_ENABLE rgblight_enable_noeeprom(); rgblight_sethsv_noeeprom(HSV_CYAN); @@ -54,23 +72,16 @@ void keyboard_post_init_user(void) { rgb_matrix_sethsv_noeeprom(HSV_CYAN); rgb_matrix_mode_noeeprom(RGB_MATRIX_SOLID_COLOR); #endif -#ifdef CONSOLE_ENABLE - debug_keyboard = true; - debug_enable = true; - debug_matrix = true; - debug_mouse = true; -#endif #ifdef AUTOCORRECT_ENABLE if (!autocorrect_is_enabled()) autocorrect_enable(); #endif } -bool shutdown_user(bool jump_to_bootloader) { -#ifdef OLED_ENABLE - oled_render_boot(jump_to_bootloader); +void matrix_scan_user(void) { +#ifdef CUSTOM_TAP_CODE_ENABLE + process_tap_code_buffer(); #endif - return true; } #ifdef ENCODER_MAP_ENABLE @@ -80,38 +91,10 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [_RAISE] = {{C(KC_LEFT), C(KC_RGHT)}, {C(S(KC_TAB)), C(KC_TAB)}}}; #endif -#ifdef POINTING_DEVICE_ENABLE -static bool scrolling = false; -layer_state_t layer_state_set_user(layer_state_t state) { - switch (get_highest_layer(state)) { - case _LOWER: - scrolling = true; -#ifdef POINTING_DEVICE_DRIVER_pimoroni_trackball - pimoroni_trackball_set_cpi(0.1); -#else - pointing_device_set_cpi(64); -#endif - break; - default: - if (scrolling) { - scrolling = false; -#ifdef POINTING_DEVICE_DRIVER_pimoroni_trackball - pimoroni_trackball_set_cpi(1); -#else - pointing_device_set_cpi(1024); +#ifndef MAGIC_ENABLE +uint16_t keycode_config(uint16_t keycode) { return keycode; } #endif - } - } - return state; -} -report_mouse_t pointing_device_task_user(report_mouse_t mouse_report) { - if (scrolling) { - mouse_report.h = mouse_report.x; - mouse_report.v = -mouse_report.y; - mouse_report.x = 0; - mouse_report.y = 0; - } - return mouse_report; -} +#ifndef MAGIC_ENABLE +uint8_t mod_config(uint8_t mod) { return mod; } #endif diff --git a/jack/jack.h b/jack/jack.h index 742b6d1..6e32849 100644 --- a/jack/jack.h +++ b/jack/jack.h @@ -1,54 +1,50 @@ -// Copyright 2024 [email protected] +// Copyright 2025 [email protected] // SPDX-License-Identifier: GPL-2.0-or-later #pragma once #include QMK_KEYBOARD_H -#ifdef OLED_ENABLE -#include "oled.h" -#endif enum layers { _BASE, _LOWER, _RAISE }; enum tapdances { EM_DASH_MINS, PLY_NXT_PRV, PASTE_RAISE, CBRACKET, SBRACKET }; -enum sw_state { NONE, SELECTED, WORD, FIRST_LINE, LINE }; - enum custom_keycodes { UPDIR = QK_USER, - NUKE, - SELWORD, + REMOVE, M_JIGGLE, - TABLE1, - TABLE2, - KC_NOMODE, - KC_WIDE, - KC_SCRIPT, - KC_BLOCKS, - KC_REGIONAL, - KC_AUSSIE, - KC_ZALGO, - KC_SUPER, - RWORD + UC_NOMODE, + UC_WIDE, + UC_SCRIPT, + UC_BLOCKS, + UC_REGIONAL, + UC_AUSSIE, + UC_ZALGO, + UC_SUPER }; -#ifdef UNICODE_COMMON_ENABLE bool process_record_unicode(uint16_t keycode, keyrecord_t *record); - -enum unicode_mode { - NOMODE, - WIDE, - SCRIPT, - BLOCKS, - REGIONAL, - AUSSIE, - ZALGO, - SUPER -}; -#endif - +bool process_record_taps(uint16_t keycode, keyrecord_t *record); +extern uint8_t extract_mod_bits(uint16_t code); +void tap_code_buffer_init(void); +void tap_code_register(uint8_t code, uint8_t mods, uint16_t delay, + bool register_tap); +void process_tap_code_buffer(void); +void tap_string(const char *str); void td_reset(tap_dance_state_t *state, void *user_data); void em_dash_mins(tap_dance_state_t *state, void *user_data); void ply_nxt_prv(tap_dance_state_t *state, void *user_data); void raise_paste(tap_dance_state_t *state, void *user_data); +void oled_timer_reset(void); +bool oled_task_keymap(void); +void anim_frame(uint16_t size, char const action[][size]); +void wpm_graph(void); +void felix_dog(void); +void layer_anim(void); +void layer_status(void); +void render_mod_status(void); +void add_keylog(uint16_t keycode, keyrecord_t *record); +void render_keylog(void); +void render_wpm(void); +void render_scan_rate(void); #define PNP TD(PLY_NXT_PRV) #define PSTRSE TD(PASTE_RAISE) @@ -98,13 +94,13 @@ void raise_paste(tap_dance_state_t *state, void *user_data); #define ___LOWER1___ KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0 #define ___LOWER2___ HRML(KC_EXLM, KC_AT, KC_HASH, KC_DLR), KC_PERC, KC_CIRC, HRMR(KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN) -#define ___LOWER3___ KC_VOLD, KC_TAB, KC_CAPS, SELWORD, KC_GRV, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_VOLU -#define ___LOWER4___ _______, _______, _______, _______, NUKE, _______ +#define ___LOWER3___ KC_VOLD, KC_TAB, KC_CAPS, REMOVE, KC_GRV, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_VOLU +#define ___LOWER4___ _______, _______, _______, _______, _______, _______ -#define ___RAISE1___ XRGB_TOG, XRGB_NXT, XRGB_HUI, XRGB_SAI, XRGB_VAI, KC_NOMODE, KC_SCRIPT, KC_BLOCKS, KC_REGIONAL, QK_MAKE -#define ___RAISE2___ M_JIGGLE, XRGB_PRV, XRGB_HUD, XRGB_SAD, XRGB_VAD, KC_WIDE, KC_AUSSIE, KC_ZALGO, KC_SUPER, QK_BOOT -#define ___RAISE3___ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10 -#define ___RAISE4___ _______, RWORD, _______, _______, _______, _______ +#define ___RAISE1___ XRGB_TOG, XRGB_NXT, XRGB_HUI, XRGB_SAI, XRGB_VAI, UC_NOMODE, UC_SCRIPT, UC_BLOCKS, UC_REGIONAL, QK_MAKE +#define ___RAISE2___ M_JIGGLE, XRGB_PRV, XRGB_HUD, XRGB_SAD, XRGB_VAD, UC_WIDE, UC_AUSSIE, UC_ZALGO, UC_SUPER, QK_BOOT +#define ___RAISE3___ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10 +#define ___RAISE4___ _______, _______, _______, _______, _______, _______ // clang-format on #define LAYOUT_jack_60_ts(...) LAYOUT_60_ansi_tsangan(__VA_ARGS__) diff --git a/jack/oled.c b/jack/oled.c index 7b975e0..adaad3d 100644 --- a/jack/oled.c +++ b/jack/oled.c @@ -1,10 +1,12 @@ -// Copyright 2024 [email protected] +// Copyright 2025 [email protected] // SPDX-License-Identifier: GPL-2.0-or-later -#include "oled.h" #include "jack.h" +#include "oled.h" uint32_t oled_timer = 0; char keylog_str[KEYLOG_LEN + 1] = {0}; +extern uint8_t oled_buffer[OLED_MATRIX_SIZE]; +extern OLED_BLOCK_TYPE oled_dirty; void oled_timer_reset(void) { oled_timer = timer_read32(); } @@ -220,18 +222,3 @@ void render_scan_rate(void) { oled_write_ln(get_u16_str(get_matrix_scan_rate(), ' '), false); } #endif - -void oled_render_boot(bool jump_to_bootloader) { - oled_clear(); - static const char PROGMEM qmk_logo[16] = {0x80, 0x81, 0x82, 0x83, 0x84, - 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, - 0xC0, 0xC1, 0xC2, 0xC3, 0xC4}; - oled_write(qmk_logo, false); - oled_set_cursor(0, 4); - oled_write(qmk_logo, false); - oled_set_cursor(0, 8); - oled_write(qmk_logo, false); - oled_set_cursor(0, 12); - oled_write(qmk_logo, false); - oled_render_dirty(true); -} diff --git a/jack/oled.h b/jack/oled.h index 6e33143..05a062f 100644 --- a/jack/oled.h +++ b/jack/oled.h @@ -1,25 +1,8 @@ -// Copyright 2024 [email protected] +// Copyright 2025 [email protected] // SPDX-License-Identifier: GPL-2.0-or-later #pragma once -#include "quantum.h" #define KEYLOG_LEN 5 -extern uint8_t oled_buffer[OLED_MATRIX_SIZE]; -extern OLED_BLOCK_TYPE oled_dirty; - -void oled_timer_reset(void); -bool oled_task_keymap(void); -void anim_frame(uint16_t size, char const action[][size]); -void wpm_graph(void); -void felix_dog(void); -void layer_anim(void); -void layer_status(void); -void render_mod_status(void); -void add_keylog(uint16_t keycode, keyrecord_t *record); -void render_keylog(void); -void render_wpm(void); -void render_scan_rate(void); -void oled_render_boot(bool jump_to_bootloader); static const char PROGMEM code_to_name[256] = { ' ', ' ', ' ', ' ', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', @@ -43,7 +26,8 @@ static const char PROGMEM code_to_name[256] = { 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 'C', 'S', 'A', 'G', 'C', 'S', 'A', 'G', ' ', ' ', ' ', ' ', ' ', 24, 26, 24, 25, ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 24, 25, 27, - 26, ' ', ' ', ' '}; + 26, ' ', ' ', ' ', +}; static const char PROGMEM felix_sit[][96] = { { @@ -155,442 +139,479 @@ static const char PROGMEM felix_sneak[][96] = { 0x3f, 0x3f, 0x37, 0x07, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, }}; -static const char PROGMEM tap_num[][520] = { +static const char PROGMEM tap_sym[][650] = { { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0x60, 0x9c, 0x03, 0, 0, 0x01, 0x02, 0x04, 0x08, - 0x10, 0x20, 0x20, 0x20, 0x11, 0x10, 0x08, 0x08, 0x04, 0x04, 0x02, 0x01, - 0x0e, 0xf0, 0x20, 0xc0, 0x80, 0, 0, 0x80, 0x80, 0xc0, 0x30, 0x0c, - 0x02, 0x11, 0x21, 0x40, 0x80, 0x04, 0x06, 0x09, 0x24, 0x24, 0x18, 0x80, - 0x81, 0x41, 0x42, 0x24, 0x18, 0xe0, 0, 0, 0, 0x01, 0x01, 0x01, - 0, 0, 0, 0x80, 0x40, 0x20, 0x20, 0x10, 0x10, 0x8f, 0x48, 0xc4, - 0x84, 0x88, 0x08, 0x10, 0x20, 0x20, 0x40, 0x80, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0, 0, 0x80, - 0x80, 0x40, 0xc0, 0x30, 0x08, 0x44, 0x84, 0x02, 0x02, 0x01, 0x01, 0x78, - 0x28, 0x11, 0x21, 0x42, 0x06, 0x05, 0x08, 0x90, 0x60, 0x80, 0, 0, - 0, 0x01, 0x02, 0x02, 0x02, 0x01, 0x01, 0, 0, 0x80, 0x40, 0x40, - 0x20, 0x20, 0x1f, 0x92, 0x8c, 0x08, 0x18, 0x14, 0x24, 0x7a, 0x46, 0x81, - 0, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x41, 0x44, 0x24, 0x23, 0x10, - 0x10, 0x08, 0x88, 0x84, 0x43, 0x5c, 0x20, 0x20, 0x10, 0x10, 0x20, 0x20, - 0x40, 0x80, 0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0x01, 0x01, 0, 0x18, 0x27, 0x40, 0x80, - 0, 0, 0, 0x01, 0x02, 0x04, 0x08, 0x08, 0x08, 0x04, 0x04, 0x02, - 0xc2, 0x21, 0x11, 0x10, 0x08, 0x0b, 0x05, 0x66, 0x42, 0x82, 0x04, 0x04, - 0x08, 0x18, 0x14, 0x2c, 0x43, 0x80, 0x04, 0x08, 0x10, 0x20, 0x41, 0x80, - 0x80, 0x8f, 0x44, 0x44, 0x20, 0x20, 0x10, 0x10, 0x09, 0x86, 0xb8, 0x40, - 0x40, 0x20, 0x20, 0x40, 0x40, 0x80, 0xe0, 0x18, 0x06, 0x01, 0x08, 0x10, - 0x20, 0x40, 0x80, 0, 0, 0, 0x88, 0x80, 0x40, 0x40, 0x20, 0x21, - 0x12, 0x0c, 0x70, 0x80, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0x01, 0x02, 0x04, 0x08, - 0x10, 0x20, 0x40, 0x40, 0x20, 0x60, 0x9c, 0x03, 0, 0, 0x01, 0x02, - 0x04, 0x08, 0x10, 0x20, 0x20, 0x20, 0x11, 0x10, 0x08, 0x08, 0x04, 0x04, - 0x02, 0x81, 0x8e, 0x70, 0x40, 0x20, 0x20, 0x10, 0x10, 0x08, 0xc8, 0x24, - 0x24, 0x42, 0x82, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0, - 0, 0x80, 0x81, 0x41, 0x42, 0x24, 0x18, 0xe0, 0, 0, 0, 0x01, - 0x01, 0x01, 0, 0, 0, 0, 0x80, 0x80, 0x40, 0x40, 0x20, 0x27, - 0x18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, + 0x40, 0x40, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, + 0x08, 0x0c, 0x0a, 0x09, 0x09, 0x09, 0x08, 0x04, 0x04, 0x04, 0x04, 0x08, + 0x08, 0x08, 0x08, 0x08, 0x10, 0x10, 0x20, 0x20, 0x20, 0x50, 0x40, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x1c, 0x22, 0x21, 0x21, 0x22, 0x2c, 0x30, 0xd0, + 0x10, 0x11, 0x21, 0x20, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x20, 0x20, 0x21, 0x12, 0x1c, 0xf0, 0x10, 0x18, 0x08, 0x08, 0x00, 0x00, + 0x01, 0x01, 0x02, 0x04, 0x08, 0x30, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x20, 0x10, + 0x08, 0x04, 0x02, 0x81, 0x01, 0x00, 0x00, 0x40, 0x80, 0x00, 0x80, 0x00, + 0x00, 0x00, 0x00, 0x18, 0x24, 0x24, 0x24, 0x18, 0x00, 0xc0, 0x30, 0x0e, + 0x80, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x20, 0x20, 0x20, + 0x40, 0x40, 0x40, 0x20, 0x18, 0x00, 0x00, 0x00, 0x01, 0x82, 0x44, 0x78, + 0x40, 0x20, 0x10, 0x10, 0x08, 0x08, 0x08, 0x07, 0x04, 0x04, 0x02, 0x02, + 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x81, 0x81, 0x81, 0x82, 0x02, 0x02, 0x02, 0x04, + 0x04, 0x08, 0x0b, 0x10, 0x10, 0x20, 0x60, 0x20, 0x30, 0x18, 0x0c, 0x04, + 0x03, 0x01, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xfe, 0x01, 0x00, 0x00, 0x00, 0x08, 0x88, 0x85, + 0x4e, 0x74, 0xe2, 0x21, 0x21, 0x17, 0x18, 0x68, 0xc4, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x18, 0x07, 0x00, 0x00, 0x00, 0x03, 0x04, 0x04, 0x04, + 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, + 0x20, 0x10, 0x0c, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x60, 0x30, 0x10, 0x08, + 0x08, 0x08, 0x08, 0x08, 0x10, 0x30, 0x40, 0x80, 0x00, 0x0e, 0x03, 0x01, + 0x01, 0x00, 0xe0, 0x30, 0x19, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x3f, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x03, 0x04, 0x08, 0x10, 0x20, 0x20, 0xc0, 0x00, 0x00, 0x00, 0x01, + 0x80, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x10, + 0x10, 0x10, 0x10, 0x08, 0x08, 0x34, 0xcf, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3e, 0x63, 0xc1, 0xc1, 0xbe, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x80, 0x00, 0x00, 0x1f, 0x20, 0x40, 0xc0, 0x8e, 0x11, 0x19, 0x0e, 0x03, + 0x86, 0x84, 0xc6, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x06, + 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xc0, 0x20, 0x18, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x03, 0x00, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, + 0x00, 0x00, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, }, { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0x80, 0x70, 0x0c, 0x03, 0, 0x04, 0x08, 0x10, 0x20, - 0x41, 0x80, 0x80, 0x81, 0x46, 0x40, 0x20, 0x20, 0x10, 0x10, 0x09, 0x86, - 0xb8, 0x50, 0x60, 0x20, 0x20, 0x40, 0x40, 0x80, 0x80, 0x40, 0xc0, 0x30, - 0x08, 0x44, 0x84, 0x02, 0x02, 0x11, 0x19, 0x24, 0x90, 0x91, 0x61, 0x03, - 0x04, 0x04, 0x08, 0x90, 0x60, 0x80, 0, 0, 0, 0x01, 0x01, 0x01, - 0, 0, 0x80, 0x60, 0x10, 0x88, 0x08, 0x04, 0x04, 0x23, 0x12, 0x71, - 0x21, 0x22, 0xc2, 0x04, 0x08, 0x08, 0x10, 0x20, 0xc0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x01, - 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0, 0, 0, 0, 0, - 0, 0xc0, 0x30, 0x0c, 0x02, 0x11, 0x21, 0x40, 0x80, 0, 0, 0x1e, - 0x0a, 0x04, 0x08, 0x90, 0x81, 0x41, 0x42, 0x24, 0x18, 0xe0, 0, 0x01, - 0x02, 0x04, 0x08, 0x08, 0x08, 0x04, 0x04, 0x02, 0xc2, 0x21, 0x11, 0x10, - 0x08, 0x0b, 0x45, 0x26, 0x22, 0xc2, 0x04, 0x04, 0x0c, 0x1e, 0x11, 0x20, - 0x40, 0x80, 0x01, 0x02, 0x04, 0x08, 0x10, 0x10, 0x11, 0x09, 0x08, 0x04, - 0x04, 0x02, 0x82, 0x81, 0x40, 0x47, 0x38, 0x20, 0x10, 0x10, 0x20, 0x20, - 0x40, 0x80, 0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0x01, 0x02, 0x04, 0x04, 0x02, 0x06, 0x09, 0x10, 0x20, - 0x40, 0x80, 0, 0, 0, 0x01, 0x02, 0x02, 0x02, 0x01, 0x01, 0, - 0xc0, 0x20, 0x10, 0x10, 0x08, 0x08, 0x07, 0x64, 0x42, 0x82, 0x04, 0x04, - 0x08, 0x10, 0x1c, 0x23, 0x40, 0x80, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, - 0x20, 0x23, 0x11, 0x11, 0x08, 0x08, 0x04, 0x04, 0x02, 0x01, 0x0e, 0xf0, - 0x20, 0xc0, 0x80, 0x80, 0x40, 0x40, 0xe0, 0x18, 0x06, 0x01, 0x08, 0x10, - 0x20, 0x40, 0x80, 0, 0, 0, 0x88, 0x80, 0x40, 0x40, 0x20, 0x21, - 0x12, 0x0c, 0x70, 0x80, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x01, 0x02, - 0x04, 0x08, 0x10, 0x10, 0x08, 0x68, 0x9c, 0x03, 0, 0, 0x01, 0x02, - 0x04, 0x08, 0x10, 0x20, 0x20, 0x20, 0x11, 0x10, 0x08, 0x08, 0x04, 0x04, - 0x02, 0x01, 0x0e, 0xf0, 0x20, 0xc0, 0x80, 0x40, 0x40, 0xa0, 0xa0, 0xd0, - 0x90, 0x08, 0x08, 0x04, 0x04, 0x02, 0x02, 0x01, 0x01, 0, 0, 0x01, - 0x01, 0x03, 0x04, 0x04, 0x08, 0x90, 0x60, 0x80, 0, 0, 0, 0x01, - 0x01, 0x01, 0, 0, 0, 0, 0x80, 0x80, 0x40, 0x40, 0x20, 0x27, - 0x18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, + 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x10, 0x18, + 0x14, 0x14, 0x12, 0x12, 0x11, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x40, 0x60, 0x80, 0x80, 0x80, 0x00, 0x00, + 0x00, 0x1c, 0x22, 0x21, 0x21, 0x22, 0x2c, 0x30, 0x50, 0x90, 0x11, 0x11, + 0x20, 0x20, 0x40, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, + 0x09, 0x0e, 0x78, 0x88, 0x04, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x02, 0x0c, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x20, 0x10, + 0x08, 0x08, 0x04, 0x82, 0x01, 0x01, 0x00, 0x40, 0x80, 0x00, 0x80, 0x80, + 0x00, 0x00, 0x00, 0x30, 0x48, 0x48, 0x48, 0x30, 0x00, 0x80, 0x60, 0x18, + 0x04, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, + 0x80, 0x00, 0x00, 0x80, 0xe0, 0x01, 0x01, 0x02, 0x06, 0x08, 0x10, 0xe0, + 0x10, 0x20, 0x20, 0x20, 0x20, 0x21, 0x16, 0x18, 0x30, 0x50, 0x08, 0x08, + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x30, 0x0c, 0x02, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x08, 0x8c, 0xc5, + 0x4e, 0x74, 0xe2, 0x21, 0x21, 0x17, 0x18, 0x68, 0x84, 0x04, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x30, 0x0e, 0x01, 0x00, 0x00, 0x07, 0x09, 0x08, 0x09, + 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x70, 0x0f, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x04, 0x02, + 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x03, 0x04, 0x08, 0x10, 0x20, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x81, + 0xc0, 0x40, 0x40, 0xc0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, + 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, + 0x40, 0x40, 0x20, 0x20, 0x20, 0x10, 0x10, 0x08, 0x08, 0x04, 0x0a, 0x06, + 0x05, 0x04, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x06, 0x18, 0x60, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x80, 0x78, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x03, 0x00, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x03, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, }, { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0x60, 0x9c, 0x03, 0, 0, 0x01, 0x02, 0x04, 0x08, - 0x10, 0x20, 0x20, 0x20, 0x11, 0x10, 0x08, 0x08, 0x04, 0x04, 0x02, 0x81, - 0x8e, 0x70, 0x40, 0x20, 0x20, 0x40, 0x40, 0x80, 0, 0xc0, 0x30, 0x0c, - 0x02, 0x11, 0x21, 0x40, 0x80, 0x04, 0x06, 0x09, 0x24, 0x24, 0x18, 0x80, - 0x81, 0x41, 0x42, 0x24, 0x18, 0xe0, 0, 0x01, 0x02, 0x04, 0x04, 0x04, - 0x02, 0x02, 0x81, 0x61, 0x10, 0x88, 0x08, 0x04, 0x05, 0x22, 0x12, 0x71, - 0x21, 0x22, 0xc2, 0x04, 0x08, 0x08, 0x10, 0x20, 0xc0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0, 0, 0x80, - 0x80, 0xc0, 0x30, 0x0c, 0x02, 0x11, 0x21, 0x40, 0x80, 0, 0, 0x1e, - 0x0a, 0x04, 0x08, 0x90, 0x81, 0x41, 0x42, 0x24, 0x18, 0xe0, 0, 0, - 0, 0x01, 0x02, 0x02, 0x02, 0x01, 0x01, 0, 0xc0, 0x20, 0x10, 0x10, - 0x08, 0x08, 0x47, 0x24, 0x22, 0xc2, 0x04, 0x04, 0x08, 0x1e, 0x11, 0x20, - 0x40, 0x80, 0x01, 0x02, 0x04, 0x08, 0x10, 0x10, 0x11, 0x09, 0x08, 0x04, - 0x04, 0x02, 0x02, 0x01, 0, 0x07, 0xf8, 0x80, 0x40, 0x40, 0x80, 0x80, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0x01, 0x01, 0, 0x06, 0x09, 0x10, 0x20, - 0x40, 0x80, 0, 0, 0, 0x01, 0x02, 0x02, 0x02, 0x01, 0x01, 0, - 0, 0x80, 0x40, 0x40, 0x20, 0x20, 0x1f, 0x92, 0x0c, 0x08, 0x10, 0x10, - 0x28, 0x68, 0x5c, 0x83, 0, 0, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, - 0x20, 0x23, 0x11, 0x11, 0x08, 0x08, 0x04, 0x04, 0x02, 0x81, 0x8e, 0x70, - 0x60, 0x20, 0x20, 0x40, 0x40, 0xc0, 0xa0, 0x60, 0x18, 0x04, 0x22, 0x42, - 0x81, 0x01, 0, 0, 0, 0, 0x20, 0, 0x01, 0x02, 0x82, 0x84, - 0x48, 0x30, 0xc0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x01, 0x02, - 0x04, 0x08, 0x10, 0x10, 0x08, 0x88, 0x74, 0x0c, 0x03, 0, 0x04, 0x08, - 0x10, 0x20, 0x40, 0x81, 0x81, 0x82, 0x44, 0x40, 0x20, 0x20, 0x10, 0x10, - 0x09, 0x86, 0xb8, 0x50, 0x60, 0x20, 0x20, 0x10, 0x10, 0x08, 0xc8, 0x24, - 0x24, 0x42, 0x82, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0, - 0, 0x80, 0x81, 0x41, 0x42, 0x24, 0x18, 0xe0, 0, 0x01, 0x02, 0x04, - 0x04, 0x04, 0x02, 0x02, 0x01, 0x01, 0, 0, 0, 0, 0x81, 0x9e, - 0x60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x20, 0x10, + 0x10, 0x08, 0x04, 0x00, 0x02, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x80, 0xe0, 0x80, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x22, 0x21, 0x21, 0x23, 0x2c, 0x30, 0x70, 0x51, 0x91, 0x10, 0x10, + 0x10, 0x20, 0x60, 0x80, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0x04, + 0x07, 0x3c, 0xc4, 0x04, 0x04, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x07, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xf0, 0x0c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x06, 0x18, 0x20, 0xc0, 0x00, 0x00, 0x00, 0x05, 0x06, 0x03, + 0x01, 0x07, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x30, 0x20, 0x20, 0x20, 0x20, 0x21, 0x16, 0x1c, 0x38, 0x68, 0x04, 0x07, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x20, 0x30, 0x0c, 0x07, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x30, 0x40, + 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x7e, 0x02, 0x01, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, + 0x02, 0x02, 0x02, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08, 0x08, 0x08, + 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x04, + 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, + 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x03, 0x04, 0x18, 0x30, 0x40, 0x80, + 0x00, 0x00, 0x00, 0xc0, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x00, 0x02, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, }}; static const char PROGMEM tap_sym[][650] = { - {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x80, 0x80, 0x40, - 0x40, 0x40, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, - 0x08, 0x0c, 0x0a, 0x09, 0x09, 0x09, 0x08, 0x04, 0x04, 0x04, 0x04, 0x08, - 0x08, 0x08, 0x08, 0x08, 0x10, 0x10, 0x20, 0x20, 0x20, 0x50, 0x40, 0x80, - 0, 0, 0, 0, 0x1c, 0x22, 0x21, 0x21, 0x22, 0x2c, 0x30, 0xd0, - 0x10, 0x11, 0x21, 0x20, 0x40, 0x80, 0x80, 0, 0, 0, 0, 0, - 0x20, 0x20, 0x21, 0x12, 0x1c, 0xf0, 0x10, 0x18, 0x08, 0x08, 0, 0, - 0x01, 0x01, 0x02, 0x04, 0x08, 0x30, 0xc0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0x80, 0xc0, 0xc0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xc0, 0x20, 0x10, - 0x08, 0x04, 0x02, 0x81, 0x01, 0, 0, 0x40, 0x80, 0, 0x80, 0, - 0, 0, 0, 0x18, 0x24, 0x24, 0x24, 0x18, 0, 0xc0, 0x30, 0x0e, - 0x80, 0x40, 0x40, 0x80, 0, 0, 0, 0, 0xc0, 0x20, 0x20, 0x20, - 0x40, 0x40, 0x40, 0x20, 0x18, 0, 0, 0, 0x01, 0x82, 0x44, 0x78, - 0x40, 0x20, 0x10, 0x10, 0x08, 0x08, 0x08, 0x07, 0x04, 0x04, 0x02, 0x02, - 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, - 0x01, 0x01, 0x01, 0x01, 0x81, 0x81, 0x81, 0x82, 0x02, 0x02, 0x02, 0x04, - 0x04, 0x08, 0x0b, 0x10, 0x10, 0x20, 0x60, 0x20, 0x30, 0x18, 0x0c, 0x04, - 0x03, 0x01, 0, 0xff, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0xfe, 0x01, 0, 0, 0, 0x08, 0x88, 0x85, - 0x4e, 0x74, 0xe2, 0x21, 0x21, 0x17, 0x18, 0x68, 0xc4, 0, 0, 0, - 0, 0, 0, 0x18, 0x07, 0, 0, 0, 0x03, 0x04, 0x04, 0x04, - 0x03, 0, 0, 0, 0x01, 0, 0, 0, 0, 0, 0, 0xc0, - 0x20, 0x10, 0x0c, 0x02, 0x01, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0xc0, 0x60, 0x30, 0x10, 0x08, - 0x08, 0x08, 0x08, 0x08, 0x10, 0x30, 0x40, 0x80, 0, 0x0e, 0x03, 0x01, - 0x01, 0, 0xe0, 0x30, 0x19, 0x07, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xc0, 0x3f, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0x03, 0x04, 0x08, 0x10, 0x20, 0x20, 0xc0, 0, 0, 0, 0x01, - 0x80, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, - 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x10, - 0x10, 0x10, 0x10, 0x08, 0x08, 0x34, 0xcf, 0, 0, 0, 0, 0, - 0x3e, 0x63, 0xc1, 0xc1, 0xbe, 0x80, 0, 0, 0, 0, 0, 0, - 0x80, 0, 0, 0x1f, 0x20, 0x40, 0xc0, 0x8e, 0x11, 0x19, 0x0e, 0x03, - 0x86, 0x84, 0xc6, 0x63, 0, 0, 0, 0, 0, 0, 0x01, 0x06, - 0, 0, 0x20, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0xc0, 0x20, 0x18, 0x07, 0x01, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0x03, 0, 0x02, 0x02, 0x01, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0x01, 0, 0, 0, 0, 0, 0, 0, 0x03, 0, - 0, 0, 0x01, 0x03, 0, 0, 0, 0, 0x03, 0, 0, 0, - 0, 0, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0x01, 0x01, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0}, { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x80, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, + 0x40, 0x40, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, + 0x08, 0x0c, 0x0a, 0x09, 0x09, 0x09, 0x08, 0x04, 0x04, 0x04, 0x04, 0x08, + 0x08, 0x08, 0x08, 0x08, 0x10, 0x10, 0x20, 0x20, 0x20, 0x50, 0x40, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x1c, 0x22, 0x21, 0x21, 0x22, 0x2c, 0x30, 0xd0, + 0x10, 0x11, 0x21, 0x20, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x20, 0x20, 0x21, 0x12, 0x1c, 0xf0, 0x10, 0x18, 0x08, 0x08, 0x00, 0x00, + 0x01, 0x01, 0x02, 0x04, 0x08, 0x30, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x20, 0x10, + 0x08, 0x04, 0x02, 0x81, 0x01, 0x00, 0x00, 0x40, 0x80, 0x00, 0x80, 0x00, + 0x00, 0x00, 0x00, 0x18, 0x24, 0x24, 0x24, 0x18, 0x00, 0xc0, 0x30, 0x0e, + 0x80, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x20, 0x20, 0x20, + 0x40, 0x40, 0x40, 0x20, 0x18, 0x00, 0x00, 0x00, 0x01, 0x82, 0x44, 0x78, + 0x40, 0x20, 0x10, 0x10, 0x08, 0x08, 0x08, 0x07, 0x04, 0x04, 0x02, 0x02, + 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x81, 0x81, 0x81, 0x82, 0x02, 0x02, 0x02, 0x04, + 0x04, 0x08, 0x0b, 0x10, 0x10, 0x20, 0x60, 0x20, 0x30, 0x18, 0x0c, 0x04, + 0x03, 0x01, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xfe, 0x01, 0x00, 0x00, 0x00, 0x08, 0x88, 0x85, + 0x4e, 0x74, 0xe2, 0x21, 0x21, 0x17, 0x18, 0x68, 0xc4, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x18, 0x07, 0x00, 0x00, 0x00, 0x03, 0x04, 0x04, 0x04, + 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, + 0x20, 0x10, 0x0c, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x60, 0x30, 0x10, 0x08, + 0x08, 0x08, 0x08, 0x08, 0x10, 0x30, 0x40, 0x80, 0x00, 0x0e, 0x03, 0x01, + 0x01, 0x00, 0xe0, 0x30, 0x19, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x3f, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x03, 0x04, 0x08, 0x10, 0x20, 0x20, 0xc0, 0x00, 0x00, 0x00, 0x01, + 0x80, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x10, + 0x10, 0x10, 0x10, 0x08, 0x08, 0x34, 0xcf, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3e, 0x63, 0xc1, 0xc1, 0xbe, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x80, 0x00, 0x00, 0x1f, 0x20, 0x40, 0xc0, 0x8e, 0x11, 0x19, 0x0e, 0x03, + 0x86, 0x84, 0xc6, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x06, + 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xc0, 0x20, 0x18, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x03, 0x00, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, + 0x00, 0x00, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + }, + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x10, 0x18, 0x14, 0x14, 0x12, 0x12, 0x11, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x40, 0x60, 0x80, 0x80, 0x80, 0, 0, - 0, 0x1c, 0x22, 0x21, 0x21, 0x22, 0x2c, 0x30, 0x50, 0x90, 0x11, 0x11, - 0x20, 0x20, 0x40, 0xc0, 0, 0, 0, 0, 0, 0x10, 0x10, 0x10, - 0x09, 0x0e, 0x78, 0x88, 0x04, 0x04, 0x04, 0, 0, 0, 0, 0, - 0x01, 0x02, 0x0c, 0xf0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xc0, 0x20, 0x10, - 0x08, 0x08, 0x04, 0x82, 0x01, 0x01, 0, 0x40, 0x80, 0, 0x80, 0x80, - 0, 0, 0, 0x30, 0x48, 0x48, 0x48, 0x30, 0, 0x80, 0x60, 0x18, - 0x04, 0x80, 0x80, 0, 0, 0, 0, 0, 0, 0x80, 0x80, 0x80, - 0x80, 0, 0, 0x80, 0xe0, 0x01, 0x01, 0x02, 0x06, 0x08, 0x10, 0xe0, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x40, 0x60, 0x80, 0x80, 0x80, 0x00, 0x00, + 0x00, 0x1c, 0x22, 0x21, 0x21, 0x22, 0x2c, 0x30, 0x50, 0x90, 0x11, 0x11, + 0x20, 0x20, 0x40, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, + 0x09, 0x0e, 0x78, 0x88, 0x04, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x02, 0x0c, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x20, 0x10, + 0x08, 0x08, 0x04, 0x82, 0x01, 0x01, 0x00, 0x40, 0x80, 0x00, 0x80, 0x80, + 0x00, 0x00, 0x00, 0x30, 0x48, 0x48, 0x48, 0x30, 0x00, 0x80, 0x60, 0x18, + 0x04, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, + 0x80, 0x00, 0x00, 0x80, 0xe0, 0x01, 0x01, 0x02, 0x06, 0x08, 0x10, 0xe0, 0x10, 0x20, 0x20, 0x20, 0x20, 0x21, 0x16, 0x18, 0x30, 0x50, 0x08, 0x08, - 0x07, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x01, - 0, 0, 0, 0, 0, 0, 0x80, 0x40, 0x30, 0x0c, 0x02, 0x01, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0xff, 0, 0, 0, 0, 0x08, 0x8c, 0xc5, - 0x4e, 0x74, 0xe2, 0x21, 0x21, 0x17, 0x18, 0x68, 0x84, 0x04, 0, 0, - 0, 0, 0, 0x30, 0x0e, 0x01, 0, 0, 0x07, 0x09, 0x08, 0x09, - 0x06, 0, 0, 0, 0x07, 0, 0, 0, 0x01, 0x01, 0x01, 0x01, - 0, 0, 0, 0, 0, 0x80, 0x70, 0x0f, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xf8, 0x04, 0x02, - 0x02, 0x01, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0x03, 0x04, 0x08, 0x10, 0x20, 0xe0, 0, 0, 0, 0, 0x81, + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x30, 0x0c, 0x02, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x08, 0x8c, 0xc5, + 0x4e, 0x74, 0xe2, 0x21, 0x21, 0x17, 0x18, 0x68, 0x84, 0x04, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x30, 0x0e, 0x01, 0x00, 0x00, 0x07, 0x09, 0x08, 0x09, + 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x70, 0x0f, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x04, 0x02, + 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x03, 0x04, 0x08, 0x10, 0x20, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x81, 0xc0, 0x40, 0x40, 0xc0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x10, 0x10, 0x08, 0x08, 0x04, 0x0a, 0x06, 0x05, 0x04, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, - 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x06, 0x18, 0x60, 0x80, 0, 0, - 0, 0, 0x80, 0x78, 0x07, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0x03, 0, 0x02, 0x02, 0x01, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0x01, 0x02, 0, 0, 0x03, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x06, 0x18, 0x60, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x80, 0x78, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x03, 0x00, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x03, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, }, { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0x80, 0x40, 0x40, 0x20, 0x10, - 0x10, 0x08, 0x04, 0, 0x02, 0x01, 0x01, 0x01, 0, 0, 0, 0, - 0, 0x80, 0x80, 0xe0, 0x80, 0xe0, 0, 0, 0, 0, 0, 0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x20, 0x10, + 0x10, 0x08, 0x04, 0x00, 0x02, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x80, 0xe0, 0x80, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x22, 0x21, 0x21, 0x23, 0x2c, 0x30, 0x70, 0x51, 0x91, 0x10, 0x10, - 0x10, 0x20, 0x60, 0x80, 0, 0, 0, 0, 0x08, 0x08, 0x08, 0x04, - 0x07, 0x3c, 0xc4, 0x04, 0x04, 0x02, 0x02, 0, 0, 0, 0, 0, - 0x01, 0x07, 0xfc, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0xf0, 0x0c, 0x03, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0x06, 0x18, 0x20, 0xc0, 0, 0, 0, 0x05, 0x06, 0x03, - 0x01, 0x07, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0, + 0x10, 0x20, 0x60, 0x80, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0x04, + 0x07, 0x3c, 0xc4, 0x04, 0x04, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x07, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xf0, 0x0c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x06, 0x18, 0x20, 0xc0, 0x00, 0x00, 0x00, 0x05, 0x06, 0x03, + 0x01, 0x07, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x20, 0x20, 0x20, 0x20, 0x21, 0x16, 0x1c, 0x38, 0x68, 0x04, 0x07, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0x80, 0xc0, 0x20, 0x30, 0x0c, 0x07, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x0f, 0x30, 0x40, - 0x40, 0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0x01, 0, 0, 0x10, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0x80, 0x80, 0x80, 0x80, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0x80, 0x7e, 0x02, 0x01, - 0x01, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x01, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x20, 0x30, 0x0c, 0x07, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x30, 0x40, + 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x7e, 0x02, 0x01, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 0x02, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x02, 0x02, 0x01, - 0x01, 0x01, 0, 0, 0, 0x01, 0x03, 0x04, 0x18, 0x30, 0x40, 0x80, - 0, 0, 0, 0xc0, 0x3f, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0x01, 0x03, 0, 0x02, 0x01, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, + 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x03, 0x04, 0x18, 0x30, 0x40, 0x80, + 0x00, 0x00, 0x00, 0xc0, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x00, 0x02, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, }}; static const char PROGMEM tap_sys[][520] = { - {0x01, 0x80, 0x60, 0x10, 0x48, 0x08, 0x24, 0x04, 0x14, 0x84, 0x14, 0x04, - 0x28, 0x88, 0x10, 0x60, 0x80, 0, 0, 0x04, 0, 0x80, 0x60, 0x10, - 0x08, 0x08, 0x04, 0x44, 0x84, 0x04, 0x04, 0x04, 0x08, 0x08, 0x10, 0x60, - 0x82, 0, 0, 0, 0, 0, 0, 0, 0xfc, 0x02, 0x01, 0x01, - 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x81, 0x41, - 0x21, 0x21, 0x21, 0xa1, 0x61, 0x41, 0xc1, 0x41, 0xc1, 0x81, 0x81, 0x81, - 0x81, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, - 0x01, 0x01, 0x81, 0x41, 0x21, 0x21, 0x21, 0xa2, 0xfc, 0, 0, 0, - 0x10, 0, 0, 0, 0, 0, 0x80, 0x40, 0x20, 0x10, 0x10, 0x08, - 0x08, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08, 0x08, 0x10, 0x10, - 0x20, 0x40, 0x84, 0, 0, 0, 0, 0x04, 0, 0x1f, 0x60, 0x85, - 0x10, 0x40, 0, 0x80, 0x06, 0x07, 0, 0, 0, 0, 0x82, 0x60, - 0x1f, 0, 0, 0, 0, 0x1f, 0x60, 0x80, 0x40, 0x20, 0x20, 0x10, - 0x93, 0x5c, 0x10, 0x20, 0x20, 0x40, 0x80, 0x60, 0x1f, 0, 0, 0, - 0, 0, 0, 0, 0xff, 0xc1, 0x02, 0x0c, 0x70, 0x80, 0, 0, - 0, 0, 0, 0xe0, 0x1c, 0x03, 0, 0xc0, 0x38, 0x06, 0x01, 0x80, - 0x70, 0x0c, 0x02, 0x03, 0x1c, 0xe0, 0x01, 0x06, 0x38, 0xc1, 0x02, 0x0c, - 0x70, 0x80, 0, 0, 0, 0, 0, 0xe0, 0x1c, 0x03, 0, 0xc0, - 0x38, 0x06, 0x01, 0x80, 0xff, 0, 0, 0, 0, 0, 0, 0xf0, - 0x0c, 0x03, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0xc0, 0x30, 0x0c, 0x03, 0, 0, 0, 0, 0, 0, 0x03, - 0x0c, 0xf0, 0x04, 0, 0x80, 0x80, 0x88, 0x80, 0x81, 0x81, 0x02, 0x02, - 0x12, 0x02, 0x82, 0x82, 0x81, 0x81, 0x80, 0x80, 0, 0x08, 0, 0, - 0x80, 0x80, 0x90, 0x80, 0x81, 0x81, 0x02, 0x02, 0x02, 0x02, 0x82, 0x82, - 0x01, 0x01, 0, 0, 0x80, 0x80, 0, 0x01, 0, 0, 0, 0, - 0xff, 0x41, 0x8e, 0xb0, 0xc0, 0x83, 0x9c, 0x60, 0xa0, 0x18, 0x07, 0x80, - 0x40, 0x30, 0x0e, 0x01, 0x80, 0x60, 0x1c, 0x03, 0, 0, 0, 0, - 0, 0, 0x07, 0x18, 0x20, 0x41, 0x8e, 0xb0, 0xc0, 0x83, 0x9c, 0x60, - 0xa0, 0x18, 0x07, 0x80, 0x40, 0x30, 0x0e, 0x01, 0x80, 0x60, 0x1c, 0x03, - 0xff, 0, 0, 0, 0, 0, 0, 0x07, 0x18, 0x60, 0x90, 0x08, - 0x08, 0x04, 0x64, 0x04, 0x02, 0xf2, 0x52, 0x92, 0x13, 0x12, 0x12, 0xf2, - 0x02, 0x04, 0x64, 0x04, 0x08, 0x08, 0x90, 0x70, 0x18, 0x07, 0, 0, - 0x1f, 0x12, 0x99, 0x14, 0x12, 0x1f, 0, 0x04, 0, 0, 0x1f, 0x10, - 0x10, 0x10, 0x10, 0x1f, 0, 0, 0x40, 0, 0x1f, 0x10, 0x10, 0x10, - 0x10, 0x1f, 0, 0, 0, 0x40, 0x0d, 0x0d, 0, 0x0c, 0x0c, 0, - 0x01, 0x01, 0, 0, 0, 0x40, 0, 0, 0x1f, 0x20, 0x40, 0x40, - 0x40, 0x40, 0x41, 0x41, 0x41, 0x41, 0x43, 0x42, 0x42, 0x42, 0x42, 0x41, - 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, - 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x41, 0x41, 0x41, 0x41, 0x43, 0x42, - 0x42, 0x42, 0x42, 0x41, 0x40, 0x40, 0x40, 0x20, 0x1f, 0, 0, 0x08, - 0, 0, 0, 0, 0, 0, 0x40, 0x01, 0x02, 0x04, 0x04, 0x08, - 0x08, 0x11, 0x12, 0x12, 0x12, 0x12, 0x12, 0x11, 0x08, 0x08, 0x04, 0x44, - 0x02, 0x01, 0, 0, 0, 0, 0x20, 0}, + { + 0x01, 0x80, 0x60, 0x10, 0x48, 0x08, 0x24, 0x04, 0x14, 0x84, 0x14, 0x04, + 0x28, 0x88, 0x10, 0x60, 0x80, 0x00, 0x00, 0x04, 0x00, 0x80, 0x60, 0x10, + 0x08, 0x08, 0x04, 0x44, 0x84, 0x04, 0x04, 0x04, 0x08, 0x08, 0x10, 0x60, + 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x02, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x81, 0x41, + 0x21, 0x21, 0x21, 0xa1, 0x61, 0x41, 0xc1, 0x41, 0xc1, 0x81, 0x81, 0x81, + 0x81, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x81, 0x41, 0x21, 0x21, 0x21, 0xa2, 0xfc, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x10, 0x10, 0x08, + 0x08, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08, 0x08, 0x10, 0x10, + 0x20, 0x40, 0x84, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x1f, 0x60, 0x85, + 0x10, 0x40, 0x00, 0x80, 0x06, 0x07, 0x00, 0x00, 0x00, 0x00, 0x82, 0x60, + 0x1f, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x60, 0x80, 0x40, 0x20, 0x20, 0x10, + 0x93, 0x5c, 0x10, 0x20, 0x20, 0x40, 0x80, 0x60, 0x1f, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xc1, 0x02, 0x0c, 0x70, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xe0, 0x1c, 0x03, 0x00, 0xc0, 0x38, 0x06, 0x01, 0x80, + 0x70, 0x0c, 0x02, 0x03, 0x1c, 0xe0, 0x01, 0x06, 0x38, 0xc1, 0x02, 0x0c, + 0x70, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x1c, 0x03, 0x00, 0xc0, + 0x38, 0x06, 0x01, 0x80, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, + 0x0c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xc0, 0x30, 0x0c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, + 0x0c, 0xf0, 0x04, 0x00, 0x80, 0x80, 0x88, 0x80, 0x81, 0x81, 0x02, 0x02, + 0x12, 0x02, 0x82, 0x82, 0x81, 0x81, 0x80, 0x80, 0x00, 0x08, 0x00, 0x00, + 0x80, 0x80, 0x90, 0x80, 0x81, 0x81, 0x02, 0x02, 0x02, 0x02, 0x82, 0x82, + 0x01, 0x01, 0x00, 0x00, 0x80, 0x80, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, + 0xff, 0x41, 0x8e, 0xb0, 0xc0, 0x83, 0x9c, 0x60, 0xa0, 0x18, 0x07, 0x80, + 0x40, 0x30, 0x0e, 0x01, 0x80, 0x60, 0x1c, 0x03, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x07, 0x18, 0x20, 0x41, 0x8e, 0xb0, 0xc0, 0x83, 0x9c, 0x60, + 0xa0, 0x18, 0x07, 0x80, 0x40, 0x30, 0x0e, 0x01, 0x80, 0x60, 0x1c, 0x03, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x18, 0x60, 0x90, 0x08, + 0x08, 0x04, 0x64, 0x04, 0x02, 0xf2, 0x52, 0x92, 0x13, 0x12, 0x12, 0xf2, + 0x02, 0x04, 0x64, 0x04, 0x08, 0x08, 0x90, 0x70, 0x18, 0x07, 0x00, 0x00, + 0x1f, 0x12, 0x99, 0x14, 0x12, 0x1f, 0x00, 0x04, 0x00, 0x00, 0x1f, 0x10, + 0x10, 0x10, 0x10, 0x1f, 0x00, 0x00, 0x40, 0x00, 0x1f, 0x10, 0x10, 0x10, + 0x10, 0x1f, 0x00, 0x00, 0x00, 0x40, 0x0d, 0x0d, 0x00, 0x0c, 0x0c, 0x00, + 0x01, 0x01, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x1f, 0x20, 0x40, 0x40, + 0x40, 0x40, 0x41, 0x41, 0x41, 0x41, 0x43, 0x42, 0x42, 0x42, 0x42, 0x41, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x41, 0x41, 0x41, 0x41, 0x43, 0x42, + 0x42, 0x42, 0x42, 0x41, 0x40, 0x40, 0x40, 0x20, 0x1f, 0x00, 0x00, 0x08, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x01, 0x02, 0x04, 0x04, 0x08, + 0x08, 0x11, 0x12, 0x12, 0x12, 0x12, 0x12, 0x11, 0x08, 0x08, 0x04, 0x44, + 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, + }, { 0x04, 0x80, 0x60, 0x10, 0x48, 0x08, 0xa4, 0x04, 0x14, 0x04, 0x14, 0x04, - 0x28, 0x88, 0x10, 0x60, 0x80, 0, 0x04, 0, 0, 0x80, 0x60, 0x10, + 0x28, 0x88, 0x10, 0x60, 0x80, 0x00, 0x04, 0x00, 0x00, 0x80, 0x60, 0x10, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0xc4, 0x04, 0x08, 0x08, 0x10, 0x60, - 0x80, 0x02, 0, 0, 0x04, 0, 0, 0, 0xfc, 0x02, 0x01, 0x01, + 0x80, 0x02, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xfc, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x81, 0x41, 0x21, 0x21, 0x21, 0xa1, 0x61, 0x41, 0xc1, 0x41, 0x41, 0x81, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, - 0x01, 0x01, 0x81, 0x41, 0x21, 0x21, 0x21, 0xa2, 0xfc, 0, 0, 0x40, - 0, 0, 0x02, 0, 0, 0, 0x80, 0x40, 0x20, 0x10, 0x10, 0x08, + 0x01, 0x01, 0x81, 0x41, 0x21, 0x21, 0x21, 0xa2, 0xfc, 0x00, 0x00, 0x40, + 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x10, 0x10, 0x08, 0x08, 0x04, 0x84, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08, 0x08, 0x10, 0x10, - 0x20, 0x42, 0x80, 0, 0, 0x10, 0, 0, 0, 0x1f, 0x60, 0x85, - 0x10, 0x40, 0, 0x81, 0x06, 0x06, 0, 0, 0, 0, 0x82, 0x60, - 0x1f, 0, 0, 0, 0, 0x1f, 0x60, 0x80, 0x40, 0x20, 0x20, 0x10, - 0x50, 0x9e, 0x11, 0x20, 0x20, 0x40, 0x80, 0x60, 0x1f, 0, 0, 0, - 0, 0, 0, 0, 0xff, 0xc0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0xe0, 0x1c, 0x03, 0, 0xc0, 0x38, 0x06, 0x01, 0, - 0, 0, 0, 0x03, 0x1c, 0xe0, 0x01, 0x06, 0x38, 0xc0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0xe0, 0x1c, 0x03, 0, 0xc0, - 0x38, 0x06, 0x01, 0, 0xff, 0, 0, 0, 0, 0, 0, 0xf0, - 0x0c, 0x03, 0, 0, 0, 0, 0, 0, 0, 0, 0x01, 0x1e, - 0xe0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x03, - 0x0c, 0xf0, 0, 0, 0x80, 0x80, 0x90, 0x80, 0x81, 0x81, 0x02, 0x02, - 0x02, 0x02, 0x82, 0x82, 0x81, 0x81, 0x80, 0x88, 0, 0, 0, 0, + 0x20, 0x42, 0x80, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x1f, 0x60, 0x85, + 0x10, 0x40, 0x00, 0x81, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x82, 0x60, + 0x1f, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x60, 0x80, 0x40, 0x20, 0x20, 0x10, + 0x50, 0x9e, 0x11, 0x20, 0x20, 0x40, 0x80, 0x60, 0x1f, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xe0, 0x1c, 0x03, 0x00, 0xc0, 0x38, 0x06, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x03, 0x1c, 0xe0, 0x01, 0x06, 0x38, 0xc0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x1c, 0x03, 0x00, 0xc0, + 0x38, 0x06, 0x01, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, + 0x0c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x1e, + 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, + 0x0c, 0xf0, 0x00, 0x00, 0x80, 0x80, 0x90, 0x80, 0x81, 0x81, 0x02, 0x02, + 0x02, 0x02, 0x82, 0x82, 0x81, 0x81, 0x80, 0x88, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x88, 0x81, 0x81, 0x02, 0x02, 0x02, 0x02, 0x82, 0x82, - 0x01, 0x81, 0x80, 0, 0, 0, 0, 0, 0, 0, 0x10, 0, + 0x01, 0x81, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0xff, 0x41, 0x8e, 0xb0, 0xc0, 0x80, 0x80, 0x40, 0x20, 0x18, 0x07, 0x80, - 0x40, 0x30, 0x0e, 0x01, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0x07, 0x18, 0x20, 0x41, 0x8e, 0xb0, 0xc0, 0x80, 0x80, 0x40, - 0x20, 0x18, 0x07, 0x80, 0x40, 0x30, 0x0e, 0x01, 0, 0, 0, 0, - 0xff, 0, 0x02, 0, 0, 0, 0, 0x07, 0x18, 0x60, 0x90, 0x08, + 0x40, 0x30, 0x0e, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x07, 0x18, 0x20, 0x41, 0x8e, 0xb0, 0xc0, 0x80, 0x80, 0x40, + 0x20, 0x18, 0x07, 0x80, 0x40, 0x30, 0x0e, 0x01, 0x00, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x07, 0x18, 0x60, 0x90, 0x08, 0x08, 0x04, 0x64, 0x04, 0x02, 0xf2, 0x12, 0x92, 0x53, 0x92, 0x12, 0xf2, - 0x02, 0x04, 0x64, 0x04, 0x08, 0x08, 0x90, 0x70, 0x18, 0x07, 0, 0, - 0x1f, 0x10, 0x10, 0x10, 0x10, 0x1f, 0, 0x80, 0, 0, 0x1f, 0x10, - 0x10, 0x10, 0x10, 0x1f, 0, 0, 0, 0, 0x1f, 0x1f, 0x1f, 0x1f, - 0x1f, 0x1f, 0, 0, 0, 0x40, 0x01, 0x01, 0x80, 0x0d, 0x0d, 0, - 0x0c, 0x0c, 0, 0, 0, 0, 0, 0, 0x1f, 0x20, 0x40, 0x40, + 0x02, 0x04, 0x64, 0x04, 0x08, 0x08, 0x90, 0x70, 0x18, 0x07, 0x00, 0x00, + 0x1f, 0x10, 0x10, 0x10, 0x10, 0x1f, 0x00, 0x80, 0x00, 0x00, 0x1f, 0x10, + 0x10, 0x10, 0x10, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x1f, 0x1f, + 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x40, 0x01, 0x01, 0x80, 0x0d, 0x0d, 0x00, + 0x0c, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x20, 0x40, 0x40, 0x40, 0x40, 0x41, 0x41, 0x41, 0x41, 0x41, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x41, 0x41, 0x41, 0x41, 0x41, 0x40, - 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x20, 0x1f, 0, 0, 0, - 0, 0, 0x08, 0, 0, 0, 0, 0x01, 0x02, 0x04, 0x04, 0x08, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x20, 0x1f, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x04, 0x08, 0x08, 0x11, 0x12, 0x12, 0x12, 0x12, 0x12, 0x11, 0x08, 0x08, 0x04, 0x04, - 0x02, 0x01, 0, 0, 0x04, 0, 0, 0, + 0x02, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, }, { - 0, 0x80, 0x60, 0x14, 0x48, 0x08, 0x24, 0x04, 0x14, 0x04, 0x14, 0x04, - 0x28, 0x88, 0x10, 0x60, 0x80, 0, 0, 0x08, 0, 0x80, 0x60, 0x10, + 0x00, 0x80, 0x60, 0x14, 0x48, 0x08, 0x24, 0x04, 0x14, 0x04, 0x14, 0x04, + 0x28, 0x88, 0x10, 0x60, 0x80, 0x00, 0x00, 0x08, 0x00, 0x80, 0x60, 0x10, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08, 0x88, 0x10, 0x60, - 0x80, 0, 0, 0x04, 0, 0, 0, 0, 0xfc, 0x02, 0x01, 0x01, + 0x80, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x81, 0x41, 0x21, 0x21, 0x21, 0x21, 0x21, 0x41, 0x81, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, - 0x01, 0x01, 0x81, 0x41, 0x21, 0x21, 0x21, 0x22, 0xfc, 0, 0, 0x10, - 0, 0, 0, 0, 0x02, 0, 0x80, 0x40, 0x20, 0x10, 0x10, 0x08, + 0x01, 0x01, 0x81, 0x41, 0x21, 0x21, 0x21, 0x22, 0xfc, 0x00, 0x00, 0x10, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x80, 0x40, 0x20, 0x10, 0x10, 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08, 0x08, 0x10, 0x10, - 0x20, 0x40, 0x80, 0, 0x04, 0, 0, 0, 0, 0x1f, 0x60, 0x85, - 0x10, 0x44, 0x04, 0x84, 0x06, 0x06, 0, 0, 0, 0, 0x82, 0x60, - 0x1f, 0, 0, 0, 0, 0x1f, 0x60, 0x80, 0x40, 0x20, 0x20, 0x10, - 0x10, 0x18, 0x14, 0x22, 0x21, 0x40, 0x80, 0x60, 0x1f, 0, 0, 0, - 0, 0, 0, 0, 0xff, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0xe0, 0x1c, 0x03, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0x03, 0x1c, 0xe0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0xe0, 0x1c, 0x03, 0, 0, - 0, 0, 0, 0, 0xff, 0, 0, 0, 0x08, 0, 0, 0xf0, - 0x0c, 0x03, 0, 0, 0, 0, 0x01, 0x06, 0x08, 0x30, 0x40, 0x80, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x03, - 0x0c, 0xf0, 0, 0, 0x80, 0x80, 0x80, 0x90, 0x81, 0x81, 0x02, 0x12, - 0x02, 0x02, 0x82, 0x82, 0x81, 0x81, 0x80, 0x80, 0, 0, 0x08, 0, + 0x20, 0x40, 0x80, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x60, 0x85, + 0x10, 0x44, 0x04, 0x84, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x82, 0x60, + 0x1f, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x60, 0x80, 0x40, 0x20, 0x20, 0x10, + 0x10, 0x18, 0x14, 0x22, 0x21, 0x40, 0x80, 0x60, 0x1f, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xe0, 0x1c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x03, 0x1c, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x1c, 0x03, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0xf0, + 0x0c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x01, 0x06, 0x08, 0x30, 0x40, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, + 0x0c, 0xf0, 0x00, 0x00, 0x80, 0x80, 0x80, 0x90, 0x81, 0x81, 0x02, 0x12, + 0x02, 0x02, 0x82, 0x82, 0x81, 0x81, 0x80, 0x80, 0x00, 0x00, 0x08, 0x00, 0x80, 0x80, 0x80, 0x80, 0x81, 0x81, 0x02, 0x02, 0x02, 0x02, 0x02, 0x0a, - 0x01, 0x81, 0x80, 0, 0x80, 0x80, 0x08, 0, 0, 0, 0x01, 0, - 0xff, 0x40, 0x80, 0x80, 0x80, 0x80, 0x80, 0x40, 0x20, 0x18, 0x07, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0x07, 0x18, 0x20, 0x40, 0x80, 0x80, 0x80, 0x80, 0x80, 0x40, - 0x20, 0x18, 0x07, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0xff, 0, 0, 0, 0, 0, 0, 0x07, 0x18, 0x60, 0x90, 0x08, + 0x01, 0x81, 0x80, 0x00, 0x80, 0x80, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, + 0xff, 0x40, 0x80, 0x80, 0x80, 0x80, 0x80, 0x40, 0x20, 0x18, 0x07, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x07, 0x18, 0x20, 0x40, 0x80, 0x80, 0x80, 0x80, 0x80, 0x40, + 0x20, 0x18, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x18, 0x60, 0x90, 0x08, 0x08, 0x04, 0x64, 0x04, 0x02, 0xf2, 0x12, 0x13, 0x12, 0x92, 0x52, 0xf2, - 0x02, 0x04, 0x64, 0x04, 0x08, 0x08, 0x90, 0x70, 0x18, 0x07, 0, 0, - 0x1f, 0x10, 0x10, 0x10, 0x10, 0x1f, 0, 0, 0x80, 0, 0x1f, 0x10, - 0x16, 0x16, 0x10, 0x1f, 0, 0, 0, 0, 0x1f, 0x10, 0x10, 0x10, - 0x50, 0x1f, 0, 0, 0, 0, 0x0c, 0x0c, 0, 0x01, 0x01, 0, - 0x0d, 0x0d, 0, 0, 0x40, 0, 0, 0, 0x1f, 0x20, 0x40, 0x40, + 0x02, 0x04, 0x64, 0x04, 0x08, 0x08, 0x90, 0x70, 0x18, 0x07, 0x00, 0x00, + 0x1f, 0x10, 0x10, 0x10, 0x10, 0x1f, 0x00, 0x00, 0x80, 0x00, 0x1f, 0x10, + 0x16, 0x16, 0x10, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x10, 0x10, 0x10, + 0x50, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x0c, 0x00, 0x01, 0x01, 0x00, + 0x0d, 0x0d, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x1f, 0x20, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, - 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x20, 0x1f, 0, 0x80, 0, - 0, 0, 0, 0, 0x08, 0, 0, 0x01, 0x02, 0x04, 0x04, 0x08, + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x20, 0x1f, 0x00, 0x80, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x01, 0x02, 0x04, 0x04, 0x08, 0x08, 0x11, 0x12, 0x12, 0x12, 0x12, 0x12, 0x11, 0x08, 0x08, 0x04, 0x04, - 0x02, 0x01, 0x10, 0, 0, 0, 0, 0, + 0x02, 0x01, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, }}; diff --git a/jack/oledfont.h b/jack/oledfont.h index 209f143..575829b 100644 --- a/jack/oledfont.h +++ b/jack/oledfont.h @@ -1,4 +1,4 @@ -// Copyright 2024 [email protected] +// Copyright 2025 [email protected] // SPDX-License-Identifier: GPL-2.0-or-later #include "progmem.h" diff --git a/jack/rules.mk b/jack/rules.mk index f75ba4d..0a15508 100644 --- a/jack/rules.mk +++ b/jack/rules.mk @@ -1,15 +1,18 @@ LTO_ENABLE = yes TOP_SYMBOLS = yes -NRKO_ENABLE = yes -COMBO_ENABLE = yes MAGIC_ENABLE = no +COMBO_ENABLE = yes +COMMAND_ENABLE = no UNICODE_COMMON = yes +GRAVE_ESC_ENABLE = no EXTRAKEY_ENABLE = yes BOOTMAGIC_ENABLE = yes CAPS_WORD_ENABLE = yes TAP_DANCE_ENABLE = yes +SPACE_CADET_ENABLE = no AUTOCORRECT_ENABLE = yes MOUSE_JIGGLE_ENABLE = yes +CUSTOM_TAP_CODE_ENABLE = no DEBOUNCE_TYPE = asym_eager_defer_pk AVR_CFLAGS += -mrelax INTROSPECTION_KEYMAP_C = jack.c @@ -21,17 +24,17 @@ ifeq ($(strip $(OLED_ENABLE)), yes) WPM_ENABLE = yes endif -ifeq ($(strip $(RGB_MATRIX_ENABLE)), yes) - SRC += color.c -endif - ifeq ($(strip $(UNICODE_COMMON)), yes) UNICODE_ENABLE = no SRC += unicode.c endif +ifeq ($(strip $(CUSTOM_TAP_CODE_ENABLE)), yes) + OPT_DEFS += -DCUSTOM_TAP_CODE_ENABLE + SRC += tap_code.c +endif + ifeq ($(PLATFORM), CHIBIOS) - RANDWORD = yes EXTRAFLAGS += -Os endif @@ -39,10 +42,6 @@ ifneq ($(findstring Gentoo, $(shell arm-none-eabi-gcc --version)),) EXTRAFLAGS += -U_FORTIFY_SOURCE endif -ifeq ($(strip $(RANDWORD)), yes) - OPT_DEFS += -DRANDWORD -endif - ifeq ($(strip $(MOUSE_JIGGLE_ENABLE)), yes) OPT_DEFS += -DMOUSE_JIGGLE_ENABLE MOUSEKEY_ENABLE = yes diff --git a/jack/tap_code.c b/jack/tap_code.c new file mode 100644 index 0000000..a430200 --- /dev/null +++ b/jack/tap_code.c @@ -0,0 +1,159 @@ +// Copyright 2025 [email protected] +// SPDX-License-Identifier: GPL-2.0-or-later +#include "jack.h" + +#define TAP_CODE_BUFFER_SIZE 32 +#define NEXT_TAP_CODE_POS(p) p = ((p + 1) & (TAP_CODE_BUFFER_SIZE - 1)) + +#define CHECK_REGISTERED_MT(keycode) \ + (keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX && \ + (get_mods() & ((keycode & 0x0F00) >> 8))) + +#define PGM_LOADBIT(mem, pos) \ + ((pgm_read_byte(&((mem)[(pos) / 8])) >> ((pos) % 8)) & 1) + +typedef struct { + uint8_t code; + uint8_t mods; + uint16_t delay; + bool register_tap; +} tap_code_buffer; + +tap_code_buffer tap_codes[TAP_CODE_BUFFER_SIZE] = {0}; +static uint16_t process_pos = 0, queue_pos = 0; +static fast_timer_t process_timer = 0; + +void tap_code_buffer_init(void) { memset(&tap_codes, 0, sizeof(tap_codes)); } + +void tap_code_register(uint8_t code, uint8_t mods, uint16_t delay, + bool register_tap) { + if (code && !delay) { + if (mods) + register_mods(mods); + register_code(code); + unregister_code(code); + if (mods) + unregister_mods(mods); + return; + } + if (tap_codes[queue_pos].code) { + if (!process_timer) + process_tap_code_buffer(); + while (timer_elapsed_fast(process_timer) < tap_codes[process_pos].delay) + wait_ms(1); + process_tap_code_buffer(); + } + tap_codes[queue_pos].code = code; + tap_codes[queue_pos].mods = mods; + tap_codes[queue_pos].delay = delay; + tap_codes[queue_pos].register_tap = register_tap; + NEXT_TAP_CODE_POS(queue_pos); +} + +void process_tap_code_buffer(void) { + if (tap_codes[process_pos].code) { + if (!process_timer) { + if (tap_codes[process_pos].register_tap) { + if (tap_codes[process_pos].mods) { + add_weak_mods(tap_codes[process_pos].mods); + } + register_code(tap_codes[process_pos].code); + } + process_timer = timer_read_fast(); + } else if (timer_elapsed_fast(process_timer) >= + tap_codes[process_pos].delay) { + del_weak_mods(tap_codes[process_pos].mods); + unregister_code(tap_codes[process_pos].code); + tap_codes[process_pos].code = 0; + tap_codes[process_pos].mods = 0; + tap_codes[process_pos].delay = 0; + tap_codes[process_pos].register_tap = false; + process_timer = 0; + NEXT_TAP_CODE_POS(process_pos); + } + } +} + +void tap_code(uint8_t code) { + tap_code_register(code, 0, TAP_CODE_DELAY, true); +} + +void tap_code_chord(uint8_t code) { + register_code(code); + tap_code_register(code, 0, TAP_CODE_DELAY, false); +} + +void tap_code_delay(uint8_t code, uint16_t delay) { + tap_code_register(code, 0, delay, true); +} + +void tap_code16(uint16_t code) { + tap_code_register((uint8_t)code, extract_mod_bits(code), TAP_CODE_DELAY, + true); +} + +bool process_record_taps(uint16_t keycode, keyrecord_t *record) { + static fast_timer_t prev_interrupt = 0, prev_key_down = 0; + switch (keycode) { + case QK_LAYER_TAP ... QK_LAYER_TAP_MAX: + case QK_MOD_TAP ... QK_MOD_TAP_MAX: + if (record->event.pressed && + ((timer_elapsed_fast(prev_interrupt) < TAPPING_TERM) || + (timer_elapsed_fast(prev_key_down) < 200) || + CHECK_REGISTERED_MT(keycode))) { + tap_code_chord(keycode & 0xFF); + record->tap.count = 0xF; + prev_interrupt = timer_read_fast(); + return false; + } + if (record->tap.count == 0xF) + return false; + if (record->tap.count > 1 && (keycode == ESCLWR || keycode == RSEBSP)) { + if (record->event.pressed) { + register_code(keycode & 0xFF); + return false; + } else { + unregister_code(keycode & 0xFF); + return false; + } + } + if (record->tap.count && record->event.pressed) { + if (keycode >= QK_MOD_TAP || keycode == ESCLWR || keycode == RSEBSP) + tap_code_chord(keycode & 0xFF); + else + tap_code(keycode & 0xFF); + return false; + } else if (record->tap.interrupted && + (keycode >= QK_MOD_TAP || keycode == ESCLWR || + keycode == RSEBSP)) { + tap_code_chord(keycode & 0xFF); + prev_interrupt = timer_read_fast(); + return false; + } + default: + if (record->event.pressed) + prev_key_down = timer_read_fast(); + break; + } + return true; +} + +extern const uint8_t ascii_to_shift_lut[16]; +extern const uint8_t ascii_to_keycode_lut[128]; + +void tap_char(char ascii_code) { + uint8_t keycode = pgm_read_byte(&ascii_to_keycode_lut[(uint8_t)ascii_code]); + bool shifted = PGM_LOADBIT(ascii_to_shift_lut, (uint8_t)ascii_code); + tap_code_register(keycode, shifted ? MOD_BIT(KC_LSFT) : 0, TAP_CODE_DELAY, + true); +} + +void tap_string(const char *str) { + while (1) { + char ascii_code = pgm_read_byte(str); + if (!ascii_code) + break; + tap_char(ascii_code); + ++str; + } +} diff --git a/jack/tapping.c b/jack/tapping.c index 91690d5..800d67d 100644 --- a/jack/tapping.c +++ b/jack/tapping.c @@ -1,9 +1,9 @@ -// Copyright 2024 [email protected] +// Copyright 2025 [email protected] // SPDX-License-Identifier: GPL-2.0-or-later #include "jack.h" -#ifdef RANDWORD -#include "dict.h" -uint16_t word = 0; + +#ifndef CUSTOM_TAP_CODE_ENABLE +#define tap_string send_string_P #endif #define INTERCEPT_MOD_TAP(mod, keycode) \ @@ -14,64 +14,6 @@ uint16_t word = 0; } \ break; -static uint8_t select_word_state = NONE; - -bool process_select_word(uint16_t keycode, keyrecord_t *record) { - if (keycode == KC_LSFT || keycode == KC_RSFT) - return true; - if (keycode == SELWORD && record->event.pressed) { - const bool shifted = get_mods() & MOD_MASK_SHIFT; - if (!shifted) { - set_mods(MOD_BIT(KC_LCTL)); - if (select_word_state == NONE) { - send_keyboard_report(); - tap_code(KC_RGHT); - tap_code(KC_LEFT); - } - register_mods(MOD_BIT(KC_LSFT)); - register_code(KC_RGHT); - select_word_state = WORD; - } else { - if (select_word_state == NONE) { - clear_mods(); - send_keyboard_report(); - tap_code(KC_HOME); - register_mods(MOD_BIT(KC_LSFT)); - tap_code(KC_END); - set_mods(get_mods()); - select_word_state = FIRST_LINE; - } else { - register_code(KC_DOWN); - select_word_state = LINE; - } - } - return false; - } - switch (select_word_state) { - case WORD: - unregister_code(KC_RGHT); - unregister_mods(MOD_BIT(KC_LSFT) | MOD_BIT(KC_LCTL)); - select_word_state = SELECTED; - break; - case FIRST_LINE: - select_word_state = SELECTED; - break; - case LINE: - unregister_code(KC_DOWN); - select_word_state = SELECTED; - break; - case SELECTED: - if (keycode == KC_ESC) { - tap_code(KC_RGHT); - select_word_state = NONE; - return false; - } - default: - select_word_state = NONE; - } - return true; -} - uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) { switch (keycode) { case LWRSPC: @@ -134,8 +76,10 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { if (!process_record_unicode(keycode, record)) return false; #endif - if (!process_select_word(keycode, record)) +#ifdef CUSTOM_TAP_CODE_ENABLE + if (!process_record_taps(keycode, record)) return false; +#endif #ifdef OLED_ENABLE if (record->event.pressed) { oled_timer_reset(); @@ -170,12 +114,15 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch (keycode) { case UPDIR: if (record->event.pressed) - SEND_STRING("../"); + tap_string(PSTR("../")); break; - case NUKE: + case REMOVE: if (record->event.pressed) { - tap_code16(C(KC_A)); - SEND_STRING("\b```suggestion\n```"); + tap_string(PSTR("```suggestion\n```")); + tap_code(KC_UP); + tap_code(KC_UP); + tap_code(KC_ENT); + tap_code(KC_UP); } break; INTERCEPT_MOD_TAP(LALT_T, KC_EXLM) @@ -186,15 +133,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { INTERCEPT_MOD_TAP(RCTL_T, KC_ASTR) INTERCEPT_MOD_TAP(RGUI_T, KC_LPRN) INTERCEPT_MOD_TAP(RALT_T, KC_RPRN) - case RWORD: -#ifdef RANDWORD - word = rand() % NUM_WORDS; - if (record->event.pressed) { - send_string(dict[word]); - tap_code(KC_SPC); - } -#endif - break; } return true; } diff --git a/jack/unicode.c b/jack/unicode.c index 74c0ccc..a07a862 100644 --- a/jack/unicode.c +++ b/jack/unicode.c @@ -1,7 +1,18 @@ -// Copyright 2024 [email protected] +// Copyright 2025 [email protected] // SPDX-License-Identifier: GPL-2.0-or-later #include "jack.h" +enum unicode_mode { + NOMODE, + WIDE, + SCRIPT, + BLOCKS, + REGIONAL, + AUSSIE, + ZALGO, + SUPER +}; + uint8_t typing_mode = NOMODE; typedef uint32_t (*translator_function_t)(bool is_shifted, uint32_t keycode); @@ -157,7 +168,7 @@ DEFINE_UNICODE_LUT_TRANSLATOR(unicode_lut_translator_super, ); bool process_record_aussie(uint16_t keycode, keyrecord_t *record) { - bool is_shifted = (get_mods()) & MOD_MASK_SHIFT; + bool is_shifted = (get_mods())&MOD_MASK_SHIFT; if ((KC_A <= keycode) && (keycode <= KC_0)) { if (record->event.pressed) if (!process_record_glyph_replacement(keycode, record, @@ -222,20 +233,10 @@ bool process_record_zalgo(uint16_t keycode, keyrecord_t *record) { bool process_record_unicode(uint16_t keycode, keyrecord_t *record) { switch (keycode) { - case TABLE1: - if (record->event.pressed) { - send_unicode_string("┬──┬ ノ( ゜-゜ノ)"); - } - break; - case TABLE2: - if (record->event.pressed) { - send_unicode_string("(╯°□°)╯︵┻━┻"); - } - break; - case KC_NOMODE ... KC_SUPER: + case UC_NOMODE ... UC_SUPER: if (record->event.pressed) { - if (typing_mode != keycode - KC_NOMODE) - typing_mode = keycode - KC_NOMODE; + if (typing_mode != keycode - UC_NOMODE) + typing_mode = keycode - UC_NOMODE; else typing_mode = NOMODE; } diff --git a/keyboards/grumpy/keyboard.json b/keyboards/grumpy/keyboard.json deleted file mode 100644 index 2ad7bf2..0000000 --- a/keyboards/grumpy/keyboard.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "keyboard_name": "grumpy", - "manufacturer": "jacks", - "maintainer": "pngu.org", - "processor": "RP2040", - "bootloader": "rp2040", - "diode_direction": "COL2ROW", - "matrix_pins" : { - "cols": ["GP26", "GP27", "GP28", "GP29", "GP6"], - "rows": ["GP7", "GP0", "GP1", "GP2", "GP4", "GP3"] - }, - "usb": { - "vid": "0x6A73", - "pid": "0x6279", - "device_version": "1.0.0" - }, - "layouts": { - "LAYOUT": { - "layout": [ - { "label": "w", "matrix": [0, 1], "x": 1, "y": 0 }, - { "label": "e", "matrix": [0, 2], "x": 2, "y": 0 }, - { "label": "r", "matrix": [0, 3], "x": 3, "y": 0 }, - { "label": "t", "matrix": [0, 4], "x": 4, "y": 0 }, - { "label": "y", "matrix": [3, 4], "x": 5, "y": 0 }, - { "label": "u", "matrix": [3, 3], "x": 6, "y": 0 }, - { "label": "i", "matrix": [3, 2], "x": 7, "y": 0 }, - { "label": "o", "matrix": [3, 1], "x": 8, "y": 0 }, - { "label": "a", "matrix": [1, 0], "x": 0, "y": 1 }, - { "label": "s", "matrix": [1, 1], "x": 1, "y": 1 }, - { "label": "d", "matrix": [1, 2], "x": 2, "y": 1 }, - { "label": "f", "matrix": [1, 3], "x": 3, "y": 1 }, - { "label": "g", "matrix": [1, 4], "x": 4, "y": 1 }, - { "label": "h", "matrix": [4, 4], "x": 5, "y": 1 }, - { "label": "j", "matrix": [4, 3], "x": 6, "y": 1 }, - { "label": "k", "matrix": [4, 2], "x": 7, "y": 1 }, - { "label": "l", "matrix": [4, 1], "x": 8, "y": 1 }, - { "label": ";", "matrix": [4, 0], "x": 9, "y": 1 }, - { "label": "z", "matrix": [2, 0], "x": 0, "y": 2 }, - { "label": "x", "matrix": [2, 1], "x": 1, "y": 2 }, - { "label": "c", "matrix": [2, 2], "x": 2, "y": 2 }, - { "label": "v", "matrix": [2, 3], "x": 3, "y": 2 }, - { "label": "b", "matrix": [2, 4], "x": 4, "y": 2 }, - { "label": "n", "matrix": [5, 4], "x": 5, "y": 2 }, - { "label": "m", "matrix": [5, 3], "x": 6, "y": 2 }, - { "label": ",", "matrix": [5, 2], "x": 7, "y": 2 }, - { "label": ".", "matrix": [5, 1], "x": 8, "y": 2 }, - { "label": "/", "matrix": [5, 0], "x": 9, "y": 2 } - ] - } - } -} diff --git a/keyboards/grumpy/keymaps/jack/keymap.c b/keyboards/grumpy/keymaps/jack/keymap.c deleted file mode 100644 index 1f6d0ad..0000000 --- a/keyboards/grumpy/keymaps/jack/keymap.c +++ /dev/null @@ -1,13 +0,0 @@ -// Copyright 2024 [email protected] -// SPDX-License-Identifier: GPL-3.0-or-later -#include "jack.h" - -// clang-format off -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = LAYOUT( - KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, - KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, - KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH - ) -}; -// clang-format on diff --git a/keyboards/grumpy/readme.md b/keyboards/grumpy/readme.md deleted file mode 100644 index 08c8bb2..0000000 --- a/keyboards/grumpy/readme.md +++ /dev/null @@ -1,3 +0,0 @@ -### [grumpy](https://github.com/weteor/Grumpy) -![image1](https://i.imgur.com/VFSn7cnh.jpeg) -![image2](https://i.imgur.com/xUMFHg4h.jpeg) diff --git a/keyboards/leftover30/chconf.h b/keyboards/leftover30/chconf.h index 2add76c..3889564 100644 --- a/keyboards/leftover30/chconf.h +++ b/keyboards/leftover30/chconf.h @@ -1,4 +1,4 @@ -// Copyright 2024 [email protected] +// Copyright 2025 [email protected] // SPDX-License-Identifier: GPL-3.0-or-later #pragma once diff --git a/keyboards/leftover30/config.h b/keyboards/leftover30/config.h index d9c5627..c453ecd 100644 --- a/keyboards/leftover30/config.h +++ b/keyboards/leftover30/config.h @@ -1,4 +1,4 @@ -// Copyright 2024 [email protected] +// Copyright 2025 [email protected] // SPDX-License-Identifier: GPL-3.0-or-later #pragma once diff --git a/keyboards/leftover30/halconf.h b/keyboards/leftover30/halconf.h index 4ffc260..bfed83f 100644 --- a/keyboards/leftover30/halconf.h +++ b/keyboards/leftover30/halconf.h @@ -1,4 +1,4 @@ -// Copyright 2024 [email protected] +// Copyright 2025 [email protected] // SPDX-License-Identifier: GPL-3.0-or-later #pragma once diff --git a/keyboards/leftover30/keymaps/jack/keymap.c b/keyboards/leftover30/keymaps/jack/keymap.c index 066d6d3..8b62b21 100644 --- a/keyboards/leftover30/keymaps/jack/keymap.c +++ b/keyboards/leftover30/keymaps/jack/keymap.c @@ -1,4 +1,4 @@ -// Copyright 2024 [email protected] +// Copyright 2025 [email protected] // SPDX-License-Identifier: GPL-3.0-or-later #include "jack.h" @@ -8,7 +8,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ___BASE1___, KC_BSPC, ___BASE2___, ___BASE3___, - KC_MPLY, XXXXXXX, LWRSPC, C(S(KC_V)), RWORD + KC_MPLY, XXXXXXX, LWRSPC, C(S(KC_V)), XXXXXXX ), [_LOWER] = LAYOUT_jack( ___LOWER1___, KC_DEL, diff --git a/keyboards/leftover30/mcuconf.h b/keyboards/leftover30/mcuconf.h index 10914c8..ec84251 100644 --- a/keyboards/leftover30/mcuconf.h +++ b/keyboards/leftover30/mcuconf.h @@ -1,4 +1,4 @@ -// Copyright 2024 [email protected] +// Copyright 2025 [email protected] // SPDX-License-Identifier: GPL-3.0-or-later #pragma once diff --git a/keyboards/leftover30/readme.md b/keyboards/leftover30/readme.md index 7eb9850..d6ce8e1 100644 --- a/keyboards/leftover30/readme.md +++ b/keyboards/leftover30/readme.md @@ -1,5 +1,5 @@ ### leftover30 originally designed by [marksard](https://github.com/marksard/Keyboards/tree/master/leftover30), but the pcb seems to be mia...\ -(arm) pcb redesigned by [tominabox1](https://github.com/tominabox1/) with a somewhat jank case from p3d. -![front](https://i.imgur.com/O6vY5omh.jpeg) -![back](https://i.imgur.com/on9pBoAh.jpeg) +(arm) pcb redesigned by [tominabox1](https://github.com/tominabox1) with a somewhat jank case from p3d. +![front](https://i.imgur.com/O6vY5om.jpeg) +![back](https://i.imgur.com/on9pBoA.jpeg) diff --git a/keyboards/locus/keymaps/jack/keymap.c b/keyboards/locus/keymaps/jack/keymap.c index 0779bc5..7c2915b 100644 --- a/keyboards/locus/keymaps/jack/keymap.c +++ b/keyboards/locus/keymaps/jack/keymap.c @@ -1,4 +1,4 @@ -// Copyright 2024 [email protected] +// Copyright 2025 [email protected] // SPDX-License-Identifier: GPL-3.0-or-later #include "jack.h" diff --git a/keyboards/sweep/config.h b/keyboards/sweep/config.h index e6ef7f3..51edc09 100644 --- a/keyboards/sweep/config.h +++ b/keyboards/sweep/config.h @@ -1,4 +1,4 @@ -// Copyright 2024 [email protected] +// Copyright 2025 [email protected] // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/keyboards/sweep/halconf.h b/keyboards/sweep/halconf.h index 63f81cd..a6c11ab 100644 --- a/keyboards/sweep/halconf.h +++ b/keyboards/sweep/halconf.h @@ -1,4 +1,4 @@ -// Copyright 2024 [email protected] +// Copyright 2025 [email protected] // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/keyboards/sweep/keymaps/jack/keymap.c b/keyboards/sweep/keymaps/jack/keymap.c index d505967..dc9a11b 100644 --- a/keyboards/sweep/keymaps/jack/keymap.c +++ b/keyboards/sweep/keymaps/jack/keymap.c @@ -1,4 +1,4 @@ -// Copyright 2024 [email protected] +// Copyright 2025 [email protected] // SPDX-License-Identifier: GPL-2.0-or-later #include "jack.h" @@ -14,13 +14,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ___LOWER1___, ___LOWER2___, ___LOWER3___, - KC_TRNS, KC_TRNS, KC_TRNS, PNP + _______, _______, _______, PNP ), [_RAISE] = LAYOUT_jack( ___RAISE1___, ___RAISE2___, ___RAISE3___, - NUKE, KC_TRNS, KC_TRNS, KC_TRNS + REMOVE, _______, _______, _______ ) }; // clang-format on diff --git a/keyboards/sweep/lib/jetbrainsmono11.qff.c b/keyboards/sweep/lib/jetbrainsmono11.qff.c deleted file mode 100644 index 9a60c9f..0000000 --- a/keyboards/sweep/lib/jetbrainsmono11.qff.c +++ /dev/null @@ -1,104 +0,0 @@ -// Copyright 2024 QMK -// copyright SPDX-License-Identifier: GPL-2.0-or-later - -// Font's metadata -// --------------- -// Glyphs: , !, ", #, $, %, &, ', (, ), *, +, ,, -, ., /, 0, 1, 2, 3, 4, 5, 6, -// 7, 8, 9, :, ;, <, =, >, ?, @, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, -// Q, R, S, T, U, V, W, X, Y, Z, [, \, ], ^, _, `, a, b, c, d, e, f, g, h, i, j, -// k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, {, |, }, ~ - -#include <qp.h> - -const uint32_t font_jetbrainsmono11_length = 1365; - -// clang-format off -const uint8_t font_jetbrainsmono11[1365] = { - 0x00, 0xFF, 0x14, 0x00, 0x00, 0x51, 0x46, 0x46, 0x01, 0x55, 0x05, 0x00, 0x00, 0xAA, 0xFA, 0xFF, - 0xFF, 0x0C, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x01, 0xFE, 0x1D, 0x01, 0x00, 0x07, 0x00, - 0x00, 0xC7, 0x02, 0x00, 0x87, 0x05, 0x00, 0x47, 0x08, 0x00, 0x07, 0x0B, 0x00, 0xC7, 0x0D, 0x00, - 0x87, 0x10, 0x00, 0x47, 0x13, 0x00, 0x07, 0x16, 0x00, 0xC7, 0x18, 0x00, 0x87, 0x1B, 0x00, 0x47, - 0x1E, 0x00, 0x07, 0x21, 0x00, 0xC7, 0x23, 0x00, 0x87, 0x26, 0x00, 0x47, 0x29, 0x00, 0x07, 0x2C, - 0x00, 0xC7, 0x2E, 0x00, 0x87, 0x31, 0x00, 0x47, 0x34, 0x00, 0x07, 0x37, 0x00, 0xC7, 0x39, 0x00, - 0x87, 0x3C, 0x00, 0x47, 0x3F, 0x00, 0x07, 0x42, 0x00, 0xC7, 0x44, 0x00, 0x87, 0x47, 0x00, 0x47, - 0x4A, 0x00, 0x07, 0x4D, 0x00, 0xC7, 0x4F, 0x00, 0x87, 0x52, 0x00, 0x47, 0x55, 0x00, 0x07, 0x58, - 0x00, 0xC7, 0x5A, 0x00, 0x87, 0x5D, 0x00, 0x47, 0x60, 0x00, 0x07, 0x63, 0x00, 0xC7, 0x65, 0x00, - 0x87, 0x68, 0x00, 0x47, 0x6B, 0x00, 0x07, 0x6E, 0x00, 0xC7, 0x70, 0x00, 0x87, 0x73, 0x00, 0x47, - 0x76, 0x00, 0x07, 0x79, 0x00, 0xC7, 0x7B, 0x00, 0x87, 0x7E, 0x00, 0x47, 0x81, 0x00, 0x07, 0x84, - 0x00, 0xC7, 0x86, 0x00, 0x87, 0x89, 0x00, 0x47, 0x8C, 0x00, 0x07, 0x8F, 0x00, 0xC7, 0x91, 0x00, - 0x87, 0x94, 0x00, 0x47, 0x97, 0x00, 0x07, 0x9A, 0x00, 0xC7, 0x9C, 0x00, 0x87, 0x9F, 0x00, 0x47, - 0xA2, 0x00, 0x07, 0xA5, 0x00, 0xC7, 0xA7, 0x00, 0x87, 0xAA, 0x00, 0x47, 0xAD, 0x00, 0x07, 0xB0, - 0x00, 0xC7, 0xB2, 0x00, 0x87, 0xB5, 0x00, 0x47, 0xB8, 0x00, 0x07, 0xBB, 0x00, 0xC7, 0xBD, 0x00, - 0x87, 0xC0, 0x00, 0x47, 0xC3, 0x00, 0x07, 0xC6, 0x00, 0xC7, 0xC8, 0x00, 0x87, 0xCB, 0x00, 0x47, - 0xCE, 0x00, 0x07, 0xD1, 0x00, 0xC7, 0xD3, 0x00, 0x87, 0xD6, 0x00, 0x47, 0xD9, 0x00, 0x07, 0xDC, - 0x00, 0xC7, 0xDE, 0x00, 0x87, 0xE1, 0x00, 0x47, 0xE4, 0x00, 0x07, 0xE7, 0x00, 0xC7, 0xE9, 0x00, - 0x87, 0xEC, 0x00, 0x47, 0xEF, 0x00, 0x07, 0xF2, 0x00, 0xC7, 0xF4, 0x00, 0x87, 0xF7, 0x00, 0x47, - 0xFA, 0x00, 0x07, 0xFD, 0x00, 0xC7, 0xFF, 0x00, 0x87, 0x02, 0x01, 0x04, 0xFB, 0x15, 0x04, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x81, 0x40, - 0x20, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x85, 0x42, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x89, 0xE0, 0xA3, 0x40, 0x7E, 0x12, 0x01, 0x00, 0x00, 0x08, 0x84, 0x47, 0xE1, - 0xE0, 0xE0, 0x50, 0x1A, 0x04, 0x02, 0x00, 0x00, 0x80, 0xA9, 0x50, 0x71, 0xE0, 0x18, 0x8A, 0x18, - 0x00, 0x00, 0x00, 0x00, 0x43, 0x42, 0x30, 0xA4, 0x22, 0x31, 0x17, 0x00, 0x00, 0x00, 0x00, 0x02, - 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x82, 0x40, 0x20, 0x10, 0x08, 0x04, - 0x04, 0x04, 0x00, 0x00, 0x03, 0x02, 0x01, 0x80, 0x40, 0x00, 0x08, 0x84, 0x01, 0x00, 0x00, 0x00, - 0x00, 0x81, 0xF0, 0x31, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0xF8, 0x10, - 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x82, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x08, 0x04, 0x00, 0x00, 0x00, 0x10, 0x04, 0x82, 0x40, 0x20, 0x08, 0x04, 0x81, 0x00, 0x00, - 0x00, 0x00, 0x47, 0x26, 0x52, 0x89, 0x44, 0x32, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x43, 0x81, 0x40, - 0x20, 0x10, 0x08, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x47, 0x06, 0x82, 0x60, 0x18, 0x04, 0x1F, 0x00, - 0x00, 0x00, 0x80, 0x07, 0x82, 0xE0, 0x40, 0x40, 0x12, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x02, 0x41, - 0x90, 0x48, 0x3C, 0x10, 0x08, 0x00, 0x00, 0x00, 0x80, 0x47, 0x20, 0xF0, 0xC0, 0x40, 0x32, 0x0E, - 0x00, 0x00, 0x00, 0x00, 0x82, 0x41, 0xF0, 0x88, 0x44, 0x22, 0x0E, 0x00, 0x00, 0x00, 0x80, 0x4F, - 0x04, 0x81, 0x60, 0x10, 0x08, 0x02, 0x00, 0x00, 0x00, 0x00, 0x47, 0x26, 0xE1, 0xC8, 0x44, 0x22, - 0x0E, 0x00, 0x00, 0x00, 0x00, 0x47, 0x24, 0x92, 0x71, 0x20, 0x08, 0x06, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x80, 0x40, 0x00, 0x00, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x00, 0x00, - 0x00, 0x04, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x08, 0x18, 0x30, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xE0, 0x03, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xC0, 0xC0, - 0x30, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x02, 0x81, 0x30, 0x08, 0x00, 0x02, 0x00, 0x00, - 0x00, 0x00, 0x47, 0x04, 0xC2, 0xA5, 0x52, 0x28, 0x8C, 0x80, 0x03, 0x00, 0x00, 0x82, 0x41, 0xA1, - 0x48, 0x3C, 0x22, 0x11, 0x00, 0x00, 0x00, 0x80, 0x47, 0x26, 0xF1, 0xC8, 0x44, 0x22, 0x0F, 0x00, - 0x00, 0x00, 0x00, 0x47, 0x24, 0x10, 0x08, 0x04, 0x22, 0x0E, 0x00, 0x00, 0x00, 0x80, 0x47, 0x22, - 0x12, 0x89, 0x44, 0x12, 0x0F, 0x00, 0x00, 0x00, 0x80, 0x4F, 0x20, 0xF0, 0x08, 0x04, 0x02, 0x1F, - 0x00, 0x00, 0x00, 0x80, 0x4F, 0x20, 0x10, 0x78, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x47, - 0x26, 0x10, 0xE8, 0x44, 0x32, 0x0E, 0x00, 0x00, 0x00, 0x80, 0x48, 0x24, 0xF2, 0x89, 0x44, 0x22, - 0x11, 0x00, 0x00, 0x00, 0x80, 0x07, 0x81, 0x40, 0x20, 0x10, 0x08, 0x0F, 0x00, 0x00, 0x00, 0x00, - 0x04, 0x02, 0x81, 0x40, 0x20, 0x12, 0x0F, 0x00, 0x00, 0x00, 0x80, 0x48, 0x22, 0x71, 0x68, 0x24, - 0x12, 0x11, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x1F, 0x00, 0x00, 0x00, - 0x80, 0xCC, 0x66, 0x52, 0x89, 0x44, 0x22, 0x11, 0x00, 0x00, 0x00, 0x80, 0xC8, 0x64, 0x52, 0xA9, - 0x74, 0x32, 0x19, 0x00, 0x00, 0x00, 0x00, 0x47, 0x22, 0x12, 0x89, 0x44, 0x12, 0x0E, 0x00, 0x00, - 0x00, 0x80, 0x47, 0x24, 0x12, 0x79, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x47, 0x26, 0x12, - 0x89, 0x44, 0x32, 0x0E, 0x04, 0x02, 0x00, 0x80, 0x47, 0x24, 0x92, 0x79, 0x24, 0x12, 0x11, 0x00, - 0x00, 0x00, 0x00, 0x47, 0x22, 0x60, 0x40, 0x40, 0x22, 0x0E, 0x00, 0x00, 0x00, 0x80, 0x0F, 0x81, - 0x40, 0x20, 0x10, 0x08, 0x04, 0x00, 0x00, 0x00, 0x80, 0x48, 0x24, 0x12, 0x89, 0x44, 0x12, 0x0E, - 0x00, 0x00, 0x00, 0x80, 0x48, 0x24, 0x91, 0x50, 0x28, 0x0C, 0x06, 0x00, 0x00, 0x00, 0x40, 0x2A, - 0xC5, 0x32, 0x99, 0x6C, 0x36, 0x09, 0x00, 0x00, 0x00, 0x80, 0x48, 0x42, 0x61, 0x30, 0x28, 0x12, - 0x11, 0x00, 0x00, 0x00, 0x80, 0x48, 0x42, 0xE1, 0x20, 0x10, 0x08, 0x04, 0x00, 0x00, 0x00, 0x80, - 0x0F, 0x02, 0x41, 0x10, 0x08, 0x02, 0x1F, 0x00, 0x00, 0x00, 0x0E, 0x81, 0x40, 0x20, 0x10, 0x08, - 0x04, 0x02, 0x07, 0x00, 0x00, 0x81, 0x80, 0x40, 0x40, 0x20, 0x10, 0x10, 0x08, 0x08, 0x00, 0x00, - 0x06, 0x02, 0x81, 0x40, 0x20, 0x10, 0x08, 0x04, 0x03, 0x00, 0x00, 0x00, 0x82, 0x00, 0x11, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x0F, 0x00, - 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x81, - 0xF1, 0x44, 0x32, 0x1F, 0x00, 0x00, 0x00, 0x80, 0x40, 0xE0, 0x91, 0x89, 0x44, 0x32, 0x0F, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xC0, 0x11, 0x09, 0x04, 0x22, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x08, 0xC4, - 0x93, 0x89, 0x44, 0x32, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x11, 0xF9, 0x04, 0x02, 0x0E, - 0x00, 0x00, 0x00, 0x00, 0x8E, 0x40, 0xF0, 0x11, 0x08, 0x04, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xC0, 0x93, 0x89, 0x44, 0x32, 0x1E, 0x84, 0x03, 0x00, 0x80, 0x40, 0xE0, 0x91, 0x89, 0x44, 0x22, - 0x11, 0x00, 0x00, 0x00, 0x00, 0x02, 0xE0, 0x40, 0x20, 0x10, 0x08, 0x1F, 0x00, 0x00, 0x00, 0x00, - 0x04, 0xE0, 0x81, 0x40, 0x20, 0x10, 0x08, 0xC4, 0x01, 0x00, 0x80, 0x40, 0x20, 0x93, 0x38, 0x24, - 0x12, 0x11, 0x00, 0x00, 0x00, 0xC0, 0x81, 0x40, 0x20, 0x10, 0x08, 0x04, 0x1C, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x60, 0x53, 0xA9, 0x54, 0x2A, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x91, 0x89, - 0x44, 0x22, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x91, 0x89, 0x44, 0x32, 0x0E, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xE0, 0x91, 0x89, 0x44, 0x32, 0x8F, 0x40, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x93, - 0x89, 0x44, 0x32, 0x1E, 0x08, 0x04, 0x00, 0x00, 0x00, 0xE0, 0x11, 0x89, 0x04, 0x02, 0x01, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xC0, 0x11, 0x38, 0x20, 0x22, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x80, 0xE0, - 0x23, 0x10, 0x08, 0x04, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x12, 0x89, 0x44, 0x12, 0x0E, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x92, 0x48, 0x28, 0x0C, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x90, 0x42, 0x99, 0x4C, 0x16, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xA3, 0x30, 0x18, 0x14, - 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x92, 0x50, 0x28, 0x0C, 0x04, 0x82, 0x00, 0x00, 0x00, - 0x00, 0xE0, 0x81, 0x20, 0x08, 0x06, 0x1F, 0x00, 0x00, 0x00, 0x08, 0x02, 0x81, 0x30, 0x20, 0x10, - 0x08, 0x04, 0x04, 0x00, 0x00, 0x04, 0x02, 0x81, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x00, 0x00, - 0x03, 0x83, 0x40, 0xC0, 0x11, 0x08, 0x0C, 0x86, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x69, - 0x00, 0x00, 0x00, 0x00, 0x00, -}; -// clang-format on diff --git a/keyboards/sweep/lib/jetbrainsmono11.qff.h b/keyboards/sweep/lib/jetbrainsmono11.qff.h deleted file mode 100644 index de556e3..0000000 --- a/keyboards/sweep/lib/jetbrainsmono11.qff.h +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright 2024 QMK -// SPDX-License-Identifier: GPL-2.0-or-later -#pragma once - -#include <qp.h> - -extern const uint32_t font_jetbrainsmono11_length; -extern const uint8_t font_jetbrainsmono11[1365]; diff --git a/keyboards/sweep/mcuconf.h b/keyboards/sweep/mcuconf.h index be63774..182be78 100644 --- a/keyboards/sweep/mcuconf.h +++ b/keyboards/sweep/mcuconf.h @@ -1,4 +1,4 @@ -// Copyright 2024 [email protected] +// Copyright 2025 [email protected] // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/keyboards/sweep/rules.mk b/keyboards/sweep/rules.mk index 172fd27..3bac055 100644 --- a/keyboards/sweep/rules.mk +++ b/keyboards/sweep/rules.mk @@ -2,7 +2,3 @@ POINTING_DEVICE_DRIVER = cirque_pinnacle_spi # depends on 21844 QUANTUM_PAINTER_DRIVERS += ls0xx_spi - -ifeq ($(strip $(QUANTUM_PAINTER_ENABLE)), yes) - SRC += lib/jetbrainsmono11.qff.c -endif diff --git a/keyboards/sweep/sweep.c b/keyboards/sweep/sweep.c index f14a591..bd73d8a 100644 --- a/keyboards/sweep/sweep.c +++ b/keyboards/sweep/sweep.c @@ -1,13 +1,11 @@ -// Copyright 2024 [email protected] +// Copyright 2025 [email protected] // SPDX-License-Identifier: GPL-2.0-or-later -#include <quantum.h> +#include "quantum.h" #ifdef QUANTUM_PAINTER_ENABLE -#include "lib/jetbrainsmono11.qff.h" -#include <qp.h> -#include <qp_surface.h> +#include "qp.h" +#include "qp_surface.h" static painter_device_t display; -static painter_font_handle_t font; static uint8_t framebuffer[SURFACE_REQUIRED_BUFFER_BYTE_SIZE( LS0XX_DISPLAY_WIDTH, LS0XX_DISPLAY_HEIGHT, 1)] = {0}; @@ -16,13 +14,6 @@ void keyboard_post_init_kb(void) { LS0XX_DISPLAY_WIDTH, LS0XX_DISPLAY_HEIGHT, LS0XX_CS_PIN, LCD_SPI_DIVISOR, 0, framebuffer); qp_init(display, QP_ROTATION_0); - font = qp_load_font_mem(font); - if (font) { - static const char *data = "foo bar baz"; - int16_t width = qp_textwidth(font, data); - qp_drawtext(display, LS0XX_DISPLAY_WIDTH - width - 1, - LS0XX_DISPLAY_HEIGHT - font->line_height - 1, font, data); - } keyboard_post_init_user(); } diff --git a/keyboards/tornish/keymaps/default/keymap.c b/keyboards/tornish/keymaps/default/keymap.c index aeb2df2..acd59b8 100644 --- a/keyboards/tornish/keymaps/default/keymap.c +++ b/keyboards/tornish/keymaps/default/keymap.c @@ -1,4 +1,4 @@ -// Copyright 2024 [email protected] +// Copyright 2025 [email protected] // SPDX-License-Identifier: GPL-2.0-or-later #include QMK_KEYBOARD_H diff --git a/keyboards/tornish/readme.md b/keyboards/tornish/readme.md index 3224611..57b3d5a 100644 --- a/keyboards/tornish/readme.md +++ b/keyboards/tornish/readme.md @@ -1,10 +1,10 @@ -### half a [torn](https://github.com/rtitmuss/torn) keyboard used solely for minecraft :) -![img](https://i.imgur.com/e7zKTK7h.jpeg) +### half a [torn](https://github.com/rtitmuss/torn) keyboard used for minecraft :) +![img](https://i.imgur.com/e7zKTK7.jpeg) for whatever reason, this board does not like to flash over usb. -so [flash.sh](flash.sh) does the work for us: -qmk compile -kb tornish -km default > /dev/null +so [flash.sh](flash.sh) does the work instead: ```shell +qmk compile -kb tornish -km default > /dev/null sed -i '$ d' $FIRMWARE #remove last line from firmware hex file (eof indicator) cat $BOOTLOADER >> $FIRMWARE #append bootloader hex file to firmware avrdude -c usbtiny -p atmega328p -U flash:w:$FIRMWARE:i #flash firmware + bootloader over serial diff --git a/keyboards/xyz60/keymaps/jack/keymap.c b/keyboards/xyz60/keymaps/jack/keymap.c index 024d732..81941ed 100644 --- a/keyboards/xyz60/keymaps/jack/keymap.c +++ b/keyboards/xyz60/keymaps/jack/keymap.c @@ -1,4 +1,4 @@ -// Copyright 2024 [email protected] +// Copyright 2025 [email protected] // SPDX-License-Identifier: GPL-3.0-or-later #include "jack.h" #define ___NONE___ \ @@ -12,21 +12,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, ___BASE1___, KC_BSPC, _______, PNP, _______, ___BASE2___, _______, _______, _______, ___BASE3___, _______, - _______, _______, KC_ESC, LWRSPC, PSTRSE, _______, _______ + _______, _______, KC_ESC, LWRSPC, PSTRSE, _______, _______ ), [_LOWER] = LAYOUT_jack_60_ts( _______, ___NONE___, _______, ___LOWER1___, _______, _______, _______, _______, ___LOWER2___, _______, _______, _______, ___LOWER3___, _______, - _______, _______, _______, _______, _______, _______, _______ + _______, _______, _______, _______, _______, _______, _______ ), [_RAISE] = LAYOUT_jack_60_ts( _______, ___NONE___, _______, ___RAISE1___, _______, _______, _______, _______, ___RAISE2___, _______, _______, _______, ___RAISE3___, _______, - _______, _______, _______, _______, _______, _______, _______ + _______, _______, _______, _______, _______, _______, _______ ) }; // clang-format on diff --git a/keymaps/bully/keymap.c b/keymaps/bully/keymap.c index 927d588..bd9ef4d 100644 --- a/keymaps/bully/keymap.c +++ b/keymaps/bully/keymap.c @@ -1,4 +1,4 @@ -// Copyright 2024 [email protected] +// Copyright 2025 [email protected] // SPDX-License-Identifier: GPL-3.0-or-later #include "jack.h" @@ -6,7 +6,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_BASE] = LAYOUT_jack( XXXXXXX, ___BASE1___, KC_BSPC, KC_BSPC, - NUKE, ___BASE2___, PNP, + REMOVE, ___BASE2___, PNP, XXXXXXX, ___BASE3___, XXXXXXX, KC_VOLD, UPDIR, KC_ESC, _______, LT(_LOWER, KC_SPC), _______, PSTRSE, XXXXXXX, KC_VOLU ), diff --git a/keymaps/crkbd/config.h b/keymaps/crkbd/config.h index 1516e0b..f93a586 100644 --- a/keymaps/crkbd/config.h +++ b/keymaps/crkbd/config.h @@ -1,4 +1,4 @@ -// Copyright 2024 [email protected] +// Copyright 2025 [email protected] // SPDX-License-Identifier: GPL-2.0-or-later #pragma once @@ -13,9 +13,9 @@ #define WS2812_DI_PIN B5 #define WS2812_PWM_DRIVER PWMD3 #define WS2812_PWM_CHANNEL 3 -#define WS2812_DMA_STREAM STM32_DMA1_STREAM3 -#define WS2812_DMA_CHANNEL 3 -#define WS2812_DMAMUX_ID STM32_DMAMUX1_TIM3_UP +#define WS2812_PWM_DMA_STREAM STM32_DMA1_STREAM3 +#define WS2812_PWM_DMA_CHANNEL 3 +#define WS2812_PWM_DMAMUX_ID STM32_DMAMUX1_TIM3_UP #endif #ifdef ENCODER_ENABLE diff --git a/keymaps/crkbd/halconf.h b/keymaps/crkbd/halconf.h index 547b9db..81505ac 100644 --- a/keymaps/crkbd/halconf.h +++ b/keymaps/crkbd/halconf.h @@ -1,4 +1,4 @@ -// Copyright 2024 [email protected] +// Copyright 2025 [email protected] // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/keymaps/crkbd/keymap.c b/keymaps/crkbd/keymap.c index 54fd197..eca3a2a 100644 --- a/keymaps/crkbd/keymap.c +++ b/keymaps/crkbd/keymap.c @@ -1,4 +1,4 @@ -// Copyright 2024 [email protected] +// Copyright 2025 [email protected] // SPDX-License-Identifier: GPL-2.0-or-later #include "jack.h" @@ -6,21 +6,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_BASE] = LAYOUT_jack_3x6( XXXXXXX, ___BASE1___, XXXXXXX, - XXXXXXX, ___BASE2___, RWORD, + XXXXXXX, ___BASE2___, XXXXXXX, XXXXXXX, ___BASE3___, XXXXXXX, - ___BASE4___ + ___BASE4___ ), [_LOWER] = LAYOUT_jack_3x6( - XXXXXXX, ___LOWER1___, XXXXXXX, - XXXXXXX, ___LOWER2___, XXXXXXX, - XXXXXXX, ___LOWER3___, XXXXXXX, - ___LOWER4___ + _______, ___LOWER1___, _______, + _______, ___LOWER2___, _______, + _______, ___LOWER3___, _______, + ___LOWER4___ ), [_RAISE] = LAYOUT_jack_3x6( - XXXXXXX, ___RAISE1___, XXXXXXX, - XXXXXXX, ___RAISE2___, XXXXXXX, - XXXXXXX, ___RAISE3___, XXXXXXX, - ___RAISE4___ + _______, ___RAISE1___, _______, + _______, ___RAISE2___, _______, + _______, ___RAISE3___, _______, + ___RAISE4___ ) }; // clang-format on @@ -62,31 +62,9 @@ void keyboard_post_init_keymap(void) { } #endif // audio -#ifdef POINTING_DEVICE_ENABLE -uint8_t red = 255, green = 0, blue = 0; - -void trackball_hue(void) { - if (red != 255 && green != 255 && blue != 255) - red = 255; - if (red == 255 && green < 255 && !blue) - green += 15; - else if (green == 255 && !blue && red) - red -= 15; - else if (!red && blue < 255 && green == 255) - blue += 15; - else if (blue == 255 && green && !red) - green -= 15; - else if (!green && blue == 255 && red < 255) - red += 15; - else if (!green && blue && red == 255) - blue -= 15; - pimoroni_trackball_set_rgbw(red, green, blue, 0); -} -#endif // pointing device - #ifdef OLED_ENABLE oled_rotation_t oled_init_user(oled_rotation_t rotation) { - return is_keyboard_master() ? 2 : 3; + return is_keyboard_master() ? OLED_ROTATION_180 : OLED_ROTATION_270; } bool oled_task_keymap(void) { diff --git a/keymaps/crkbd/mcuconf.h b/keymaps/crkbd/mcuconf.h index 871c3e7..db028e0 100644 --- a/keymaps/crkbd/mcuconf.h +++ b/keymaps/crkbd/mcuconf.h @@ -1,4 +1,4 @@ -// Copyright 2024 [email protected] +// Copyright 2025 [email protected] // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/keymaps/crkbd/rules.mk b/keymaps/crkbd/rules.mk index b1fff61..a0d37aa 100644 --- a/keymaps/crkbd/rules.mk +++ b/keymaps/crkbd/rules.mk @@ -4,8 +4,6 @@ WS2812_DRIVER = pwm OLED_ENABLE = yes AUDIO_ENABLE = no AUDIO_DRIVER = dac_basic -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = yes ENCODER_ENABLE = yes ENCODER_MAP_ENABLE = yes POINTING_DEVICE_ENABLE = no diff --git a/keymaps/f60/keymap.c b/keymaps/f60/keymap.c index c730bd5..5f14df5 100644 --- a/keymaps/f60/keymap.c +++ b/keymaps/f60/keymap.c @@ -1,4 +1,4 @@ -// Copyright 2024 [email protected] +// Copyright 2025 [email protected] // SPDX-License-Identifier: GPL-2.0-or-later #include "jack.h" #define ___NONE___ \ @@ -12,21 +12,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, ___BASE1___, KC_BSPC, _______, PNP, _______, ___BASE2___, _______, _______, _______, ___BASE3___, _______, - _______, _______, KC_ESC, LWRSPC, PSTRSE, _______, _______ + _______, _______, KC_ESC, LWRSPC, PSTRSE, _______, _______ ), [_LOWER] = LAYOUT_jack_60_ts( _______, ___NONE___, _______, ___LOWER1___, _______, _______, _______, _______, ___LOWER2___, _______, _______, _______, ___LOWER3___, _______, - _______, _______, _______, _______, _______, _______, _______ + _______, _______, _______, _______, _______, _______, _______ ), [_RAISE] = LAYOUT_jack_60_ts( _______, ___NONE___, _______, ___RAISE1___, _______, _______, _______, _______, ___RAISE2___, _______, _______, _______, ___RAISE3___, _______, - _______, _______, _______, _______, _______, _______, _______ + _______, _______, _______, _______, _______, _______, _______ ) }; // clang-format on diff --git a/keymaps/f60/readme.md b/keymaps/f60/readme.md index 8244d1b..81b06f6 100644 --- a/keymaps/f60/readme.md +++ b/keymaps/f60/readme.md @@ -1,4 +1,4 @@ ### trio60 -![front](https://i.imgur.com/MsKEbeBh.jpeg) -![back](https://i.imgur.com/1D9xUYTh.jpeg) -![rear](https://i.imgur.com/x6MBDMdh.jpeg) +![front](https://i.imgur.com/MsKEbeB.jpeg) +![back](https://i.imgur.com/1D9xUYT.jpeg) +![rear](https://i.imgur.com/x6MBDMd.jpeg) diff --git a/keymaps/ferris/config.h b/keymaps/ferris/config.h index 1f624e5..d56921a 100644 --- a/keymaps/ferris/config.h +++ b/keymaps/ferris/config.h @@ -1,4 +1,4 @@ -// Copyright 2024 [email protected] +// Copyright 2025 [email protected] // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/keymaps/ferris/keymap.c b/keymaps/ferris/keymap.c index 71f2e14..e3e6b36 100644 --- a/keymaps/ferris/keymap.c +++ b/keymaps/ferris/keymap.c @@ -1,4 +1,4 @@ -// Copyright 2024 [email protected] +// Copyright 2025 [email protected] // SPDX-License-Identifier: GPL-2.0-or-later #include "jack.h" #define XX NO_LED @@ -15,13 +15,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ___LOWER1___, ___LOWER2___, ___LOWER3___, - XXXXXXX, XXXXXXX, XXXXXXX, PNP + _______, _______, _______, PNP ), [_RAISE] = LAYOUT_jack( ___RAISE1___, ___RAISE2___, ___RAISE3___, - UPDIR, XXXXXXX, XXXXXXX, XXXXXXX + UPDIR, _______, _______, _______ ) }; diff --git a/keymaps/kyria/config.h b/keymaps/kyria/config.h index 25e13a2..3898f61 100644 --- a/keymaps/kyria/config.h +++ b/keymaps/kyria/config.h @@ -1,4 +1,4 @@ -// Copyright 2024 [email protected] +// Copyright 2025 [email protected] // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/keymaps/kyria/keymap.c b/keymaps/kyria/keymap.c index 99b9da3..3612228 100644 --- a/keymaps/kyria/keymap.c +++ b/keymaps/kyria/keymap.c @@ -1,28 +1,28 @@ -// Copyright 2024 [email protected] +// Copyright 2025 [email protected] // SPDX-License-Identifier: GPL-2.0-or-later #include "jack.h" // clang-format off const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_BASE] = LAYOUT_jack( - XXXXXXX, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, XXXXXXX, - XXXXXXX, HRML(KC_A, KC_S, KC_D, KC_F), KC_G, KC_H, HRMR(KC_J, KC_K, KC_L, KC_SCLN), XXXXXXX, - XXXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, RWORD, XXXXXXX, XXXXXXX, NUKE, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, XXXXXXX, + XXXXXXX, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, XXXXXXX, + XXXXXXX, HRML(KC_A, KC_S, KC_D, KC_F), KC_G, KC_H, HRMR(KC_J, KC_K, KC_L, KC_SCLN), XXXXXXX, + XXXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_SPC, XXXXXXX, XXXXXXX, KC_BSPC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, XXXXXXX, XXXXXXX, UPDIR, ESCLWR, KC_SPC, XXXXXXX, XXXXXXX, KC_BSPC, PSTRSE, PNP, XXXXXXX ), [_LOWER] = LAYOUT_jack( _______, KC_1, KC_2 , KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, _______, HRML(KC_EXLM, KC_AT, KC_HASH, KC_DLR), KC_PERC, KC_CIRC, HRMR(KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN), _______, - _______, KC_VOLD, KC_TAB, KC_CAPS, KC_TILD, KC_GRV, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_VOLU, _______, + _______, KC_VOLD, KC_TAB, KC_CAPS, REMOVE, KC_GRV, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), [_RAISE] = LAYOUT_jack( - _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXXMODE, KC_SCRIPT, KC_BLOCKS, KC_REGIONAL, QK_MAKE, _______, - _______, _______, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, KC_WIDE, KC_AUSSIE, KC_ZALGO, KC_SUPER, QK_BOOT, _______, - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, UC_NOMODE, UC_SCRIPT, UC_BLOCKS, UC_REGIONAL, QK_MAKE, _______, + _______, M_JIGGLE, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, KC_WIDE, KC_AUSSIE, KC_ZALGO, KC_SUPER, QK_BOOT, _______, + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) }; // clang-format on @@ -36,3 +36,31 @@ bool oled_task_keymap(void) { return false; } #endif + +#ifdef POINTING_DEVICE_ENABLE +static bool scrolling = false; +layer_state_t layer_state_set_user(layer_state_t state) { + switch (get_highest_layer(state)) { + case _LOWER: + scrolling = true; + pointing_device_set_cpi(64); + break; + default: + if (scrolling) { + scrolling = false; + pointing_device_set_cpi(1024); + } + } + return state; +} + +report_mouse_t pointing_device_task_user(report_mouse_t mouse_report) { + if (scrolling) { + mouse_report.h = mouse_report.x; + mouse_report.v = -mouse_report.y; + mouse_report.x = 0; + mouse_report.y = 0; + } + return mouse_report; +} +#endif diff --git a/keymaps/kyria/readme.md b/keymaps/kyria/readme.md index 517429a..06b8f31 100644 --- a/keymaps/kyria/readme.md +++ b/keymaps/kyria/readme.md @@ -1,5 +1,5 @@ ### rp2040 kyria rev2 -![photo](https://i.imgur.com/P0urp7nh.jpeg) +![photo](https://i.imgur.com/P0urp7n.jpeg) #### parts & notes * microcontrollers: [boardsource blok](https://boardsource.xyz/store/628b95b494dfa308a6581622) diff --git a/keymaps/onekey/rp2040/chconf.h b/keymaps/onekey/rp2040/chconf.h index 5b38d53..8937db2 100644 --- a/keymaps/onekey/rp2040/chconf.h +++ b/keymaps/onekey/rp2040/chconf.h @@ -1,4 +1,4 @@ -// Copyright 2024 [email protected] +// Copyright 2025 [email protected] // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/keymaps/onekey/rp2040/keymap.c b/keymaps/onekey/rp2040/keymap.c index 07fb9fa..20372fd 100644 --- a/keymaps/onekey/rp2040/keymap.c +++ b/keymaps/onekey/rp2040/keymap.c @@ -1,4 +1,4 @@ -// Copyright 2024 [email protected] +// Copyright 2025 [email protected] // SPDX-License-Identifier: GPL-2.0-or-later #include QMK_KEYBOARD_H diff --git a/keymaps/onekey/rp2040/mcuconf.h b/keymaps/onekey/rp2040/mcuconf.h index abc250c..c35ba16 100644 --- a/keymaps/onekey/rp2040/mcuconf.h +++ b/keymaps/onekey/rp2040/mcuconf.h @@ -1,4 +1,4 @@ -// Copyright 2024 [email protected] +// Copyright 2025 [email protected] // SPDX-License-Identifier: GPL-2.0-or-later #pragma once #include_next <mcuconf.h> diff --git a/keymaps/onekey/stm32f411/config.h b/keymaps/onekey/stm32f411/config.h index 1b03659..668ebfb 100644 --- a/keymaps/onekey/stm32f411/config.h +++ b/keymaps/onekey/stm32f411/config.h @@ -1,4 +1,4 @@ -// Copyright 2024 [email protected] +// Copyright 2025 [email protected] // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/keymaps/onekey/stm32f411/keymap.c b/keymaps/onekey/stm32f411/keymap.c index 34b5279..36202c2 100644 --- a/keymaps/onekey/stm32f411/keymap.c +++ b/keymaps/onekey/stm32f411/keymap.c @@ -1,4 +1,4 @@ -// Copyright 2024 [email protected] +// Copyright 2025 [email protected] // SPDX-License-Identifier: GPL-2.0-or-later #include QMK_KEYBOARD_H diff --git a/keymaps/relic/keymap.c b/keymaps/relic/keymap.c index 7f22e6f..88decb2 100644 --- a/keymaps/relic/keymap.c +++ b/keymaps/relic/keymap.c @@ -1,4 +1,4 @@ -// Copyright 2024 [email protected] +// Copyright 2025 [email protected] // SPDX-License-Identifier: GPL-3.0-or-later #include "jack.h" @@ -14,7 +14,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ___LOWER1___, _______, ___LOWER2___, ___LOWER3___, - _______, TABLE1, _______, _______, _______, _______, _______, TABLE2, _______ + _______, _______, _______, _______, _______, _______, _______, _______, _______ ), [_RAISE] = LAYOUT_jack_all( ___RAISE1___, _______, diff --git a/keymaps/relic/readme.md b/keymaps/relic/readme.md index a8e6d47..efab677 100644 --- a/keymaps/relic/readme.md +++ b/keymaps/relic/readme.md @@ -1,3 +1,3 @@ ### relic -![front](https://i.imgur.com/FMkKVs0h.jpeg) -![back](https://i.imgur.com/s1HrBumh.jpeg) +![front](https://i.imgur.com/FMkKVs0.jpeg) +![back](https://i.imgur.com/s1HrBum.jpeg) diff --git a/keymaps/vault35/config.h b/keymaps/vault35/config.h index 392a9d4..7fefbd9 100644 --- a/keymaps/vault35/config.h +++ b/keymaps/vault35/config.h @@ -1,4 +1,4 @@ -// Copyright 2024 [email protected] +// Copyright 2025 [email protected] // SPDX-License-Identifier: GPL-3.0-or-later #pragma once diff --git a/keymaps/vault35/keymap.c b/keymaps/vault35/keymap.c index e78c59d..92d9b83 100644 --- a/keymaps/vault35/keymap.c +++ b/keymaps/vault35/keymap.c @@ -1,4 +1,4 @@ -// Copyright 2024 [email protected] +// Copyright 2025 [email protected] // SPDX-License-Identifier: GPL-3.0-or-later #include "jack.h" @@ -11,13 +11,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { UPDIR, KC_ESC, LWRSPC, _______, RSEBSP, C(S(KC_V)), PNP ), [_LOWER] = LAYOUT_jack_all( - ___LOWER1___, XXXXXXX, + ___LOWER1___, _______, ___LOWER2___, ___LOWER3___, _______, _______, _______, _______, _______, _______, _______ ), [_RAISE] = LAYOUT_jack_all( - ___RAISE1___, XXXXXXX, + ___RAISE1___, _______, ___RAISE2___, ___RAISE3___, _______, _______, _______, _______, _______, _______, _______ diff --git a/keymaps/vault35/readme.md b/keymaps/vault35/readme.md index 15d1db4..876e6fa 100644 --- a/keymaps/vault35/readme.md +++ b/keymaps/vault35/readme.md @@ -1,3 +1,3 @@ ### vault35 -![w/o keycaps](https://i.imgur.com/AHwhQdDh.jpeg) -![w/ keycaps](https://i.imgur.com/lXP50ITh.jpeg) +![w/o keycaps](https://i.imgur.com/AHwhQdD.jpeg) +![w/ keycaps](https://i.imgur.com/lXP50IT.jpeg) diff --git a/jack/raw.py b/util/raw.py index 994a92c..fe63d49 100644 --- a/jack/raw.py +++ b/util/raw.py @@ -1,4 +1,4 @@ -# Copyright 2024 [email protected] +# Copyright 2025 [email protected] # SPDX-License-Identifier: GPL-2.0-or-later import hid import sys |