Transition to PlatformIO

This commit is contained in:
2026-01-05 11:53:35 +01:00
parent a31a73607b
commit 59f85a375d
666 changed files with 485454 additions and 7608 deletions
+5812
View File
File diff suppressed because it is too large Load Diff
+5933
View File
File diff suppressed because it is too large Load Diff
+14018
View File
File diff suppressed because it is too large Load Diff
+15374
View File
File diff suppressed because it is too large Load Diff
+1028
View File
File diff suppressed because it is too large Load Diff
+4311
View File
File diff suppressed because it is too large Load Diff
+28
View File
@@ -0,0 +1,28 @@
#ifndef NTP_H
#define NTP_H
#include <Arduino.h>
#include <WiFi.h>
#include <WiFiClient.h>
#include <WiFiUdp.h>
#include "ESP32Time.h"
#include "TimeLib.h"
#include "TEF6686.h"
static const char ntpServerName[] = "0.pool.ntp.org";
static const int localPort = 8944;
const int NTP_PACKET_SIZE = 48; // NTP time is in the first 48 bytes of message
extern ESP32Time rtc;
extern WiFiClient RemoteClient;
extern WiFiUDP Udp;
extern TEF6686 radio;
extern bool wifi;
extern bool NTPupdated;
extern bool rtcset;
void sendNTPpacket(IPAddress &address);
void NTPupdate();
time_t getNtpTime();
#endif
+33
View File
@@ -0,0 +1,33 @@
#ifndef RDS_PI_BUFFER_H
#define RDS_PI_BUFFER_H
#include <stdint.h>
class RdsPiBuffer
{
public:
enum State : uint8_t
{
STATE_CORRECT = 0,
STATE_VERY_LIKELY = 1,
STATE_LIKELY = 2,
STATE_UNLIKELY = 3,
STATE_INVALID = 4
};
RdsPiBuffer();
State add(uint16_t value, bool error);
void clear();
private:
/* BUFF_SIZE must be a multiple of 8 */
static constexpr uint8_t BUFF_SIZE = 64;
uint16_t buff[BUFF_SIZE];
uint8_t errorBuff[BUFF_SIZE/8];
uint8_t fill;
uint8_t pos;
State getState(uint16_t value);
};
#endif
+661
View File
@@ -0,0 +1,661 @@
#ifndef TEF6686_H
#define TEF6686_H
#include "Arduino.h"
#include "Tuner_Drv_Lithio.h"
#include "Tuner_Interface.h"
#include "RdsPiBuffer.hpp"
extern const unsigned char tuner_init_tab[] PROGMEM;
extern const unsigned char tuner_init_tab9216[] PROGMEM;
extern const unsigned char tuner_init_tab4000[] PROGMEM;
extern const unsigned char tuner_init_tab12000[] PROGMEM;
extern const unsigned char tuner_init_tab55000[] PROGMEM;
enum RDS_GROUPS {
RDS_GROUP_0A, RDS_GROUP_0B, RDS_GROUP_1A, RDS_GROUP_1B, RDS_GROUP_2A, RDS_GROUP_2B, RDS_GROUP_3A, RDS_GROUP_3B,
RDS_GROUP_4A, RDS_GROUP_4B, RDS_GROUP_5A, RDS_GROUP_5B, RDS_GROUP_6A, RDS_GROUP_6B, RDS_GROUP_7A, RDS_GROUP_7B,
RDS_GROUP_8A, RDS_GROUP_8B, RDS_GROUP_9A, RDS_GROUP_9B, RDS_GROUP_10A, RDS_GROUP_10B, RDS_GROUP_11A, RDS_GROUP_11B,
RDS_GROUP_12A, RDS_GROUP_12B, RDS_GROUP_13A, RDS_GROUP_13B, RDS_GROUP_14A, RDS_GROUP_14B, RDS_GROUP_15A, RDS_GROUP_15B
};
// Fixed PI/callsign combinations for Canada
static const uint16_t fixedPI[] = {0x4C10, 0x4C11, 0x4C12};
static const char* fixedCalls[] = {"CBLA", "CBFM", "CBOT"};
static const char* const PTY_EU[] {
"None",
"News",
"Current Affairs",
"Information",
"Sport",
"Education",
"Drama",
"Culture",
"Science",
"Varied",
"Pop Music",
"Rock Music",
"Easy Listening",
"Light Classical",
"Serious Classical",
"Other Music",
"Weather",
"Finance",
"Children's Progs",
"Social Affairs",
"Religion",
"Phone-In",
"Travel",
"Leisure",
"Jazz Music",
"Country Music",
"National Music",
"Oldies Music",
"Folk Music",
"Documentary",
"Alarm Test",
"Alarm!!!",
" "
};
static const char* const PTY_USA[] {
"None",
"News",
"Information",
"Sports",
"Talk",
"Rock",
"Classic Rock",
"Adult Hits",
"Soft Rock",
"Top 40",
"Country",
"Oldies",
"Soft Music",
"Nostalgia",
"Jazz",
"Classical",
"Rhythm and Blues",
"Soft R & B",
"Language",
"Religious Music",
"Religious Talk",
"Personality",
"Public",
"College",
"Spanish Talk",
"Spanish Music",
"Hip Hop",
" ",
" ",
"Weather",
"Emergency Test",
"EMERGENCY!",
" "
};
static const uint16_t oda_app_ids[] {
0x0000, 0x0093, 0x0BCB, 0x0C24, 0x0CC1, 0x0D45, 0x0D8B, 0x0E2C, 0x0E31, 0x0F87,
0x125F, 0x1BDA, 0x1C5E, 0x1C68, 0x1CB1, 0x1D47, 0x1DC2, 0x1DC5, 0x1E8F, 0x4400,
0x4AA1, 0x4AB7, 0x4BA2, 0x4BD7, 0x4BD8, 0x4C59, 0x4D87, 0x4D95, 0x4D9A, 0x50DD,
0x5757, 0x6363, 0x6365, 0x6552, 0x6A7A, 0x7373, 0xA112, 0xA911, 0xABCE, 0xABCF,
0xBE22, 0xC350, 0xC3A1, 0xC3B0, 0xC3C3, 0xC4D4, 0xC549, 0xC563, 0xC6A7, 0xC737,
0xCB73, 0xCB97, 0xCC21, 0xCD19, 0xCD46, 0xCD47, 0xCD9E, 0xCE6B, 0xE123, 0xE1C1,
0xE319, 0xE411, 0xE440, 0xE4A6, 0xE5D7, 0xE911, 0xFF70, 0xFF7F, 0xFF80, 0xFF81
};
static const char* const ECCtext[] {
"Germany", // 0
"Greece", // 1
"Morocco", // 2
"Moldova", // 3
"Algeria", // 4
"Cyprus", // 5
"Czech R.", // 6
"Ireland", // 7
"Estonia", // 8
"Andorra", // 9
"San Marino", // 10
"Poland", // 11
"Turkey", // 12
"Israel", // 13
"Switzerl.", // 14
"Vatican", // 15
"Macedonia", // 16
"Italy", // 17
"Jordan", // 18
"Slovakia", // 19
"Belgium", // 20
"Finland", // 21
"Syria", // 22
"Serbia", // 23
"Ukraine", // 24
"Russia", // 25
"Luxemb.", // 26
"Tunisia", // 27
"Palestine", // 28
"Bulgaria", // 29
"Madeira", // 30
"Netherl.", // 31
"Portugal", // 32
"Albania", // 33
"Denmark", // 34
"Liechtst.", // 35
"Latvia", // 36
"Slovenia", // 37
"Austria", // 38
"Gibraltar", // 39
"Iceland", // 40
"Lebanon", // 41
"Hungary", // 42
"Iraq", // 43
"Monaco", // 44
"Malta", // 45
"U.K.", // 46
"Lithuania", // 47
"Croatia", // 48
"Libya", // 49
"Canaries", // 50
"Romania", // 51
"Spain", // 52
"Sweden", // 53
"Egypt", // 54
"France", // 55
"Norway", // 56
"Belarus", // 57
"Bosnia H.", // 58
"Monteneg.", // 59
"Armenia", // 60
"Azerbaijan", // 61
"Kosovo", // 62
"Kyrgystan", // 63
"Turkmenis.", // 64
"Tajikistan", // 65
"Uzbekistan", // 66
"Malawi", // 67
"Mali", // 68
"Mauritania", // 69
"Mauritius", // 70
"Mongolia", // 71
"Mozambiq.", // 72
"Namibia", // 73
"Niger", // 74
"Nigeria", // 75
"Oman", // 76
"Qatar", // 77
"Rwanda", // 78
"Sao Tome", // 79
"Saudi Ara.", // 80
"Senegal", // 81
"Seychel.", // 82
"S. Leone", // 83
"Somalia", // 84
"S. Africa", // 85
"S. Sudan", // 86
"Sudan", // 87
"Swaziland", // 88
"Tanzania", // 89
"Togo", // 90
"Uganda", // 91
"W. Sahara", // 92
"Yemen", // 93
"Zambia", // 94
"Zimbabwe", // 95
"Angola", // 96
"Ascn. Isl.", // 97
"Bahrein", // 98
"Benin", // 99
"Botswana", // 100
"Burkina F.", // 101
"Burundi", // 102
"Cabinda", // 103
"Cameroon", // 104
"Cape Ver.", // 105
"Centr. Af.", // 106
"Chad", // 107
"Comoros", // 108
"D. Congo", // 109
"Congo", // 110
"Cote d'l.", // 111
"Djibouti", // 112
"E. Guinea", // 113
"Eritrea", // 114
"Ethiopia", // 115
"Gabon", // 116
"Gambia", // 117
"Georgia", // 118
"Ghana", // 119
"Guinea", // 120
"Guinea-B.", // 121
"Kazakh.", // 122
"Kenya", // 123
"Kuwait", // 124
"Lesotho", // 125
"Liberia", // 126
"Madagas.", // 127
"U.Arab.E.", // 128
"Anguilla", // 129
"Antigua.", // 130
"Argentina", // 131
"Aruba", // 132
"Barbados", // 133
"Belize", // 134
"Bermuda", // 135
"Bolivia", // 136
"Brazil", // 137
"Canada", // 138
"Cayman I.", // 139
"Chile", // 140
"Colombia", // 141
"Costa R.", // 142
"Cuba", // 143
"Dominica", // 144
"Domini. R", // 145
"El Salvad.", // 146
"Equador", // 147
"Falkland", // 148
"Greenland", // 149
"Grenada", // 150
"Guadeloupe", // 151
"Guatemala", // 152
"Guyana", // 153
"Haiti", // 154
"Honduras", // 155
"Jamaica", // 156
"Martinique", // 157
"Mexico", // 158
"Montserrat", // 159
"Nether. A.", // 160
"Nicaragua", // 161
"Panama", // 162
"Paraguay", // 163
"Peru", // 164
"Puerto R.", // 165
"St. Kitts", // 166
"St. Lucia", // 167
"St. P.& M.", // 168
"St.Vincent", // 169
"Suriname", // 170
"T & T", // 171
"Turks & C.", // 172
"U.S.A.", // 173
"Uruguay", // 174
"Venezuela", // 175
"Virgin UK", // 176
"Virgin USA", // 177
"Afganist.", // 178
"Aus. ACT", // 179
"Aus. NSW", // 180
"Aus. VIC", // 181
"Aus. QLD", // 182
"Aus. SA", // 183
"Aus. WA", // 184
"Aus. TAS", // 185
"Aus. NT", // 186
"Bhutan", // 187
"Brunei D.", // 188
"Cambodia", // 189
"China", // 190
"Fiji", // 191
"Hong Kong", // 192
"India", // 193
"Indonesia", // 194
"Iran", // 195
"Japan", // 196
"Kiribati", // 197
"N. Korea", // 198
"S. Korea", // 199
"Laos", // 200
"Macao", // 201
"Malaysia", // 202
"Maldives", // 203
"Marshall I", // 204
"Micronesia", // 205
"Myanmar", // 206
"Nauru", // 207
"Nepal", // 208
"N.Zealand", // 209
"Pakistan", // 210
"Papua N.G", // 211
"Philippin.", // 212
"Samoa", // 213
"Singapore", // 214
"Solomon I.", // 215
"Sri Lanka", // 216
"Taiwan", // 217
"Thailand", // 218
"Tonga", // 219
"Vanuatu", // 220
"Vietnam", // 221
"Bahamas", // 222
"BM or BR", // 223
"EC or BR", // 224
"AN or BR", // 225
"USA/VI/ PR", // 226
"Bangladesh" // 227
};
static const char* const oda_app_names[] {
"None",
"Cross referencing DAB within RDS",
"Leisure & Practical Info for Drivers",
"ELECTRABEL-DSM 7",
"WiPla Broadcast Control Signal",
"RDS-TMC: ALERT-C / EN ISO 14819-1 (for testing use, only)",
"ELECTRABEL-DSM 18",
"ELECTRABEL-DSM 3",
"ELECTRABEL-DSM 13",
"ELECTRABEL-DSM 2",
"I-FM-RDS for Fixed and Mobile devices",
"ELECTRABEL-DSM 1",
"ELECTRABEL-DSM 20",
"ITIS In-vehicle database",
"ELECTRABEL-DSM 10",
"ELECTRABEL-DSM 4",
"CITIBUS 4",
"Encrypted TTI using ALERT-Plus only (for testing use, only)",
"ELECTRABEL-DSM 17",
"RDS-Light",
"RASANT",
"ELECTRABEL-DSM 9",
"ELECTRABEL-DSM 5",
"RadioText Plus / RT+ for group 2A RT",
"RadioText Plus / RT+ for eRT",
"CITIBUS 2",
"Radio Commerce System (RCS)",
"ELECTRABEL-DSM 16",
"ELECTRABEL-DSM 11",
"To warn people in case of disasters or emergency",
"Personal weather station",
"Hybradio RDS-Net (for testing use, only)",
"RDS2 9 bit AF lists ODA",
"Enhanced RadioText / eRT",
"Warning receiver",
"Enhanced early warning system",
"NL _ Alert system",
"Data FM Selective Multipoint Messaging",
"Fleximax",
"RF Power Monitoring",
"Push-Ad",
"NRSC Song title and artist",
"Personal Radio Service",
"iTunes tagging",
"Traffic Plus",
"eEAS",
"Smart Grid Broadcast Channel",
"ID Logic",
"Veil Enabled Interactive Device",
"UMC - Utility Message Channel",
"CITIBUS 1",
"ELECTRABEL-DSM 14",
"CITIBUS 3",
"TokenMe",
"RDS-TMC: ALERT-C",
"RDS-TMC: ALERT-C",
"ELECTRABEL-DSM 8",
"Encrypted TTI using ALERT-Plus only (for service use, only)",
"APS Gateway",
"Action code",
"ELECTRABEL-DSM 12",
"Beacon downlink",
"ELECTRABEL-DSM 15",
"ELECTRABEL-DSM 19",
"ELECTRABEL-DSM 6",
"EAS open protocol",
"Internet connection",
"RFT: Station logo",
"RFT: Slideshow",
"RFT: Journaline (work title)"
};
struct DABFrequencyLabel {
uint32_t frequency;
const char* label;
};
const DABFrequencyLabel DABfrequencyTable[] = {
{ 174928, "5A"}, { 176640, "5B"}, { 178352, "5C"}, { 180064, "5D"},
{ 181936, "6A"}, { 183648, "6B"}, { 185360, "6C"}, { 187072, "6D"},
{ 188928, "7A"}, { 190640, "7B"}, { 192352, "7C"}, { 194064, "7D"},
{ 195936, "8A"}, { 197648, "8B"}, { 199360, "8C"}, { 201072, "8D"},
{ 202928, "9A"}, { 204640, "9B"}, { 206352, "9C"}, { 208064, "9D"},
{ 209936, "10A"}, { 211648, "10B"}, { 213360, "10C"}, { 215072, "10D"},
{ 216928, "11A"}, { 218640, "11B"}, { 220352, "11C"}, { 222064, "11D"},
{ 223936, "12A"}, { 225648, "12B"}, { 227360, "12C"}, { 229072, "12D"},
{ 230784, "13A"}, { 232496, "13B"}, { 234208, "13C"}, { 235776, "13D"},
{ 237488, "13E"}, { 239200, "13F"}, {1452960, "LA"}, {1454672, "LB"},
{1456384, "LC"}, {1458096, "LD"}, {1459808, "LE"}, {1461520, "LF"},
{1463232, "LG"}, {1464944, "LH"}, {1466656, "LI"}, {1468368, "LJ"},
{1470080, "LK"}, {1471792, "LL"}, {1473504, "LM"}, {1475216, "LN"},
{1476928, "LO"}, {1478640, "LP"}, {1480352, "LQ"}, {1482064, "LR"},
{1483776, "LS"}, {1485488, "LT"}, {1487200, "LU"}, {1488912, "LV"},
{1490624, "LW"}
};
#pragma GCC diagnostic pop
typedef struct _rds_ {
byte region;
byte stationTypeCode;
String stationName;
String stationText;
String stationText32;
String RTContent1;
String RTContent2;
String PTYN;
String ECCtext;
String stationIDtext;
String stationNameLong;
String stationStatetext;
String enhancedRTtext;
char stationType[18];
char picode[7];
char stationID[9];
char stationLongID[33];
char stationState[3];
char dabafeid[5];
char dabafchannel[4];
unsigned long blockcounter[33];
uint16_t rdsA, rdsB, rdsC, rdsD, rdsErr, rdsStat, correctPI, rdsplusTag1, rdsplusTag2, PICTlock = 0;
bool ps12error, ps34error, ps56error, ps78error;
time_t time;
int32_t offset;
uint16_t aid[10];
uint32_t dabaffreq;
byte aid_counter;
byte fastps;
unsigned int ECC;
bool rdsAerror;
bool rdsBerror;
bool rdsCerror;
bool rdsDerror;
bool hasArtificialhead;
bool hasCompressed;
bool hasDynamicPTY;
bool hasStereo;
bool hasRDS;
bool hasECC;
bool hasDABAF;
bool hasLongPS;
bool hasRT;
bool hasEnhancedRT;
bool hasTP;
bool hasTA;
bool hasEON;
bool hasAID;
bool hasTMC;
bool hasAF;
bool hasCT;
bool hasPTYN;
bool rtAB;
bool rtAB32;
bool hasRDSplus;
bool filter;
bool rdsreset;
bool pierrors;
bool ctupdate = true;
bool sortaf;
bool rtbuffer = true;
bool afreg;
RdsPiBuffer piBuffer;
} rds_;
typedef struct _af_ {
uint16_t frequency;
int16_t score;
bool afvalid;
bool checked;
bool regional;
bool same;
} af_;
typedef struct _eon_ {
uint16_t mappedfreq;
uint16_t mappedfreq2;
uint16_t mappedfreq3;
uint16_t pi;
char picode[6];
String ps;
bool ta;
bool tp;
bool taset;
uint8_t pty;
bool ptyset;
} eon_;
typedef struct _logbook_ {
char picode[6];
uint16_t frequency;
int16_t SignalLevel;
String stationName;
String DateTime;
} logbook_;
class TEF6686 {
public:
af_ af[51];
eon_ eon[21];
rds_ rds;
logbook_ logbook[22];
uint16_t TestAF();
void TestAFEON();
void readRDS(byte showrdserrors);
void SetFreq(uint16_t frequency);
void SetFreqAM(uint16_t frequency);
void SetFreqAIR(uint16_t frequency);
void getProcessing(uint16_t &highcut, uint16_t &stereo, uint16_t &sthiblend, uint8_t &stband_1, uint8_t &stband_2, uint8_t &stband_3, uint8_t &stband_4);
void getStatus(int16_t &level, uint16_t &USN, uint16_t &WAM, int16_t &offset, uint16_t &bandwidth, uint16_t &modulation, int8_t &snr);
void getStatusAM(int16_t &level, uint16_t &noise, uint16_t &cochannel, int16_t &offset, uint16_t &bandwidth, uint16_t &modulation, int8_t &snr);
void getIdentification(uint16_t &device, uint16_t &hw_version, uint16_t &sw_version);
void I2Sin(bool mode);
void setSoftmuteFM(uint8_t mode);
void setSoftmuteAM(uint8_t mode);
void setMono(bool mono);
bool getStereoStatus();
void init(byte TEF);
void clearRDS(bool fullsearchrds);
void power(bool mode);
void setAGC(uint8_t agc);
void setAMAGC(uint8_t agc);
void setiMS(bool mph);
void setEQ(bool eq);
void setDeemphasis(uint8_t timeconstant);
void setAudio(uint8_t audio);
void setFMABandw();
void setFMBandw(uint16_t bandwidth);
void setAMBandw(uint16_t bandwidth);
void setHighCutLevel(uint16_t limit);
void setHighCutOffset(uint8_t start);
void setStHiBlendLevel(uint16_t limit);
void setStHiBlendOffset(uint8_t start);
void setFMNoiseBlanker(uint16_t start);
void setAMCoChannel(uint16_t start, uint8_t level = 3);
void setAMNoiseBlanker(uint16_t start);
void setAMAttenuation(uint16_t start);
void setMute();
void setOffset(int8_t offset);
void setAMOffset(int8_t offset);
void setFMSI(uint8_t mode);
void setFMSI_Time(uint16_t attack, uint16_t decay);
void setFMSI_Gain(uint16_t band1, uint16_t band2, uint16_t band3, uint16_t band4);
void setFMSI_Bias(int16_t band1, int16_t band2, int16_t band3, int16_t band4);
void setStereoLevel(uint8_t start);
void setUnMute();
void setVolume(int8_t volume);
void tone(uint16_t time, int16_t amplitude, uint16_t frequency);
void extendBW(bool yesno);
uint16_t getBlockA(void);
String trimTrailingSpaces(String str);
uint8_t af_counter;
uint8_t eon_counter;
uint8_t logbook_counter;
uint8_t rdsblock;
unsigned long processed_rdsblocks;
bool mute;
bool afmethodB;
byte underscore;
bool ps_process;
byte af_updatecounter;
private:
void RDScharConverter(const char* input, wchar_t* output, size_t size, bool under);
String convertToUTF8(const wchar_t* input);
String extractUTF8Substring(const String& utf8String, size_t start, size_t length, bool under);
String ucs2ToUtf8(const char* ucs2Input);
bool isFixedCallsign(uint16_t stationID, char* stationIDStr);
String PSLongtext;
char ps_buffer[9];
char ps_buffer2[9];
char ptyn_buffer[9];
char eon_buffer[20][9];
bool pslong_process;
char eRT_buffer[129];
bool rt_process;
char rt_buffer[65];
char rt_buffer2[65];
char rt_buffer32[33];
char pslong_buffer[33];
char pslong_buffer2[33];
bool useRTPlus = true;
bool ABold;
bool afreset;
bool mpxmode;
bool _hasEnhancedRT;
char stationTextBuffer[65];
uint16_t piold;
bool rtABold;
bool rtAB32old;
wchar_t PStext[9] = L"";
wchar_t EONPStext[20][9];
wchar_t PTYNtext[9] = L"";
char RDSplus1[45];
char RDSplus2[45];
uint16_t currentfreq;
uint16_t currentfreq2;
bool togglebit;
bool runningbit;
bool initrt;
bool initab;
bool afinit;
bool errorfreepi;
bool rdsAerrorThreshold, rdsBerrorThreshold, rdsCerrorThreshold, rdsDerrorThreshold;
bool packet0, packet1, packet2, packet3, packet0long, packet1long, packet2long, packet3long;
uint16_t previous_rdsA, previous_rdsB, previous_rdsC, previous_rdsD;
bool afmethodBprobe;
bool eRTcoding;
uint16_t rdsCold;
uint8_t af_counterb;
uint8_t af_number;
uint8_t af_counterbcheck;
bool afmethodBtrigger;
uint16_t correctPIold;
uint8_t rtplusblock;
uint8_t DABAFblock;
uint8_t eRTblock;
uint8_t doublecounter;
uint16_t doubletestfreq;
time_t lastrdstime;
int32_t lasttimeoffset;
};
#endif
+117
View File
@@ -0,0 +1,117 @@
#ifndef TUNER_DRV_LITHIO_H
#define TUNER_DRV_LITHIO_H
typedef enum {
TEF_FM = 32,
TEF_AM = 33,
TEF_AUDIO = 48,
TEF_APPL = 64
} TEF_MODULE;
typedef enum {
Cmd_Tune_To = 1,
Cmd_Set_Bandwidth = 10,
Cmd_Set_RFAGC = 11,
Cmd_Set_Antenna = 12,
Cmd_Set_CoChannelDet = 14,
Cmd_Set_MphSuppression = 20,
Cmd_Set_ChannelEqualizer = 22,
Cmd_Set_NoiseBlanker = 23,
Cmd_Set_NoiseBlanker_Audio = 24,
Cmd_Set_Deemphasis = 31,
Cmd_Set_StereoImprovement = 32,
Cmd_Set_LevelOffset = 39,
Cmd_Set_Softmute_Max = 45,
Cmd_Set_Highcut_Level = 52,
Cmd_Set_Highcut_Noise = 53,
Cmd_Set_Highcut_Mph = 54,
Cmd_Set_Highcut_Max = 55,
Cmd_Set_Stereo_Level = 62,
Cmd_Set_Stereo_Noise = 63,
Cmd_Set_Stereo_Mph = 64,
Cmd_Set_Stereo_Min = 66,
Cmd_Set_StHiBlend_Level = 72,
Cmd_Set_StHiBlend_Noise = 73,
Cmd_Set_StHiBlend_Mph = 74,
Cmd_Set_StHiBlend_Max = 75,
Cmd_Set_RDS = 81,
Cmd_Set_Specials = 85,
Cmd_Set_Bandwidth_Options = 86,
Cmd_Set_StBandBlend_Time = 90,
Cmd_Set_StBandBlend_Gain = 91,
Cmd_Set_StBandBlend_Bias = 92,
Cmd_Get_Quality_Status = 128,
Cmd_Get_Quality_Data = 129,
Cmd_Get_RDS_Status = 130,
Cmd_Get_RDS_Data = 131,
Cmd_Get_Signal_Status = 133,
Cmd_Get_Processing_Status = 134
} TEF_RADIO_COMMAND;
typedef enum {
Cmd_Set_Volume = 10,
Cmd_Set_Mute = 11,
Cmd_Set_Input = 12,
Cmd_Set_WaveGen = 24
} TEF_AUDIO_COMMAND;
typedef enum {
Cmd_Set_OperationMode = 1,
Cmd_Set_GPIO = 3,
Cmd_Get_Operation_Status = 128,
Cmd_Get_Identification = 130
} TEF_APPL_COMMAND;
void devTEF_Radio_Set_RDS(bool fullsearchrds);
void devTEF_Radio_Set_Softmute_Max_FM(uint8_t mode);
void devTEF_Radio_Set_Softmute_Max_AM(uint8_t mode);
void devTEF_Set_Cmd(TEF_MODULE module, uint8_t cmd, uint16_t len, ...);
void devTEF_Radio_Tune_To (uint16_t frequency );
void devTEF_Radio_Tune_AM (uint16_t frequency );
void devTEF_Audio_Set_Mute(uint8_t mode);
void devTEF_Audio_Set_Volume(int16_t volume);
void devTEF_APPL_Set_OperationMode(bool mode);
void devTEF_Radio_Set_Bandwidth(uint8_t mode, uint16_t bandwidth);
void devTEF_Radio_Set_BandwidthAM(uint8_t mode, uint16_t bandwidth);
void devTEF_Radio_Set_Noiseblanker_AM(uint8_t mode, uint16_t start);
void devTEF_Radio_Set_Attenuator_AM(uint16_t start);
void devTEF_Radio_Set_CoChannel_AM(uint8_t mode, uint16_t start, uint8_t level);
void devTEF_Radio_Set_LevelOffset(int16_t offset);
void devTEF_Radio_Set_AMLevelOffset(int16_t offset);
void devTEF_Radio_Set_Stereo_Level(uint8_t mode, uint16_t start, uint16_t slope);
void devTEF_Radio_Set_Stereo_Noise(uint8_t mode, uint16_t start, uint16_t slope);
void devTEF_Radio_Set_Stereo_Mph(uint8_t mode, uint16_t start, uint16_t slope);
void devTEF_Radio_Set_Stereo_Min(bool mode);
void devTEF_Radio_Set_MphSuppression(bool mph);
void devTEF_Radio_Set_ChannelEqualizer(bool eq);
void devTEF_Radio_Set_RFAGC(uint16_t agc);
void devTEF_Radio_Set_AMRFAGC(uint16_t agc);
void devTEF_Radio_Set_Deemphasis(uint16_t timeconstant);
void devTEF_Radio_Specials(uint16_t audio);
void devTEF_APPL_Set_StereoImprovement(bool mode);
void devTEF_APPL_Set_StereoBandBlend_Time(uint16_t attack, uint16_t decay);
void devTEF_APPL_Set_StereoBandBlend_Gain(uint16_t band1, uint16_t band2, uint16_t band3, uint16_t band4);
void devTEF_APPL_Set_StereoBandBlend_Bias(int16_t band1, int16_t band2, int16_t band3, int16_t band4);
void devTEF_Radio_Set_Highcut_Max(uint8_t mode, uint16_t limit);
void devTEF_Radio_Set_Highcut_Level(uint8_t mode, uint16_t start, uint16_t slope);
void devTEF_Radio_Set_Highcut_Noise(uint8_t mode, uint16_t start, uint16_t slope);
void devTEF_Radio_Set_Highcut_Mph(uint8_t mode, uint16_t start, uint16_t slope);
void devTEF_Radio_Set_StHiBlend_Max(uint8_t mode, uint16_t limit);
void devTEF_Radio_Set_StHiBlend_Level(uint8_t mode, uint16_t start, uint16_t slope);
void devTEF_Radio_Set_StHiBlend_Noise(uint8_t mode, uint16_t start, uint16_t slope);
void devTEF_Radio_Set_StHiBlend_Mph(uint8_t mode, uint16_t start, uint16_t slope);
void devTEF_Radio_Set_NoisBlanker(uint8_t mode, uint16_t start);
void devTEF_Radio_Set_Wavegen(bool mode, int16_t amplitude, uint16_t freq);
void devTEF_Radio_Set_I2S_Input(bool mode);
void devTEF_Radio_Set_GPIO(uint8_t mode);
void devTEF_Radio_Extend_BW(bool yesno);
bool devTEF_Radio_Get_Identification (uint16_t *device, uint16_t *hw_version, uint16_t *sw_version);
bool devTEF_Radio_Get_Quality_Status (uint16_t *status, int16_t *level, uint16_t *usn, uint16_t *wam, int16_t *offset, uint16_t *bandwidth, uint16_t *mod, int8_t *snr);
bool devTEF_Radio_Get_Processing_Status (uint16_t *highcut, uint16_t *stereo, uint16_t *sthiblend, uint8_t *stband_1, uint8_t *stband_2, uint8_t *stband_3, uint8_t *stband_4);
bool devTEF_Radio_Get_Quality_Status_AM (int16_t *level, uint16_t *noise, uint16_t *cochannel, int16_t *offset, uint16_t *bandwidth, uint16_t *mod, int8_t *snr);
bool devTEF_APPL_Get_Operation_Status(uint8_t *bootstatus);
bool devTEF_Radio_Get_Stereo_Status(uint16_t *status);
bool devTEF_Radio_Get_RDS_Status(uint16_t *status, uint16_t *A_block, uint16_t *B_block, uint16_t *C_block, uint16_t *D_block, uint16_t *dec_error);
bool devTEF_Radio_Get_RDS_Data(uint16_t *status, uint16_t *A_block, uint16_t *B_block, uint16_t *C_block, uint16_t *D_block, uint16_t *dec_error);
#endif
+11
View File
@@ -0,0 +1,11 @@
#ifndef TUNER_INTERFACE_H
#define TUNER_INTERFACE_H
void Tuner_I2C_Init();
void Tuner_Patch(byte TEF);
void Tuner_Init(const unsigned char *table);
bool Tuner_WriteBuffer(unsigned char *buf, uint16_t len);
bool Tuner_ReadBuffer(unsigned char *buf, uint16_t len);
bool Tuner_Table_Write(const unsigned char *tab);
void Tuner_Reset(void);
#endif
+285
View File
@@ -0,0 +1,285 @@
extern const size_t PatchSize102;
extern const unsigned char *pPatchBytes102;
static const unsigned char PatchByteValues102[] PROGMEM = {
0xF0, 0x00, 0x38, 0x3B, 0xD0, 0x80, 0xF0, 0x00, 0x38, 0x43, 0xD0, 0x80, 0x43, 0xB2, 0x38, 0x46, 0xD0, 0x80, 0xF0, 0x00, 0x70, 0x00, 0xC2, 0xF7,
0xF0, 0x00, 0x38, 0x77, 0xD0, 0x80, 0xF0, 0x00, 0x38, 0x7B, 0xDF, 0x80, 0x80, 0xFC, 0x39, 0x0E, 0xD0, 0x80, 0xC2, 0x38, 0x20, 0x11, 0x40, 0xB7,
0x9F, 0xA7, 0x39, 0x13, 0xD2, 0x80, 0x9F, 0xA7, 0x39, 0x1D, 0xD2, 0x80, 0xF0, 0x00, 0x39, 0x24, 0xD0, 0x80, 0xF0, 0x00, 0x39, 0x27, 0xD0, 0x80,
0x90, 0x41, 0x39, 0x49, 0xDD, 0x80, 0xF0, 0x00, 0x3A, 0x25, 0xD0, 0x80, 0xF0, 0x00, 0x39, 0x4D, 0xD0, 0x80, 0xF0, 0x00, 0x3A, 0x27, 0xD0, 0x80,
0xC4, 0xA2, 0x02, 0x18, 0x60, 0x04, 0xF0, 0x00, 0x39, 0xBF, 0xD0, 0x80, 0xF0, 0x00, 0x39, 0xE7, 0xD0, 0x80, 0x90, 0x01, 0x39, 0x4F, 0xD0, 0x80,
0xF0, 0x00, 0x38, 0xF0, 0xD0, 0x80, 0xF0, 0x00, 0x39, 0x56, 0xD2, 0x80, 0xF0, 0x00, 0x39, 0x5A, 0xD0, 0x80, 0x43, 0x84, 0x39, 0x64, 0xD0, 0x80,
0xF0, 0x00, 0x39, 0x67, 0xD0, 0x80, 0xF0, 0x00, 0x39, 0x6B, 0xD0, 0x80, 0x78, 0x4D, 0x39, 0x71, 0xD0, 0x80, 0x9E, 0x30, 0x18, 0xF9, 0xD2, 0x80,
0xF0, 0x00, 0x39, 0x76, 0xD0, 0x80, 0xF0, 0x00, 0x39, 0x79, 0xD0, 0x80, 0x30, 0x77, 0x39, 0xDE, 0xD0, 0x80, 0xF0, 0x00, 0x39, 0x7C, 0xD0, 0x80,
0x32, 0x00, 0x39, 0x7E, 0xD0, 0x80, 0xF0, 0x00, 0x39, 0x80, 0xD0, 0x80, 0xF0, 0x00, 0x39, 0xC7, 0xD0, 0x80, 0xF0, 0x00, 0x39, 0xF5, 0xD0, 0x80,
0xA8, 0x01, 0x3A, 0x13, 0xD0, 0x80, 0xF0, 0x00, 0x3A, 0x32, 0xD0, 0x80, 0xF0, 0x00, 0x3A, 0x39, 0xD0, 0x80, 0xF0, 0x00, 0x3A, 0x3B, 0xD0, 0x80,
0xF0, 0x00, 0x3A, 0x4F, 0xD0, 0x80, 0xF0, 0x00, 0x3A, 0x52, 0xD0, 0x80, 0xF0, 0x00, 0x3A, 0x55, 0xD0, 0x80, 0xF0, 0x00, 0x70, 0x00, 0xF0, 0x00,
0xF0, 0x00, 0x3A, 0x58, 0xD0, 0x80, 0xF0, 0x00, 0x70, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x3A, 0x5D, 0xD0, 0x80, 0xF0, 0x00, 0x3A, 0x1E, 0xD2, 0x80,
0xF0, 0x00, 0x3A, 0x6B, 0xD0, 0x80, 0x00, 0x43, 0x3A, 0x7A, 0xD9, 0x80, 0xF0, 0x00, 0x3A, 0x84, 0xD0, 0x80, 0xF0, 0x00, 0x3A, 0xDA, 0xD0, 0x80,
0xF0, 0x00, 0x3A, 0xDD, 0xD0, 0x80, 0xF0, 0x00, 0x3A, 0xEE, 0xD0, 0x80, 0x2E, 0x40, 0x3B, 0x8C, 0xD0, 0x80, 0xF0, 0x00, 0x3B, 0x96, 0xD0, 0x80,
0xF0, 0x00, 0x0E, 0x3F, 0x60, 0x00, 0x50, 0x10, 0x28, 0xD8, 0xD2, 0x80, 0x91, 0x01, 0x01, 0x36, 0x60, 0x00, 0xF0, 0x00, 0x70, 0x00, 0xA0, 0x18,
0xF0, 0x00, 0x70, 0x00, 0xA0, 0xCC, 0xF0, 0x00, 0x70, 0x00, 0xA0, 0xED, 0xF0, 0x00, 0x70, 0x00, 0xA1, 0xAE, 0xF0, 0x00, 0x70, 0x00, 0xA2, 0x02,
0xF0, 0x00, 0x70, 0x00, 0xA2, 0x2D, 0xF0, 0x00, 0x70, 0x00, 0xA2, 0x45, 0xF0, 0x00, 0x20, 0x31, 0xD0, 0x80, 0xF0, 0x00, 0x04, 0xC1, 0x60, 0x08,
0xF0, 0x00, 0x01, 0x01, 0xD2, 0x80, 0xF0, 0x00, 0x00, 0x30, 0xD0, 0x80, 0x00, 0x7F, 0x60, 0x02, 0xE2, 0x00, 0xF0, 0x00, 0x0E, 0x22, 0x60, 0x0A,
0xF0, 0x00, 0x00, 0xFF, 0x60, 0x03, 0xF0, 0x00, 0x01, 0x42, 0xD2, 0x80, 0x90, 0x03, 0x40, 0x02, 0xF0, 0x00, 0x90, 0x43, 0x01, 0x70, 0xD1, 0x80,
0xF0, 0x00, 0x01, 0x69, 0xD0, 0x80, 0x0E, 0x69, 0x60, 0x0A, 0xA3, 0x4C, 0x20, 0x23, 0x00, 0x01, 0x60, 0x01, 0xF0, 0x00, 0x70, 0x00, 0xF0, 0x00,
0xC4, 0xCB, 0x70, 0x00, 0xF0, 0x00, 0xCA, 0x09, 0x30, 0x23, 0xF0, 0x00, 0xC2, 0xCB, 0x70, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x30, 0x23, 0xD0, 0x08,
0x82, 0x00, 0x0D, 0x50, 0x60, 0x08, 0xF0, 0x00, 0x0D, 0x51, 0x60, 0x09, 0x30, 0x00, 0x21, 0x80, 0x60, 0x01, 0xF0, 0x00, 0x40, 0x32, 0xF0, 0x00,
0x30, 0x11, 0x45, 0xF3, 0xF0, 0x00, 0x30, 0x92, 0x2D, 0x30, 0x60, 0x04, 0x31, 0x13, 0x2D, 0x40, 0x60, 0x05, 0x31, 0x94, 0x7F, 0xFF, 0x60, 0x06,
0x32, 0x15, 0x0D, 0x61, 0x60, 0x0A, 0x32, 0x96, 0x0D, 0x6B, 0x60, 0x0B, 0x33, 0x10, 0x0D, 0x50, 0x60, 0x01, 0x33, 0x90, 0x0D, 0x5C, 0x60, 0x02,
0x30, 0x21, 0x0D, 0x63, 0x60, 0x03, 0x30, 0x31, 0x0D, 0x75, 0x60, 0x0C, 0x30, 0xA2, 0x8D, 0x00, 0x60, 0x01, 0x30, 0xB3, 0x01, 0x73, 0x60, 0x02,
0x30, 0x41, 0x00, 0x25, 0x60, 0x03, 0x30, 0xC2, 0x40, 0x44, 0xF0, 0x00, 0x31, 0x43, 0x40, 0x35, 0xF0, 0x00, 0x31, 0xC4, 0x64, 0x00, 0x60, 0x06,
0x32, 0x45, 0x1F, 0x40, 0x60, 0x07, 0x32, 0xC6, 0x70, 0x00, 0xF0, 0x00, 0x33, 0x47, 0x1E, 0xBC, 0x60, 0x0D, 0x33, 0xC0, 0x01, 0x22, 0x60, 0x01,
0x34, 0x40, 0xFD, 0xEE, 0x60, 0x02, 0x30, 0x51, 0x7B, 0x8F, 0x60, 0x03, 0x30, 0xD2, 0xC4, 0x29, 0x60, 0x04, 0x31, 0x51, 0x1E, 0xC2, 0x60, 0x0E,
0x32, 0x53, 0xFF, 0x0D, 0x60, 0x02, 0x32, 0xD4, 0x7D, 0x2E, 0x60, 0x03, 0x30, 0x61, 0xC1, 0x9A, 0x60, 0x04, 0x30, 0xE2, 0x70, 0x00, 0xF0, 0x00,
0x31, 0x61, 0x70, 0x00, 0xF0, 0x00, 0x32, 0x63, 0x05, 0x2C, 0x60, 0x08, 0x32, 0xE4, 0x40, 0x00, 0x83, 0x22, 0xF0, 0x00, 0x03, 0x70, 0xD2, 0x80,
0xF0, 0x00, 0x70, 0x00, 0xA0, 0x08, 0xF0, 0x00, 0x70, 0x00, 0xA0, 0x4D, 0xF0, 0x00, 0x02, 0x15, 0xD0, 0x80, 0x40, 0x15, 0x20, 0x53, 0xA3, 0x1E,
0xA0, 0xE8, 0x58, 0x06, 0xA3, 0x1D, 0xA0, 0x72, 0x20, 0x64, 0xF0, 0x00, 0xA8, 0x61, 0x70, 0x00, 0xF0, 0x00, 0xA1, 0x28, 0x70, 0x00, 0xF0, 0x00,
0xA0, 0xB2, 0x02, 0xBB, 0xD0, 0x80, 0xF0, 0x00, 0x0D, 0x51, 0x60, 0x0F, 0xF0, 0x00, 0x05, 0x17, 0x60, 0x0E, 0x23, 0xF6, 0x70, 0x00, 0xF0, 0x00,
0xF0, 0x00, 0x21, 0x63, 0x41, 0xF5, 0x91, 0x8F, 0x21, 0xF8, 0x40, 0x74, 0xC3, 0xEF, 0x21, 0xE0, 0xF0, 0x00, 0xC3, 0xA4, 0x33, 0xF7, 0xF0, 0x00,
0xD8, 0x5B, 0x70, 0x00, 0xF0, 0x00, 0x82, 0x18, 0x70, 0x00, 0xF0, 0x00, 0x9F, 0xAF, 0x18, 0x00, 0xF0, 0x00, 0x9F, 0x0F, 0x31, 0xF8, 0x90, 0x02,
0xF0, 0x00, 0x70, 0x00, 0x90, 0x28, 0xF0, 0x00, 0x70, 0x00, 0xD0, 0x08, 0xF0, 0x00, 0x22, 0x78, 0xF0, 0x00, 0x16, 0xD3, 0x60, 0x09, 0xA0, 0x6D,
0x35, 0xF0, 0x1E, 0xBC, 0x60, 0x0D, 0xF0, 0x00, 0x0D, 0x61, 0x60, 0x08, 0xF0, 0x00, 0x03, 0xA5, 0xD2, 0x80, 0xF0, 0x00, 0x1E, 0xC2, 0x60, 0x0D,
0xF0, 0x00, 0x0D, 0x6B, 0x60, 0x08, 0xF0, 0x00, 0x03, 0xA5, 0xD2, 0x80, 0xF0, 0x00, 0x21, 0x00, 0xF0, 0x00, 0x83, 0x6D, 0x22, 0xF1, 0xF0, 0x00,
0xF0, 0x00, 0x23, 0x77, 0xF0, 0x00, 0x90, 0x41, 0x36, 0x70, 0xF0, 0x00, 0x9E, 0x79, 0x70, 0x00, 0x90, 0x01, 0xF0, 0x00, 0x32, 0xF1, 0xD0, 0x08,
0x91, 0xC7, 0x33, 0x75, 0xF0, 0x00, 0xF0, 0x00, 0x34, 0x70, 0xE6, 0x00, 0xF0, 0x00, 0x34, 0xF0, 0xE6, 0x00, 0xF0, 0x00, 0x24, 0x74, 0xF0, 0x00,
0xF0, 0x00, 0x24, 0xF3, 0xF0, 0x00, 0x8C, 0x24, 0x26, 0xF2, 0x40, 0x16, 0x8A, 0x1B, 0x34, 0x74, 0x4F, 0xF5, 0x82, 0xB7, 0x34, 0xF3, 0xF0, 0x00,
0xF0, 0x00, 0x20, 0x71, 0x90, 0x05, 0x83, 0x04, 0x70, 0x00, 0xF0, 0x00, 0x8E, 0x67, 0x70, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x70, 0x00, 0x90, 0x02,
0xF0, 0x00, 0x36, 0xF6, 0xF0, 0x00, 0xF0, 0x00, 0x34, 0xF0, 0x80, 0x06, 0x82, 0xAF, 0x70, 0x00, 0xF0, 0x00, 0x82, 0x1B, 0x70, 0x00, 0xD0, 0x09,
0x8E, 0x5F, 0x70, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x70, 0x00, 0xD0, 0x09, 0xF0, 0x00, 0x36, 0xF5, 0xF0, 0x00, 0xF0, 0x00, 0x34, 0x70, 0xF0, 0x00,
0x40, 0x11, 0x27, 0x72, 0xA2, 0xE9, 0x90, 0x8A, 0x20, 0xF3, 0xA2, 0xE8, 0x8E, 0xD7, 0x37, 0x72, 0xF0, 0x00, 0xF0, 0x00, 0x37, 0xF1, 0xE6, 0x00,
0xF0, 0x00, 0x70, 0x00, 0xD0, 0x08, 0xF0, 0x00, 0x22, 0x7A, 0xF0, 0x00, 0x16, 0xC3, 0x60, 0x09, 0xA0, 0x46, 0xF0, 0x00, 0x18, 0x20, 0xF0, 0x00,
0xF0, 0x00, 0x35, 0x70, 0xF0, 0x00, 0xF0, 0x00, 0x32, 0x7A, 0xD0, 0x08, 0x0D, 0x51, 0x60, 0x08, 0xA2, 0xDF, 0x82, 0x00, 0x21, 0x06, 0x40, 0x03,
0x33, 0x80, 0x0D, 0x63, 0x60, 0x09, 0x37, 0x00, 0x0D, 0x6D, 0x60, 0x0A, 0x37, 0x80, 0x0D, 0x30, 0x60, 0x0B, 0x36, 0x83, 0x0D, 0x40, 0x60, 0x0C,
0x35, 0x80, 0x70, 0x00, 0xC8, 0x88, 0xF0, 0x00, 0x10, 0x10, 0xF0, 0x00, 0xF0, 0x00, 0x10, 0x20, 0xF0, 0x00, 0x32, 0x86, 0x40, 0x15, 0xC8, 0x90,
0xF0, 0x00, 0x10, 0x30, 0xF0, 0x00, 0xF0, 0x00, 0x10, 0x40, 0xF0, 0x00, 0xF0, 0x00, 0x33, 0x05, 0xD0, 0x08, 0xF0, 0x00, 0x0D, 0x75, 0x60, 0x0F,
0xF0, 0x00, 0x05, 0x63, 0x60, 0x0E, 0x24, 0xF7, 0x05, 0x1D, 0x60, 0x0D, 0x25, 0x76, 0x70, 0x00, 0xF0, 0x00, 0x91, 0xC7, 0x20, 0xE8, 0x40, 0x15,
0x91, 0x8F, 0x21, 0xE9, 0xD4, 0x09, 0xC3, 0xEF, 0x20, 0x00, 0x40, 0x12, 0x9F, 0xBE, 0x20, 0x11, 0x58, 0x03, 0xA0, 0x80, 0x35, 0x77, 0x90, 0x01,
0xF0, 0x00, 0x70, 0x00, 0xD0, 0x08, 0xF0, 0x00, 0x21, 0xF5, 0xF0, 0x00, 0xA0, 0xCA, 0x22, 0x54, 0xF0, 0x00, 0xCC, 0x09, 0x05, 0x17, 0x60, 0x0C,
0x83, 0x2C, 0x70, 0x00, 0xF0, 0x00, 0x8A, 0x61, 0x70, 0x00, 0xF0, 0x00, 0xAE, 0x48, 0x22, 0x45, 0xA2, 0xC3, 0xA2, 0x28, 0x20, 0x78, 0xF0, 0x00,
0xF0, 0x00, 0x35, 0xF0, 0xF0, 0x00, 0xF0, 0x00, 0x18, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x30, 0x78, 0xF0, 0x00, 0x16, 0xE3, 0x60, 0x09, 0xA0, 0x27,
0x89, 0x01, 0x23, 0xF4, 0xF0, 0x00, 0xF0, 0x00, 0x20, 0xF2, 0xF0, 0x00, 0x82, 0x61, 0x21, 0x73, 0xF0, 0x00, 0xA0, 0x50, 0x36, 0x70, 0xF0, 0x00,
0xA0, 0x58, 0x23, 0x72, 0xE1, 0x40, 0xA8, 0x01, 0x22, 0xF3, 0xF0, 0x00, 0x90, 0x49, 0x22, 0x75, 0xE0, 0x40, 0x80, 0x61, 0x70, 0x00, 0xF0, 0x00,
0x8A, 0x51, 0x33, 0xF1, 0xF0, 0x00, 0xA0, 0x58, 0x70, 0x00, 0xF0, 0x00, 0xAF, 0x48, 0x70, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x34, 0x70, 0xD0, 0x08,
0x82, 0x00, 0x0D, 0x75, 0x60, 0x08, 0x90, 0x09, 0x0D, 0x00, 0x60, 0x09, 0xF0, 0x00, 0x35, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x33, 0x80, 0xC0, 0x28,
0xF0, 0x00, 0x10, 0x10, 0xF0, 0x00, 0xF0, 0x00, 0x34, 0x81, 0xD0, 0x08, 0x82, 0x49, 0x0D, 0x75, 0x60, 0x08, 0xF0, 0x00, 0x70, 0x00, 0x8F, 0xFD,
0x04, 0x00, 0x60, 0x00, 0xA2, 0xA9, 0x8E, 0xC0, 0x40, 0x00, 0x60, 0x05, 0x60, 0x00, 0x60, 0x05, 0xE6, 0x00, 0xC8, 0x1B, 0x70, 0x00, 0xF0, 0x00,
0xD8, 0xDB, 0x0D, 0x51, 0x60, 0x08, 0x83, 0x5B, 0x70, 0x00, 0xF0, 0x00, 0x9E, 0xBA, 0x30, 0x03, 0xF0, 0x00, 0xF0, 0x00, 0x30, 0x84, 0xD4, 0x09,
0xF0, 0x00, 0x70, 0x00, 0x8F, 0xC1, 0xF0, 0x00, 0x0D, 0x75, 0x60, 0x08, 0xF0, 0x00, 0x0D, 0x51, 0x60, 0x09, 0xF0, 0x00, 0x24, 0x03, 0xF0, 0x00,
0xF0, 0x00, 0x27, 0x94, 0xD0, 0x08, 0xA0, 0x03, 0x70, 0x00, 0xF0, 0x00, 0x00, 0x11, 0x08, 0x00, 0xF0, 0x00, 0x00, 0x11, 0x08, 0x00, 0xC0, 0x0E,
0xA0, 0x09, 0x00, 0x11, 0x08, 0x00, 0xA0, 0x09, 0x70, 0x00, 0xF0, 0x00, 0xA4, 0x08, 0x70, 0x00, 0xD0, 0x08, 0xA0, 0x03, 0x70, 0x00, 0xF0, 0x00,
0x00, 0x11, 0x08, 0x00, 0xF0, 0x00, 0x00, 0x11, 0x08, 0x00, 0xC0, 0x26, 0xA0, 0x09, 0x00, 0x11, 0x08, 0x00, 0xA0, 0x09, 0x70, 0x00, 0xF0, 0x00,
0xA4, 0x08, 0x70, 0x00, 0xD0, 0x08, 0xF0, 0x00, 0x1D, 0x01, 0x60, 0x08, 0xF0, 0x00, 0x0A, 0x2C, 0x60, 0x00, 0xF0, 0x00, 0x01, 0x1A, 0x60, 0x01,
0x31, 0x00, 0x70, 0x00, 0xF0, 0x00, 0x31, 0x81, 0x70, 0x00, 0xD0, 0x08, 0xA8, 0x01, 0x7F, 0xFF, 0x60, 0x06, 0xCC, 0x0A, 0x70, 0x00, 0xF0, 0x00,
0x8E, 0xA1, 0x31, 0x06, 0xF0, 0x00, 0xF0, 0x00, 0x32, 0x06, 0xD4, 0x09, 0xAE, 0xE8, 0x04, 0xDF, 0xD0, 0x80, 0x90, 0x87, 0x70, 0x00, 0x98, 0x07,
0xF0, 0x00, 0x0F, 0xB1, 0xD2, 0x80, 0x9E, 0x08, 0x41, 0x89, 0x60, 0x06, 0x14, 0x92, 0x60, 0x00, 0x90, 0x04, 0xA1, 0x98, 0x1D, 0x01, 0x60, 0x08,
0xAA, 0x56, 0x70, 0x00, 0xF0, 0x00, 0xA2, 0x20, 0x32, 0x06, 0xF0, 0x00, 0xF0, 0x00, 0x32, 0x80, 0xF0, 0x00, 0x91, 0xC2, 0x06, 0x9A, 0x60, 0x08,
0x41, 0xE6, 0x06, 0x00, 0xD0, 0x80, 0x82, 0x13, 0x70, 0x00, 0xD8, 0x09, 0xF0, 0x00, 0x0F, 0xB1, 0xD2, 0x80, 0x9E, 0x08, 0x10, 0x62, 0x60, 0x01,
0x05, 0x1F, 0x60, 0x05, 0xD0, 0x09, 0xF0, 0x00, 0x06, 0xE6, 0x60, 0x08, 0xA3, 0x65, 0x70, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x30, 0x85, 0xD0, 0x08,
0x10, 0x00, 0x60, 0x03, 0xA2, 0x75, 0x30, 0x23, 0x07, 0x73, 0xD2, 0x80, 0xF0, 0x00, 0x07, 0xC6, 0xD0, 0x80, 0x08, 0x00, 0x60, 0x03, 0xA0, 0x02,
0x0E, 0x6F, 0x60, 0x09, 0xF0, 0x00, 0x02, 0x00, 0x60, 0x03, 0x80, 0x00, 0xF0, 0x00, 0x07, 0x73, 0xD0, 0x80, 0x40, 0xE0, 0x00, 0x1F, 0x60, 0x01,
0x13, 0xD5, 0x60, 0x07, 0xA0, 0x11, 0x90, 0x40, 0x70, 0x00, 0xF0, 0x00, 0x13, 0xFB, 0x60, 0x06, 0xA0, 0x0E, 0x14, 0x05, 0x60, 0x06, 0xA0, 0x0D,
0x14, 0x0F, 0x60, 0x06, 0xA0, 0x0C, 0x45, 0x60, 0x00, 0x3A, 0x60, 0x01, 0x13, 0xB6, 0x60, 0x07, 0xA0, 0x0B, 0x90, 0x40, 0x70, 0x00, 0xF0, 0x00,
0x13, 0xF7, 0x60, 0x06, 0xA0, 0x08, 0x14, 0x01, 0x60, 0x06, 0xA0, 0x07, 0x14, 0x0B, 0x60, 0x06, 0xA0, 0x06, 0x41, 0x80, 0x00, 0x3B, 0x60, 0x01,
0x13, 0xB6, 0x60, 0x07, 0xA0, 0x05, 0x90, 0x40, 0x70, 0x00, 0xF0, 0x00, 0x13, 0xF7, 0x60, 0x06, 0xA0, 0x02, 0x14, 0x01, 0x60, 0x06, 0xA0, 0x01,
0x14, 0x0B, 0x60, 0x06, 0x80, 0x00, 0xF0, 0x00, 0x0D, 0x28, 0xD0, 0x80, 0xD7, 0xCA, 0x00, 0xFF, 0x60, 0x04, 0x81, 0xD7, 0x0C, 0xF7, 0x60, 0x09,
0xD0, 0x56, 0x70, 0x00, 0xF0, 0x00, 0x82, 0x76, 0x30, 0x17, 0xF0, 0x00, 0xD0, 0xF6, 0x40, 0x83, 0xF0, 0x00, 0xC1, 0xA4, 0x20, 0x19, 0xF0, 0x00,
0x82, 0xF6, 0x70, 0x00, 0xF0, 0x00, 0xC1, 0x80, 0x20, 0x17, 0xA2, 0x54, 0xC3, 0xE7, 0x70, 0x00, 0xF0, 0x00, 0xC5, 0xC7, 0x70, 0x00, 0xF0, 0x00,
0xF0, 0x00, 0x30, 0x17, 0xD0, 0x08, 0x9A, 0x78, 0x70, 0x00, 0xF0, 0x00, 0x9A, 0x70, 0x70, 0x00, 0x90, 0xE3, 0xF0, 0x00, 0x70, 0x00, 0x90, 0xE3,
0xF0, 0x00, 0x0D, 0x67, 0xD0, 0x80, 0xF0, 0x00, 0x70, 0x00, 0xA1, 0x19, 0xF0, 0x00, 0x70, 0x00, 0x80, 0xD2, 0x1E, 0xC8, 0x60, 0x08, 0xA2, 0x4A,
0xF0, 0x00, 0x20, 0x00, 0xA2, 0x49, 0x90, 0x00, 0x70, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x70, 0x00, 0xD4, 0x09, 0xF0, 0x00, 0x70, 0x00, 0x8F, 0xA5,
0x1E, 0xC8, 0x60, 0x08, 0xA2, 0x45, 0xF0, 0x00, 0x30, 0x00, 0xD0, 0x08, 0x00, 0x28, 0x60, 0x00, 0xA2, 0x43, 0x9E, 0x38, 0x0E, 0xF4, 0x60, 0x09,
0x9E, 0x38, 0x70, 0x00, 0x9F, 0xFF, 0xF0, 0x00, 0x70, 0x00, 0xD0, 0x08, 0x40, 0x40, 0x0C, 0x8A, 0xD5, 0x80, 0xF0, 0x00, 0x0C, 0x8B, 0xD2, 0x80,
0xF0, 0x00, 0x0F, 0xB1, 0xD2, 0x80, 0x9C, 0x39, 0x70, 0x00, 0xF0, 0x00, 0x9C, 0x31, 0x70, 0x00, 0x90, 0x03, 0xF0, 0x00, 0x70, 0x00, 0x90, 0x02,
0x40, 0x10, 0x70, 0x00, 0xAF, 0xF3, 0x41, 0xF1, 0x40, 0x40, 0x80, 0x0D, 0x40, 0x00, 0x70, 0x00, 0xAF, 0xF1, 0x41, 0xF1, 0x40, 0x40, 0x80, 0x0C,
0x03, 0xE8, 0x60, 0x02, 0xA2, 0x35, 0x90, 0x83, 0x10, 0x44, 0xD1, 0x80, 0xF0, 0x00, 0x10, 0x42, 0xD0, 0x80, 0x40, 0x71, 0x40, 0x20, 0xA0, 0x08,
0x43, 0xA1, 0x40, 0x30, 0xA0, 0x07, 0x43, 0xB1, 0x40, 0x30, 0xA0, 0x06, 0xF0, 0x00, 0x10, 0x75, 0xD0, 0x80, 0x40, 0x71, 0x40, 0x20, 0xA0, 0x04,
0x43, 0xA1, 0x40, 0x30, 0xA0, 0x02, 0x43, 0xB1, 0x40, 0x30, 0xA0, 0x01, 0xF0, 0x00, 0x10, 0x81, 0xD0, 0x80, 0xF0, 0x00, 0x0C, 0x92, 0xD0, 0x80,
0xF0, 0x00, 0x0C, 0x94, 0xD0, 0x80, 0xA0, 0x10, 0x70, 0x00, 0x31, 0x7C, 0xA6, 0x50, 0x7C, 0x4D, 0x20, 0x83, 0x80, 0x09, 0x21, 0xF8, 0xF0, 0x00,
0xA0, 0xD0, 0x70, 0x00, 0x18, 0x41, 0xA6, 0x53, 0x15, 0x36, 0xD0, 0x80, 0xF0, 0x00, 0x0B, 0xC9, 0x60, 0x08, 0xF0, 0x00, 0x1D, 0x8D, 0xD2, 0x80,
0xF0, 0x00, 0x16, 0xD5, 0xD0, 0x80, 0xF0, 0x00, 0x0B, 0xC9, 0x60, 0x08, 0xF0, 0x00, 0x1D, 0x8F, 0xD2, 0x80, 0xF0, 0x00, 0x16, 0xDA, 0xD0, 0x80,
0x3E, 0x91, 0x1F, 0x5F, 0xD2, 0x80, 0xF0, 0x00, 0x23, 0x8A, 0xD0, 0x80, 0x0D, 0x85, 0x60, 0x08, 0xA2, 0x1B, 0xF0, 0x00, 0x30, 0x00, 0xD0, 0x08,
0xF0, 0x00, 0x0F, 0x88, 0x60, 0x0B, 0xF0, 0x00, 0x02, 0x30, 0x60, 0x03, 0xF0, 0x00, 0x09, 0x38, 0x60, 0x04, 0x9F, 0x98, 0x01, 0x2C, 0x60, 0x05,
0xF0, 0x00, 0x2E, 0xB3, 0xEE, 0x00, 0xF0, 0x00, 0x0F, 0xB1, 0xD2, 0x80, 0x9E, 0x09, 0x0D, 0x87, 0x60, 0x0C, 0x9F, 0x90, 0x70, 0x00, 0x90, 0x02,
0x9F, 0x88, 0x2F, 0x34, 0xEE, 0x00, 0xF0, 0x00, 0x2F, 0xB5, 0xEE, 0x00, 0x30, 0x43, 0x0B, 0x42, 0x60, 0x08, 0xF0, 0x00, 0x30, 0xC4, 0xF0, 0x00,
0xF0, 0x00, 0x31, 0x45, 0xF0, 0x00, 0xF0, 0x00, 0x2C, 0xB1, 0x40, 0x17, 0xF0, 0x00, 0x2D, 0x32, 0xF0, 0x00, 0xC6, 0x79, 0x22, 0x05, 0xF0, 0x00,
0xF0, 0x00, 0x3D, 0x81, 0xF0, 0x00, 0xF0, 0x00, 0x3D, 0x01, 0xF0, 0x00, 0xDD, 0x6D, 0x1B, 0x93, 0xD2, 0x80, 0x90, 0x46, 0x0D, 0x85, 0x60, 0x0A,
0x20, 0x42, 0x1B, 0x93, 0xD2, 0x80, 0xDA, 0xC9, 0x20, 0x25, 0xA2, 0x04, 0x8C, 0x69, 0x2D, 0xB3, 0xF0, 0x00, 0xDD, 0x49, 0x32, 0x01, 0xF0, 0x00,
0x8D, 0x89, 0x70, 0x00, 0xF0, 0x00, 0x3C, 0x81, 0xFE, 0x35, 0x60, 0x00, 0x35, 0x81, 0x00, 0x16, 0x60, 0x01, 0xA0, 0x18, 0x21, 0x46, 0xF0, 0x00,
0xAA, 0x07, 0x01, 0x2D, 0x60, 0x00, 0x81, 0xCF, 0x70, 0x00, 0xF0, 0x00, 0x8F, 0x80, 0x70, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x70, 0x00, 0x94, 0x02,
0x40, 0x45, 0x57, 0x4B, 0x60, 0x00, 0xE0, 0x00, 0x60, 0x01, 0x80, 0x02, 0x40, 0x65, 0x40, 0x00, 0x60, 0x00, 0xC6, 0x66, 0x60, 0x01, 0x80, 0x00,
0xA0, 0x30, 0x40, 0x00, 0x60, 0x04, 0xAF, 0x4E, 0x00, 0xA4, 0x60, 0x05, 0x81, 0x8E, 0x0B, 0x75, 0x60, 0x08, 0xF0, 0x00, 0x14, 0x74, 0xD2, 0x80,
0xF0, 0x00, 0x1B, 0x90, 0xD2, 0x80, 0x2E, 0x34, 0x04, 0x00, 0x60, 0x06, 0x20, 0xC2, 0x1B, 0x93, 0xD2, 0x80, 0xD2, 0xC9, 0x03, 0xE9, 0x60, 0x05,
0x81, 0x8E, 0x0B, 0x59, 0x60, 0x08, 0x8F, 0x2D, 0x31, 0xC6, 0xF0, 0x00, 0xF0, 0x00, 0x70, 0x00, 0x94, 0x02, 0x40, 0x45, 0xB1, 0x5C, 0x60, 0x03,
0x46, 0x66, 0x60, 0x07, 0x80, 0x02, 0x40, 0x65, 0xAA, 0xCE, 0x60, 0x03, 0xC6, 0x66, 0x60, 0x07, 0x80, 0x00, 0xA0, 0xE0, 0x00, 0x38, 0x60, 0x04,
0xAF, 0x48, 0x00, 0x1D, 0x60, 0x05, 0x81, 0xC7, 0x31, 0x84, 0xF0, 0x00, 0x31, 0x05, 0x14, 0x74, 0xD2, 0x80, 0xF0, 0x00, 0x1B, 0x90, 0xD2, 0x80,
0xF0, 0x00, 0xD8, 0x00, 0x60, 0x00, 0xF0, 0x00, 0x0B, 0x67, 0x60, 0x08, 0x21, 0xC6, 0x20, 0x00, 0x60, 0x04, 0xF0, 0x00, 0x13, 0x33, 0x60, 0x05,
0x81, 0x86, 0x31, 0x84, 0x40, 0x07, 0x31, 0x05, 0x14, 0x74, 0xD2, 0x80, 0xF0, 0x00, 0x1B, 0x90, 0xD0, 0x80, 0xF0, 0x00, 0x6E, 0x6C, 0x60, 0x03,
0x40, 0x07, 0x00, 0xE5, 0x60, 0x05, 0xA0, 0x58, 0xFF, 0xFF, 0x60, 0x03, 0xAA, 0x24, 0x0B, 0x52, 0x60, 0x08, 0x81, 0x1C, 0x70, 0x00, 0xF0, 0x00,
0x31, 0x05, 0x7F, 0xDF, 0x60, 0x06, 0x31, 0x84, 0x14, 0x74, 0xD2, 0x80, 0xF0, 0x00, 0x1B, 0x90, 0xD0, 0x80, 0x91, 0x83, 0x2E, 0x85, 0xF0, 0x00,
0xF0, 0x00, 0x2F, 0x06, 0xF0, 0x00, 0xF0, 0x00, 0x2F, 0x87, 0xF0, 0x00, 0x0B, 0xC9, 0x60, 0x09, 0xA1, 0xCF, 0x3E, 0x11, 0x0D, 0x82, 0x60, 0x0A,
0xF0, 0x00, 0x27, 0x11, 0xA1, 0xCD, 0xA0, 0x50, 0x27, 0x92, 0xF0, 0x00, 0xAA, 0x41, 0x0B, 0xB4, 0x60, 0x0C, 0x80, 0x52, 0x20, 0x21, 0xA1, 0xCA,
0x9E, 0xCB, 0x35, 0x92, 0xF0, 0x00, 0x90, 0x41, 0x70, 0x00, 0xD8, 0x09, 0x88, 0x2D, 0x70, 0x00, 0xD4, 0x09, 0xF0, 0x00, 0x36, 0x15, 0xF0, 0x00,
0xF0, 0x00, 0x36, 0x95, 0xF0, 0x00, 0x91, 0x00, 0x30, 0xA6, 0xF0, 0x00, 0x31, 0x27, 0x14, 0x62, 0xD2, 0x80, 0x90, 0x04, 0x31, 0xC0, 0xF0, 0x00,
0x21, 0x45, 0x8C, 0xCD, 0x60, 0x06, 0xF0, 0x00, 0xFF, 0x55, 0x60, 0x07, 0xF0, 0x00, 0x14, 0x74, 0xD2, 0x80, 0xF0, 0x00, 0x32, 0x40, 0xF0, 0x00,
0xF0, 0x00, 0x32, 0xC1, 0xF0, 0x00, 0xF0, 0x00, 0x33, 0x42, 0x80, 0x00, 0xF0, 0x00, 0x0D, 0x82, 0x60, 0x09, 0xF0, 0x00, 0x0B, 0xC9, 0x60, 0x0A,
0xF0, 0x00, 0x20, 0x15, 0xA1, 0xB9, 0x91, 0x45, 0x7F, 0xEC, 0x60, 0x06, 0x40, 0x47, 0x70, 0x00, 0xD4, 0x09, 0x20, 0x90, 0x14, 0x47, 0xD2, 0x80,
0xF0, 0x00, 0x34, 0xA0, 0xF0, 0x00, 0x21, 0x10, 0x14, 0x47, 0xD2, 0x80, 0xF0, 0x00, 0x35, 0x20, 0xD0, 0x08, 0x0A, 0x3D, 0x60, 0x07, 0xA1, 0xB2,
0xA2, 0x79, 0x0B, 0xC9, 0x60, 0x09, 0xA2, 0xBA, 0x70, 0x00, 0xF0, 0x00, 0x90, 0xC0, 0x3B, 0x91, 0xF0, 0x00, 0x3B, 0x12, 0x14, 0x62, 0xD2, 0x80,
0xF0, 0x00, 0x3C, 0x10, 0xD0, 0x08, 0xF0, 0x00, 0x0B, 0x60, 0x60, 0x0E, 0xF0, 0x00, 0x00, 0x04, 0x60, 0x03, 0x40, 0xA7, 0x3F, 0xFC, 0x60, 0x04,
0x32, 0x63, 0x80, 0x08, 0x60, 0x05, 0x32, 0xE4, 0x19, 0x9A, 0x60, 0x06, 0x33, 0x65, 0x0D, 0x86, 0x60, 0x0F, 0x31, 0xE6, 0x70, 0x00, 0xF0, 0x00,
0x30, 0x77, 0x70, 0x00, 0xD0, 0x08, 0x0D, 0x82, 0x60, 0x0A, 0xA1, 0xA4, 0xF0, 0x00, 0x30, 0x20, 0xF0, 0x00, 0x00, 0xD2, 0x60, 0x01, 0x94, 0x0B,
0xF0, 0x00, 0x00, 0xD2, 0x60, 0x02, 0x00, 0xFA, 0x60, 0x03, 0xAF, 0xED, 0xF0, 0x00, 0xBE, 0x77, 0x60, 0x06, 0xF0, 0x00, 0x4B, 0x00, 0x60, 0x07,
0x37, 0x06, 0x00, 0x01, 0x60, 0x01, 0x37, 0x87, 0x03, 0xE8, 0x60, 0x02, 0xF0, 0x00, 0x03, 0x84, 0x60, 0x04, 0xF0, 0x00, 0x00, 0x01, 0x60, 0x05,
0xF0, 0x00, 0x00, 0x8C, 0x60, 0x06, 0xF0, 0x00, 0x0A, 0xF0, 0x60, 0x07, 0xF0, 0x00, 0x70, 0x00, 0x8F, 0xC7, 0xF0, 0x00, 0x0B, 0xB4, 0x60, 0x09,
0xF0, 0x00, 0x00, 0x11, 0x60, 0x05, 0xF0, 0x00, 0x00, 0x11, 0x60, 0x06, 0x3B, 0x05, 0x10, 0x00, 0x60, 0x07, 0x3B, 0x86, 0x00, 0x04, 0x60, 0x00,
0x3C, 0x07, 0xAD, 0x84, 0x60, 0x01, 0x32, 0x10, 0x01, 0xFD, 0x60, 0x02, 0x32, 0x91, 0x0B, 0x5E, 0x60, 0x03, 0x33, 0x12, 0x0C, 0x80, 0x60, 0x04,
0x31, 0x93, 0x00, 0xA0, 0x60, 0x05, 0x34, 0x84, 0xFF, 0xD0, 0x60, 0x06, 0x35, 0x05, 0xE3, 0x54, 0x60, 0x07, 0x36, 0x06, 0x34, 0x00, 0x60, 0x00,
0x36, 0x86, 0x00, 0x01, 0x60, 0x01, 0x37, 0x07, 0x03, 0xE8, 0x60, 0x02, 0x37, 0x80, 0x70, 0x00, 0x8F, 0xB7, 0x80, 0xE5, 0x7F, 0xFF, 0x60, 0x00,
0xCC, 0x0A, 0x70, 0x00, 0xF0, 0x00, 0x8E, 0xA9, 0x33, 0x70, 0xF0, 0x00, 0xAF, 0x20, 0x34, 0x70, 0xD4, 0x09, 0xAE, 0xE8, 0x70, 0x00, 0xF0, 0x00,
0xA8, 0x05, 0x00, 0x80, 0x60, 0x07, 0xA8, 0xF6, 0x33, 0x75, 0xF0, 0x00, 0xC3, 0x86, 0x70, 0x00, 0xF0, 0x00, 0x8F, 0x7F, 0x33, 0xF6, 0xF0, 0x00,
0xA8, 0x85, 0x1D, 0xE4, 0xD1, 0x80, 0xF0, 0x00, 0x34, 0x75, 0xD0, 0x08, 0x0D, 0x86, 0x60, 0x09, 0xA1, 0x7B, 0x20, 0x12, 0x1F, 0x32, 0xD2, 0x80,
0xF0, 0x00, 0x35, 0x82, 0xD0, 0x08, 0x90, 0x82, 0x0D, 0x86, 0x60, 0x09, 0x40, 0xA7, 0x40, 0x77, 0xE6, 0x40, 0xF0, 0x00, 0x70, 0x00, 0xF0, 0x00,
0xF0, 0x00, 0x30, 0x17, 0xD0, 0x08, 0x0B, 0xB4, 0x60, 0x08, 0xA1, 0x74, 0xF0, 0x00, 0x31, 0x82, 0xD0, 0x08, 0xF0, 0x00, 0x09, 0x61, 0x60, 0x08,
0xF0, 0x00, 0x09, 0xC9, 0x60, 0x09, 0xF0, 0x00, 0x21, 0x80, 0xF0, 0x00, 0xF0, 0x00, 0x20, 0x91, 0xA1, 0x6F, 0xA2, 0x08, 0x70, 0x00, 0xD0, 0x08,
0x00, 0xCF, 0x60, 0x02, 0xA0, 0x01, 0x01, 0x51, 0x60, 0x02, 0x80, 0x01, 0x0D, 0x8B, 0x60, 0x08, 0x80, 0x01, 0x0D, 0x8C, 0x60, 0x08, 0x80, 0x00,
0xF0, 0x00, 0x70, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x30, 0x02, 0xD0, 0x08, 0x0F, 0xF2, 0x60, 0x09, 0xA1, 0x67, 0x20, 0x11, 0x0D, 0x8B, 0x60, 0x0A,
0xF0, 0x00, 0x2C, 0x92, 0xF0, 0x00, 0x90, 0x41, 0x20, 0x11, 0xF0, 0x00, 0xF0, 0x00, 0x70, 0x00, 0x93, 0xFE, 0xF0, 0x00, 0x70, 0x00, 0xF2, 0x00,
0x31, 0x22, 0x20, 0x31, 0xD0, 0x80, 0x0D, 0x8B, 0x60, 0x08, 0xA0, 0x03, 0xF0, 0x00, 0x20, 0x22, 0xD0, 0x80, 0x0D, 0x8C, 0x60, 0x08, 0xA0, 0x01,
0xF0, 0x00, 0x20, 0x1E, 0xD0, 0x80, 0xF0, 0x00, 0x70, 0x00, 0xF0, 0x00, 0x20, 0x00, 0x0E, 0x69, 0x60, 0x08, 0xF0, 0x00, 0x01, 0xD0, 0x60, 0x01,
0xF0, 0x00, 0x30, 0x80, 0xF0, 0x00, 0xF0, 0x00, 0x30, 0x01, 0xD0, 0x08, 0x83, 0x6D, 0x0C, 0x35, 0x60, 0x08, 0x40, 0x60, 0x3A, 0x4D, 0x60, 0x01,
0x41, 0xE2, 0x21, 0x96, 0x60, 0x03, 0x33, 0x00, 0x41, 0x44, 0xF0, 0x00, 0x33, 0x81, 0x70, 0x00, 0xF0, 0x00, 0x34, 0x02, 0x70, 0x00, 0xF0, 0x00,
0x34, 0x83, 0x0C, 0x29, 0x60, 0x09, 0x35, 0x04, 0x3A, 0x5B, 0x60, 0x00, 0x35, 0x85, 0x3A, 0x60, 0x60, 0x03, 0x30, 0x90, 0x70, 0x00, 0xF0, 0x00,
0x33, 0x93, 0x70, 0x00, 0x8F, 0xDF, 0xF0, 0x00, 0x70, 0x00, 0xAE, 0x6C, 0xF0, 0x00, 0x70, 0x00, 0x8E, 0x9F, 0xF0, 0x00, 0x70, 0x00, 0xAE, 0x98,
0xF0, 0x00, 0x0C, 0x51, 0xD2, 0x80, 0xF0, 0x00, 0x21, 0xA0, 0xD0, 0x80, 0xF0, 0x00, 0x05, 0x2E, 0xD2, 0x80, 0xF0, 0x00, 0x70, 0x00, 0xA0, 0x0E,
0xF0, 0x00, 0x21, 0xB7, 0xD0, 0x80, 0xF0, 0x00, 0x1F, 0x32, 0xD2, 0x80, 0xF0, 0x00, 0x1E, 0x84, 0xD2, 0x80, 0xF0, 0x00, 0x21, 0xE0, 0xD0, 0x80,
0xF0, 0x00, 0x1E, 0xA4, 0xD2, 0x80, 0xF0, 0x00, 0x07, 0xF7, 0xD2, 0x80, 0xF0, 0x00, 0x22, 0x15, 0xD0, 0x80, 0xF0, 0x00, 0x07, 0xFB, 0xD2, 0x80,
0xF0, 0x00, 0x22, 0x8F, 0xD0, 0x80, 0x40, 0x40, 0x22, 0xE1, 0xD2, 0x80, 0x40, 0x80, 0x22, 0xE2, 0xD2, 0x80, 0xF0, 0x00, 0x22, 0x9C, 0xD0, 0x80,
0xF0, 0x00, 0x07, 0xFB, 0xD2, 0x80, 0xF0, 0x00, 0x22, 0xB6, 0xD0, 0x80, 0xF0, 0x00, 0x20, 0xF0, 0xD2, 0x80, 0x90, 0x02, 0x27, 0xDF, 0xD2, 0x80,
0x9E, 0x69, 0x70, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x07, 0x00, 0xD1, 0x80, 0xF0, 0x00, 0x23, 0x20, 0xD0, 0x80, 0x90, 0x82, 0x0C, 0x29, 0x60, 0x09,
0x40, 0x17, 0x40, 0x67, 0xE6, 0x40, 0xF0, 0x00, 0x70, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x32, 0x17, 0xD0, 0x08, 0xF0, 0x00, 0x07, 0xF7, 0xD2, 0x80,
0xF0, 0x00, 0x27, 0xEA, 0xD2, 0x80, 0xF0, 0x00, 0x11, 0xB5, 0xD0, 0x80, 0x40, 0x55, 0x15, 0x17, 0x60, 0x08, 0xF0, 0x00, 0x1D, 0x40, 0x60, 0x00,
0x31, 0x05, 0x1E, 0x60, 0x60, 0x01, 0x31, 0x85, 0x70, 0x00, 0xF0, 0x00, 0x32, 0x05, 0x70, 0x00, 0xF0, 0x00, 0x32, 0x85, 0x70, 0x00, 0xF0, 0x00,
0x33, 0x00, 0x70, 0x00, 0xF0, 0x00, 0x33, 0x81, 0x0D, 0x8E, 0x60, 0x09, 0x34, 0x00, 0x02, 0x54, 0x60, 0x02, 0x34, 0x81, 0x38, 0x80, 0x60, 0x03,
0x30, 0x12, 0x70, 0x00, 0xF0, 0x00, 0x30, 0x93, 0x70, 0x00, 0xD0, 0x08, 0x17, 0x0B, 0x60, 0x0C, 0xA1, 0x1F, 0x00, 0x40, 0x40, 0x05, 0xF0, 0x00,
0x00, 0x41, 0x24, 0x3F, 0xD0, 0x80, 0xF0, 0x00, 0x0C, 0x83, 0x60, 0x08, 0x90, 0x00, 0x0C, 0x6B, 0x60, 0x0B, 0xF0, 0x00, 0x70, 0x0C, 0xE6, 0x00,
0xF0, 0x00, 0x20, 0x03, 0xF0, 0x00, 0xF0, 0x00, 0x22, 0x04, 0xF0, 0x00, 0xF0, 0x00, 0x3B, 0xB3, 0xF0, 0x00, 0xF0, 0x00, 0x3C, 0x34, 0xD0, 0x08,
0xF0, 0x00, 0x70, 0x00, 0xAD, 0xC8, 0xF0, 0x00, 0x0C, 0x8D, 0x60, 0x08, 0xF0, 0x00, 0x26, 0x0A, 0xD0, 0x80, 0x83, 0xFF, 0x0D, 0x9B, 0x60, 0x08,
0xF0, 0x00, 0x01, 0xF4, 0x60, 0x00, 0xF0, 0x00, 0x03, 0xB1, 0x60, 0x01, 0x10, 0x00, 0x03, 0xB2, 0x60, 0x02, 0x10, 0x01, 0x04, 0x0E, 0x60, 0x00,
0x10, 0x02, 0x04, 0x0F, 0x60, 0x01, 0x10, 0x00, 0x04, 0x5C, 0x60, 0x02, 0x10, 0x01, 0x04, 0x5D, 0x60, 0x00, 0x10, 0x02, 0x13, 0x80, 0x60, 0x01,
0x10, 0x00, 0x0D, 0xAB, 0x60, 0x09, 0x10, 0x01, 0x02, 0xEE, 0x60, 0x00, 0x10, 0x07, 0x43, 0x06, 0x60, 0x01, 0x10, 0x10, 0x04, 0x69, 0x60, 0x02,
0x10, 0x11, 0x44, 0x87, 0x60, 0x00, 0x10, 0x12, 0x05, 0xE3, 0x60, 0x01, 0x10, 0x10, 0x46, 0x08, 0x60, 0x02, 0x10, 0x11, 0x06, 0xAE, 0x60, 0x00,
0x10, 0x12, 0x0D, 0xA4, 0x60, 0x08, 0x10, 0x10, 0x9E, 0x3C, 0x60, 0x00, 0x10, 0x17, 0x0D, 0xB3, 0x60, 0x09, 0x10, 0x00, 0x25, 0xDA, 0x60, 0x00,
0x10, 0x07, 0x80, 0x3D, 0x60, 0x01, 0x10, 0x10, 0x28, 0x82, 0x60, 0x02, 0x10, 0x11, 0xC0, 0x3D, 0x60, 0x00, 0x10, 0x12, 0x28, 0x87, 0x60, 0x01,
0x10, 0x10, 0xC0, 0x3B, 0x60, 0x02, 0x10, 0x11, 0x28, 0x8C, 0x60, 0x00, 0x10, 0x12, 0xC0, 0x3B, 0x60, 0x01, 0x10, 0x10, 0x28, 0x91, 0x60, 0x02,
0x10, 0x11, 0xC0, 0x3B, 0x60, 0x00, 0x10, 0x12, 0x28, 0x96, 0x60, 0x01, 0x10, 0x10, 0xC0, 0x3B, 0x60, 0x02, 0x10, 0x11, 0x28, 0x9B, 0x60, 0x00,
0x10, 0x12, 0xC0, 0x3B, 0x60, 0x01, 0x10, 0x10, 0x28, 0xA0, 0x60, 0x02, 0x10, 0x11, 0x40, 0x3C, 0x60, 0x00, 0x10, 0x12, 0x28, 0xA5, 0x60, 0x01,
0x10, 0x10, 0xC0, 0x3C, 0x60, 0x02, 0x10, 0x11, 0x28, 0xAA, 0x60, 0x00, 0x10, 0x12, 0xC0, 0x3C, 0x60, 0x01, 0x10, 0x10, 0x28, 0xAF, 0x60, 0x02,
0x10, 0x11, 0xC0, 0x3C, 0x60, 0x00, 0x10, 0x12, 0x28, 0xB4, 0x60, 0x01, 0x10, 0x10, 0xC0, 0x3C, 0x60, 0x02, 0x10, 0x11, 0x28, 0xB9, 0x60, 0x00,
0x10, 0x12, 0xC0, 0x3C, 0x60, 0x01, 0x10, 0x10, 0x28, 0xBE, 0x60, 0x02, 0x10, 0x11, 0xC0, 0x3C, 0x60, 0x00, 0x10, 0x12, 0x29, 0xCC, 0x60, 0x01,
0x10, 0x10, 0x00, 0x37, 0x60, 0x02, 0x10, 0x11, 0x29, 0xD1, 0x60, 0x00, 0x10, 0x12, 0x00, 0x37, 0x60, 0x01, 0x10, 0x10, 0x29, 0xD6, 0x60, 0x02,
0x10, 0x11, 0x00, 0x37, 0x60, 0x00, 0x10, 0x12, 0x29, 0xDB, 0x60, 0x01, 0x10, 0x10, 0x00, 0x37, 0x60, 0x02, 0x10, 0x11, 0x0D, 0xD8, 0x60, 0x08,
0x10, 0x12, 0x27, 0x15, 0x60, 0x00, 0x10, 0x17, 0x40, 0x3E, 0x60, 0x01, 0x10, 0x00, 0x27, 0x1A, 0x60, 0x02, 0x10, 0x01, 0x80, 0x3C, 0x60, 0x00,
0x10, 0x02, 0x28, 0x64, 0x60, 0x01, 0x10, 0x00, 0x40, 0x3C, 0x60, 0x02, 0x10, 0x01, 0x28, 0x69, 0x60, 0x00, 0x10, 0x02, 0x40, 0x3C, 0x60, 0x01,
0x10, 0x00, 0x28, 0x6E, 0x60, 0x02, 0x10, 0x01, 0x80, 0x3A, 0x60, 0x00, 0x10, 0x02, 0x28, 0x73, 0x60, 0x01, 0x10, 0x00, 0x80, 0x3A, 0x60, 0x02,
0x10, 0x01, 0x28, 0xA0, 0x60, 0x00, 0x10, 0x02, 0x40, 0x3C, 0x60, 0x01, 0x10, 0x00, 0x29, 0xCC, 0x60, 0x02, 0x10, 0x01, 0x00, 0x37, 0x60, 0x00,
0x10, 0x02, 0x29, 0xD1, 0x60, 0x01, 0x10, 0x00, 0x00, 0x37, 0x60, 0x02, 0x10, 0x01, 0x29, 0xD6, 0x60, 0x00, 0x10, 0x02, 0x00, 0x37, 0x60, 0x01,
0x10, 0x00, 0x29, 0xDB, 0x60, 0x02, 0x10, 0x01, 0x00, 0x37, 0x60, 0x00, 0x10, 0x02, 0x0D, 0xEF, 0x60, 0x09, 0x10, 0x00, 0x70, 0x00, 0xF0, 0x00,
0x10, 0x07, 0x70, 0x00, 0xF0, 0x00, 0x10, 0x17, 0x70, 0x00, 0xD0, 0x08, 0x0C, 0xDF, 0x60, 0x0B, 0xA0, 0xBF, 0x30, 0x30, 0x23, 0xD6, 0xD2, 0x80,
0xF0, 0x00, 0x26, 0xE8, 0xD0, 0x80, 0x0D, 0x9B, 0x60, 0x08, 0xA0, 0xBC, 0xF0, 0x00, 0x00, 0x02, 0xA0, 0xBB, 0x90, 0x82, 0x70, 0x00, 0xF0, 0x00,
0x82, 0x8A, 0x70, 0x00, 0x90, 0x03, 0x90, 0x8A, 0x70, 0x00, 0x90, 0x01, 0xF0, 0x00, 0x70, 0x00, 0x8F, 0xFB, 0x82, 0xBF, 0x70, 0x00, 0xF0, 0x00,
0xF0, 0x00, 0x01, 0x99, 0xD2, 0x80, 0xF0, 0x00, 0x0D, 0x9A, 0x60, 0x08, 0xF0, 0x00, 0x26, 0xC1, 0xF0, 0x00, 0xF0, 0x00, 0x00, 0x02, 0xA0, 0xB2,
0x90, 0x82, 0x70, 0x00, 0xF0, 0x00, 0x82, 0x8A, 0x70, 0x00, 0x90, 0x03, 0x90, 0x8A, 0x70, 0x00, 0x90, 0x01, 0xF0, 0x00, 0x70, 0x00, 0x8F, 0xFB,
0x82, 0x80, 0x70, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x70, 0x00, 0xD0, 0x08, 0xF0, 0x00, 0x0D, 0xAB, 0x60, 0x0D, 0xF0, 0x00, 0x3F, 0xFF, 0x60, 0x02,
0xF0, 0x00, 0x00, 0x51, 0xA0, 0xA9, 0xC2, 0x53, 0x70, 0x00, 0xF0, 0x00, 0x8E, 0xC4, 0x70, 0x00, 0x90, 0x01, 0xF0, 0x00, 0x70, 0x00, 0x97, 0xFC,
0xD4, 0x8F, 0x01, 0x99, 0xD2, 0x80, 0x40, 0x05, 0x0D, 0xA4, 0x60, 0x0D, 0x40, 0x17, 0x3F, 0xFF, 0x60, 0x02, 0x9F, 0x7D, 0x00, 0x51, 0xA0, 0xA2,
0xC2, 0x53, 0x70, 0x00, 0xF0, 0x00, 0x82, 0xC4, 0x27, 0x1C, 0xD1, 0x80, 0xF0, 0x00, 0x70, 0x00, 0x97, 0xFC, 0x91, 0x46, 0x27, 0x20, 0xD0, 0x80,
0x40, 0x07, 0x01, 0x99, 0xD2, 0x80, 0xF0, 0x00, 0x0D, 0x8E, 0x60, 0x0E, 0x40, 0x07, 0x25, 0xC1, 0xA0, 0x9B, 0x9E, 0x79, 0x2E, 0x40, 0x40, 0x14,
0x40, 0x36, 0x31, 0x67, 0x90, 0x19, 0x2F, 0x45, 0x19, 0x64, 0x60, 0x02, 0x4F, 0xF0, 0x1A, 0x5E, 0x60, 0x03, 0x83, 0x54, 0x40, 0x36, 0xF0, 0x00,
0x83, 0x5C, 0x40, 0x00, 0xE2, 0x00, 0xF0, 0x00, 0x40, 0x10, 0xE2, 0x00, 0xF0, 0x00, 0x70, 0x00, 0xF0, 0x00, 0x90, 0x00, 0x70, 0x00, 0xF0, 0x00,
0xF0, 0x00, 0x70, 0x00, 0x9C, 0x11, 0xF0, 0x00, 0x0D, 0xD8, 0x60, 0x0D, 0x40, 0x36, 0x22, 0xF0, 0xD2, 0x80, 0x0D, 0xB3, 0x60, 0x0D, 0xE6, 0x00,
0x40, 0x14, 0x21, 0x40, 0xF0, 0x00, 0xF0, 0x00, 0x20, 0x51, 0xA0, 0x8C, 0x90, 0x41, 0x70, 0x00, 0xF0, 0x00, 0x82, 0x45, 0x70, 0x00, 0x90, 0x1D,
0xF0, 0x00, 0x70, 0x00, 0x90, 0x01, 0xF0, 0x00, 0x70, 0xDC, 0x8F, 0xFB, 0x20, 0xD1, 0x3F, 0xFF, 0x60, 0x02, 0xF0, 0x00, 0x0C, 0xDF, 0x60, 0x0B,
0xC2, 0x53, 0x31, 0x61, 0xF0, 0x00, 0xD4, 0x8E, 0x30, 0x33, 0xF0, 0x00, 0xD4, 0x4A, 0x37, 0xC6, 0xF0, 0x00, 0xC6, 0xA2, 0x70, 0x00, 0xF0, 0x00,
0xC3, 0xA0, 0x3D, 0x42, 0xF0, 0x00, 0xF0, 0x00, 0x31, 0xE0, 0xD0, 0x08, 0xC6, 0x24, 0x31, 0xE0, 0xF0, 0x00, 0x90, 0x00, 0x3D, 0x44, 0xF0, 0x00,
0x83, 0xB6, 0x70, 0x00, 0xE0, 0x40, 0x40, 0xD5, 0x21, 0x41, 0xA0, 0x7C, 0xCC, 0x0B, 0x40, 0x00, 0xF0, 0x00, 0x80, 0xED, 0x23, 0xEA, 0xD2, 0x80,
0xBF, 0x60, 0x20, 0x60, 0xF0, 0x00, 0xF0, 0x00, 0x20, 0xE1, 0xF0, 0x00, 0xF0, 0x00, 0x23, 0xEA, 0xD2, 0x80, 0x90, 0xC6, 0x23, 0xDE, 0xD2, 0x80,
0x4F, 0x95, 0x40, 0x14, 0xA0, 0x75, 0x81, 0x75, 0x70, 0x00, 0xF0, 0x00, 0xAF, 0x43, 0x70, 0x00, 0xF0, 0x00, 0xC2, 0xE0, 0x70, 0x00, 0xF0, 0x00,
0x80, 0xC3, 0x0C, 0xDF, 0x60, 0x0B, 0xF0, 0x00, 0x33, 0x63, 0xF0, 0x00, 0xF0, 0x00, 0x34, 0xE3, 0xF0, 0x00, 0xF0, 0x00, 0x30, 0x33, 0xA0, 0x41,
0xF0, 0x00, 0x70, 0x00, 0x80, 0x12, 0x40, 0xD5, 0x21, 0x41, 0xA0, 0x6C, 0xCC, 0x0B, 0x40, 0x00, 0xF0, 0x00, 0x80, 0xED, 0x23, 0xEA, 0xD2, 0x80,
0xBF, 0x60, 0x20, 0x60, 0xF0, 0x00, 0xF0, 0x00, 0x20, 0xE1, 0xF0, 0x00, 0xF0, 0x00, 0x23, 0xEA, 0xD2, 0x80, 0x90, 0xC6, 0x23, 0xDE, 0xD2, 0x80,
0x4F, 0x95, 0x40, 0x14, 0xA0, 0x65, 0x81, 0x75, 0x70, 0x00, 0x40, 0x06, 0xAF, 0x43, 0x70, 0x00, 0xF0, 0x00, 0xC2, 0xE0, 0x0C, 0xDF, 0x60, 0x0B,
0xF0, 0x00, 0x31, 0xE0, 0xF0, 0x00, 0x80, 0xC3, 0x40, 0x36, 0xE6, 0x00, 0xC6, 0x24, 0x30, 0x33, 0xF0, 0x00, 0xF0, 0x00, 0x33, 0x63, 0xF0, 0x00,
0xF0, 0x00, 0x34, 0xE3, 0xF0, 0x00, 0xF0, 0x00, 0x3D, 0x44, 0xF0, 0x00, 0xF0, 0x00, 0x37, 0xC6, 0xA0, 0x2E, 0xF0, 0x00, 0x23, 0x66, 0xA0, 0x31,
0x82, 0x92, 0x0B, 0xB8, 0x60, 0x03, 0x47, 0xF4, 0x23, 0xE0, 0xD2, 0x80, 0x52, 0x08, 0x60, 0x05, 0x98, 0x03, 0x82, 0x92, 0x52, 0x08, 0x60, 0x03,
0x47, 0xF4, 0x23, 0xE0, 0xD2, 0x80, 0x52, 0x08, 0x60, 0x05, 0x98, 0x23, 0xF0, 0x00, 0x33, 0xE4, 0xF0, 0x00, 0xF0, 0x00, 0x34, 0x65, 0xF0, 0x00,
0xF0, 0x00, 0x35, 0x64, 0xF0, 0x00, 0xF0, 0x00, 0x35, 0xE5, 0xF0, 0x00, 0xF0, 0x00, 0x23, 0x66, 0xA0, 0x4F, 0x91, 0x8E, 0x70, 0x00, 0xF0, 0x00,
0xF0, 0x00, 0x33, 0x66, 0xA0, 0x24, 0x82, 0x92, 0x52, 0x08, 0x60, 0x03, 0xF0, 0x00, 0x23, 0xE0, 0xD2, 0x80, 0xF0, 0x00, 0x70, 0x00, 0x9C, 0x05,
0x82, 0x92, 0x0B, 0xB8, 0x60, 0x03, 0xF0, 0x00, 0x23, 0xE0, 0xD2, 0x80, 0xF0, 0x00, 0x70, 0x00, 0x9B, 0xF7, 0x0D, 0x94, 0x60, 0x0D, 0xA0, 0x2B,
0xF0, 0x00, 0x70, 0x00, 0x8F, 0xF5, 0xF0, 0x00, 0x24, 0xE6, 0xA0, 0x44, 0x9F, 0xBE, 0x70, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x34, 0xE6, 0xA0, 0x19,
0x82, 0x92, 0x52, 0x08, 0x60, 0x03, 0xF0, 0x00, 0x23, 0xE0, 0xD2, 0x80, 0xF0, 0x00, 0x70, 0x00, 0x9C, 0x05, 0x82, 0x92, 0x0B, 0xB8, 0x60, 0x03,
0xF0, 0x00, 0x23, 0xE0, 0xD2, 0x80, 0xF0, 0x00, 0x70, 0x00, 0x9B, 0xF7, 0x0D, 0x97, 0x60, 0x0D, 0xA0, 0x20, 0xF0, 0x00, 0x70, 0x00, 0x8F, 0xF5,
0x40, 0x14, 0x23, 0xE1, 0xA0, 0x39, 0xC2, 0x63, 0x25, 0x62, 0xF0, 0x00, 0xF0, 0x00, 0x24, 0x65, 0x90, 0x07, 0xC2, 0xA3, 0x25, 0xE6, 0xF0, 0x00,
0x90, 0x80, 0x70, 0x00, 0x90, 0x02, 0x83, 0x77, 0x70, 0x00, 0xF0, 0x00, 0x25, 0x60, 0x23, 0xE0, 0xEB, 0xC0, 0x0C, 0xDF, 0x60, 0x0B, 0xA0, 0x32,
0xF0, 0x00, 0x30, 0x30, 0xF0, 0x00, 0xF0, 0x00, 0x21, 0xE0, 0xD0, 0x08, 0xC2, 0xA3, 0x25, 0xE6, 0xF0, 0x00, 0xF0, 0x00, 0x70, 0x00, 0x93, 0xF9,
0x90, 0x40, 0x70, 0x00, 0x8F, 0xFA, 0xF0, 0x00, 0x21, 0xE0, 0xAF, 0x0F, 0xF0, 0x00, 0x24, 0x62, 0xD2, 0x80, 0xF0, 0x00, 0x32, 0x60, 0xF0, 0x00,
0xF0, 0x00, 0x32, 0xE1, 0xD0, 0x08, 0xF0, 0x00, 0x23, 0xED, 0xD2, 0x80, 0xB8, 0x68, 0x22, 0x60, 0xF0, 0x00, 0xF0, 0x00, 0x22, 0xE1, 0xF0, 0x00,
0xF0, 0x00, 0x23, 0xEA, 0xD2, 0x80, 0xF0, 0x00, 0x23, 0xDE, 0xD2, 0x80, 0xA9, 0x88, 0x70, 0x00, 0xF0, 0x00, 0xAB, 0xF8, 0x23, 0xE4, 0xD2, 0x80,
0x46, 0x43, 0x21, 0x42, 0xA0, 0x21, 0xA0, 0x98, 0x70, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x23, 0xE7, 0xD2, 0x80, 0xF0, 0x00, 0x23, 0xC6, 0xD2, 0x80,
0x90, 0x00, 0x70, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x70, 0x00, 0xDC, 0x09, 0xF0, 0x00, 0x23, 0xCE, 0xD0, 0x80, 0x47, 0xE5, 0x70, 0x00, 0xF0, 0x00,
0x40, 0x16, 0x20, 0xD3, 0xA0, 0x19, 0x83, 0x5D, 0x20, 0x52, 0xF0, 0x00, 0xC2, 0xF5, 0x21, 0x54, 0x98, 0x07, 0xC2, 0xB6, 0x70, 0x00, 0x90, 0x02,
0xF0, 0x00, 0x70, 0x00, 0x90, 0x05, 0xF0, 0x00, 0x70, 0x00, 0x80, 0x02, 0xC2, 0xB6, 0x70, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x70, 0x00, 0xD4, 0x09,
0x82, 0x64, 0x70, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x70, 0x00, 0xDC, 0x09, 0xF0, 0x00, 0x31, 0x51, 0xF0, 0x00, 0xF0, 0x00, 0x30, 0xD2, 0xD0, 0x08,
0x0D, 0xEF, 0x60, 0x0B, 0xA0, 0x0D, 0x9E, 0x79, 0x20, 0x36, 0xF0, 0x00, 0xF0, 0x00, 0x20, 0x45, 0xF0, 0x00, 0x9F, 0xBC, 0x70, 0x00, 0xE0, 0x40,
0x91, 0x45, 0x70, 0x00, 0xD0, 0x09, 0x26, 0x44, 0x27, 0x2D, 0xD5, 0x80, 0x91, 0x86, 0x70, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x27, 0x32, 0xD5, 0x80,
0xF0, 0x00, 0x70, 0x00, 0xAF, 0x67, 0x2F, 0x41, 0x27, 0x36, 0xD0, 0x80, 0xF0, 0x00, 0x29, 0x15, 0xD2, 0x80, 0xF0, 0x00, 0x3B, 0x9B, 0xD2, 0x80,
0xF0, 0x00, 0x28, 0x88, 0xD0, 0x80, 0xF0, 0x00, 0x28, 0xDD, 0xD0, 0x80, 0xF0, 0x00, 0x70, 0x00, 0xD0, 0x08, 0xF0, 0x00, 0x16, 0xC3, 0x60, 0x08,
0xF0, 0x00, 0x00, 0x9A, 0x60, 0x00, 0xF0, 0x00, 0x02, 0xE3, 0x60, 0x00, 0x10, 0x00, 0x04, 0xF4, 0x60, 0x00, 0x10, 0x00, 0x06, 0xFF, 0x60, 0x00,
0x10, 0x00, 0x09, 0x07, 0x60, 0x00, 0x10, 0x00, 0x0B, 0x10, 0x60, 0x00, 0x10, 0x00, 0x0D, 0x1F, 0x60, 0x00, 0x10, 0x00, 0x0F, 0x65, 0x60, 0x00,
0x10, 0x00, 0x0F, 0x65, 0x60, 0x00, 0x10, 0x00, 0x0D, 0x1F, 0x60, 0x00, 0x10, 0x00, 0x0B, 0x10, 0x60, 0x00, 0x10, 0x00, 0x09, 0x07, 0x60, 0x00,
0x10, 0x00, 0x06, 0xFF, 0x60, 0x00, 0x10, 0x00, 0x04, 0xF4, 0x60, 0x00, 0x10, 0x00, 0x02, 0xE3, 0x60, 0x00, 0x10, 0x00, 0x00, 0x9A, 0x60, 0x00,
0xF0, 0x00, 0x10, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x10, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x16, 0xD3, 0x60, 0x08, 0xF0, 0x00, 0xFF, 0x93, 0x60, 0x00,
0xF0, 0x00, 0xFE, 0x37, 0x60, 0x00, 0x10, 0x00, 0xFD, 0xD9, 0x60, 0x00, 0x10, 0x00, 0xFE, 0x9F, 0x60, 0x00, 0x10, 0x00, 0x03, 0x85, 0x60, 0x00,
0x10, 0x00, 0x0D, 0x6B, 0x60, 0x00, 0x10, 0x00, 0x16, 0x84, 0x60, 0x00, 0x10, 0x00, 0x1E, 0x49, 0x60, 0x00, 0x10, 0x00, 0x1E, 0x49, 0x60, 0x00,
0x10, 0x00, 0x16, 0x84, 0x60, 0x00, 0x10, 0x00, 0x0D, 0x6B, 0x60, 0x00, 0x10, 0x00, 0x03, 0x85, 0x60, 0x00, 0x10, 0x00, 0xFE, 0x9F, 0x60, 0x00,
0x10, 0x00, 0xFD, 0xD9, 0x60, 0x00, 0x10, 0x00, 0xFE, 0x37, 0x60, 0x00, 0x10, 0x00, 0xFF, 0x93, 0x60, 0x00, 0xF0, 0x00, 0x10, 0x00, 0xF0, 0x00,
0xF0, 0x00, 0x10, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x16, 0xE3, 0x60, 0x08, 0xF0, 0x00, 0x00, 0x64, 0x60, 0x00, 0xF0, 0x00, 0xFF, 0xA8, 0x60, 0x00,
0x10, 0x00, 0xFF, 0xA6, 0x60, 0x00, 0x10, 0x00, 0xFF, 0xDF, 0x60, 0x00, 0x10, 0x00, 0x00, 0x01, 0x60, 0x00, 0x10, 0x00, 0x01, 0x28, 0x60, 0x00,
0x10, 0x00, 0x01, 0x2F, 0x60, 0x00, 0x10, 0x00, 0xFD, 0x23, 0x60, 0x00, 0x10, 0x00, 0xFD, 0xA1, 0x60, 0x00, 0x10, 0x00, 0x03, 0x89, 0x60, 0x00,
0x10, 0x00, 0x02, 0x54, 0x60, 0x00, 0x10, 0x00, 0xFE, 0x7D, 0x60, 0x00, 0x10, 0x00, 0x00, 0x8C, 0x60, 0x00, 0x10, 0x00, 0xFB, 0xE1, 0x60, 0x00,
0x10, 0x00, 0xF9, 0x42, 0x60, 0x00, 0x10, 0x00, 0x0C, 0x47, 0x60, 0x00, 0x10, 0x00, 0x0E, 0xA2, 0x60, 0x00, 0x10, 0x00, 0xEC, 0x43, 0x60, 0x00,
0x10, 0x00, 0xEA, 0xCE, 0x60, 0x00, 0x10, 0x00, 0x17, 0x46, 0x60, 0x00, 0x10, 0x00, 0x17, 0x46, 0x60, 0x00, 0x10, 0x00, 0xEA, 0xCE, 0x60, 0x00,
0x10, 0x00, 0xEC, 0x43, 0x60, 0x00, 0x10, 0x00, 0x0E, 0xA2, 0x60, 0x00, 0x10, 0x00, 0x0C, 0x47, 0x60, 0x00, 0x10, 0x00, 0xF9, 0x42, 0x60, 0x00,
0x10, 0x00, 0xFB, 0xE1, 0x60, 0x00, 0x10, 0x00, 0x00, 0x8C, 0x60, 0x00, 0x10, 0x00, 0xFE, 0x7D, 0x60, 0x00, 0x10, 0x00, 0x02, 0x54, 0x60, 0x00,
0x10, 0x00, 0x03, 0x89, 0x60, 0x00, 0x10, 0x00, 0xFD, 0xA1, 0x60, 0x00, 0x10, 0x00, 0xFD, 0x23, 0x60, 0x00, 0x10, 0x00, 0x01, 0x2F, 0x60, 0x00,
0x10, 0x00, 0x01, 0x28, 0x60, 0x00, 0x10, 0x00, 0x00, 0x01, 0x60, 0x00, 0x10, 0x00, 0xFF, 0xDF, 0x60, 0x00, 0x10, 0x00, 0xFF, 0xA6, 0x60, 0x00,
0x10, 0x00, 0xFF, 0xA8, 0x60, 0x00, 0x10, 0x00, 0x00, 0x64, 0x60, 0x00, 0xF0, 0x00, 0x10, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x10, 0x00, 0xF0, 0x00,
0xF0, 0x00, 0x17, 0x0B, 0x60, 0x08, 0xF0, 0x00, 0x00, 0x03, 0x60, 0x00, 0xF0, 0x00, 0x54, 0xC0, 0x60, 0x00, 0x10, 0x00, 0x00, 0x05, 0x60, 0x00,
0x10, 0x00, 0x00, 0x05, 0x60, 0x00, 0x10, 0x00, 0x00, 0x0F, 0x60, 0x00, 0x10, 0x00, 0x00, 0x0F, 0x60, 0x00, 0x10, 0x00, 0x09, 0xC0, 0x60, 0x00,
0x10, 0x00, 0x0A, 0x20, 0x60, 0x00, 0x10, 0x00, 0x1D, 0x40, 0x60, 0x00, 0x10, 0x00, 0x1E, 0x60, 0x60, 0x00, 0xF0, 0x00, 0x10, 0x00, 0xF0, 0x00,
0xF0, 0x00, 0x10, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x70, 0x00, 0xD0, 0x08
};
const size_t PatchSize102 = sizeof(PatchByteValues102);
const unsigned char * pPatchBytes102 = &PatchByteValues102[0];
extern const size_t LutSize102;
extern const unsigned char * pLutBytes102;
static const unsigned char LutByteValues102[] PROGMEM = {
0x40, 0x13, 0x40, 0x2F, 0x41, 0x68, 0x41, 0xC1,
0x42, 0x14, 0x42, 0xA6, 0x44, 0xDE, 0x44, 0xE9,
0x45, 0xFB, 0x46, 0x11, 0x47, 0xC5, 0x47, 0xFC,
0x4D, 0x5D, 0x4E, 0x56, 0x4E, 0x58, 0x4E, 0x5B,
0x4D, 0x83, 0x4E, 0x0A, 0x4E, 0x0B, 0x4E, 0x49,
0x4E, 0x53, 0x4F, 0x92, 0x4F, 0xEA, 0x50, 0x41,
0x50, 0x74, 0x50, 0x80, 0x55, 0x31, 0x56, 0x60,
0x56, 0xD4, 0x56, 0xD9, 0x58, 0x29, 0x59, 0xB4,
0x5A, 0x3A, 0x5B, 0x79, 0x5B, 0xA2, 0x5B, 0xEF,
0x5D, 0xDC, 0x60, 0x3A, 0x60, 0x88, 0x60, 0xA8,
0x61, 0x9F, 0x61, 0xB6, 0x61, 0xDF, 0x61, 0xF5,
0x62, 0x14, 0x62, 0x59, 0x62, 0x9B, 0x62, 0xA1,
0x63, 0x69, 0x64, 0x3B, 0x66, 0x09, 0x66, 0xE7,
0x67, 0x0B, 0x67, 0x1A, 0x67, 0x29, 0x68, 0x87,
0x68, 0x99, 0x68, 0xA7, 0x68, 0xB2
};
const size_t LutSize102 = sizeof(LutByteValues102);
const unsigned char *pLutBytes102 = &LutByteValues102[0];
+261
View File
@@ -0,0 +1,261 @@
extern const size_t PatchSize205;
extern const unsigned char *pPatchBytes205;
static const unsigned char PatchByteValues205[] PROGMEM = {
0xF0, 0x00, 0x60, 0x40, 0xD0, 0x80, 0x20, 0x87, 0x60, 0x4C, 0xD0, 0x80, 0x90, 0x00, 0x60, 0x4E, 0xD0, 0x80, 0x22, 0x02, 0x00, 0x55, 0x60, 0x04,
0xF0, 0x00, 0x60, 0x65, 0xDF, 0x80, 0xF0, 0x00, 0x05, 0xBA, 0x60, 0x0E, 0x20, 0x90, 0x60, 0x9B, 0xD0, 0x80, 0x31, 0x40, 0x60, 0x9F, 0xD0, 0x80,
0x9E, 0xB9, 0x60, 0xAD, 0xD0, 0x80, 0xF0, 0x00, 0x60, 0xAF, 0xD0, 0x80, 0x20, 0x15, 0x60, 0xB3, 0xD2, 0x80, 0xF0, 0x00, 0x60, 0xCE, 0xD0, 0x80,
0x90, 0x01, 0x60, 0xD3, 0xD0, 0x80, 0x91, 0x01, 0x60, 0xD4, 0xD0, 0x80, 0xF0, 0x00, 0x60, 0xD5, 0xD0, 0x80, 0xA2, 0x64, 0x70, 0x00, 0xF0, 0x00,
0x31, 0xA0, 0x61, 0x06, 0xD0, 0x80, 0x40, 0x57, 0x61, 0x2B, 0xD0, 0x80, 0x22, 0x04, 0x61, 0x30, 0xD0, 0x80, 0x20, 0x13, 0x63, 0x7D, 0xD0, 0x80,
0xF0, 0x00, 0x61, 0x52, 0xD0, 0x80, 0xF0, 0x00, 0x61, 0x60, 0xD2, 0x80, 0xF0, 0x00, 0x61, 0x6C, 0xD0, 0x80, 0x4F, 0xD0, 0x61, 0x69, 0xD1, 0x80,
0x9E, 0x73, 0x61, 0xA2, 0xD0, 0x80, 0xF0, 0x00, 0x61, 0xAD, 0xD0, 0x80, 0xF0, 0x00, 0x61, 0xB5, 0xD0, 0x80, 0xF0, 0x00, 0x61, 0xCA, 0xD0, 0x80,
0x2C, 0x87, 0x61, 0xD6, 0xD0, 0x80, 0xF0, 0x00, 0x61, 0xDA, 0xD0, 0x80, 0xF0, 0x00, 0x61, 0xDD, 0xD2, 0x80, 0xF0, 0x00, 0x70, 0x00, 0xF0, 0x00,
0xF0, 0x00, 0x62, 0x0D, 0xD2, 0x80, 0x57, 0xF2, 0x62, 0x0F, 0xD5, 0x80, 0xA8, 0x80, 0x70, 0x00, 0xF0, 0x00, 0x90, 0x08, 0x20, 0x55, 0xE1, 0xC0,
0xF0, 0x00, 0x62, 0x18, 0xD0, 0x80, 0xF0, 0x00, 0x62, 0x1F, 0xD2, 0x80, 0x4F, 0xA0, 0x61, 0x69, 0xD2, 0x80, 0x4F, 0xC0, 0x61, 0x69, 0xD2, 0x80,
0xF0, 0x00, 0x62, 0x32, 0xD2, 0x80, 0x9A, 0x0A, 0x62, 0x33, 0xD0, 0x80, 0x50, 0x14, 0x62, 0x3A, 0xD2, 0x80, 0xF0, 0x00, 0x62, 0x3D, 0xD0, 0x80,
0xF0, 0x00, 0x62, 0x42, 0xD0, 0x80, 0x41, 0x20, 0x14, 0xF6, 0xD2, 0x80, 0xF0, 0x00, 0x62, 0xB4, 0xD0, 0x80, 0xF0, 0x00, 0x62, 0xC4, 0xD0, 0x80,
0xF0, 0x00, 0x62, 0xCD, 0xD0, 0x80, 0xF0, 0x00, 0x62, 0xEA, 0xD0, 0x80, 0xF0, 0x00, 0x62, 0xF0, 0xD0, 0x80, 0xF0, 0x00, 0x62, 0xF2, 0xD2, 0x80,
0x40, 0x11, 0x62, 0xFC, 0xD0, 0x80, 0xF0, 0x00, 0x63, 0x0E, 0xD0, 0x80, 0xF0, 0x00, 0x63, 0x10, 0xD0, 0x80, 0x2D, 0xC5, 0x18, 0xFF, 0x60, 0x06,
0x21, 0xC6, 0x63, 0x3B, 0xD0, 0x80, 0xF0, 0x00, 0x63, 0x43, 0xD0, 0x80, 0xF0, 0x00, 0x63, 0x45, 0xD0, 0x80, 0x82, 0x09, 0x0D, 0xA4, 0x60, 0x0D,
0xF0, 0x00, 0x63, 0x57, 0xD2, 0x80, 0xF0, 0x00, 0x63, 0x57, 0xD2, 0x80, 0xF0, 0x00, 0x63, 0x56, 0xD5, 0x80, 0xF0, 0x00, 0x63, 0x7F, 0xD2, 0x80,
0x82, 0x00, 0x70, 0x00, 0xA0, 0x12, 0x82, 0x00, 0x70, 0x00, 0xA0, 0x4E, 0x82, 0x00, 0x70, 0x00, 0xA0, 0xAC, 0x82, 0x00, 0x70, 0x00, 0xA1, 0x04,
0x82, 0x00, 0x70, 0x00, 0xA1, 0xAC, 0x82, 0x00, 0x70, 0x00, 0xA3, 0x37, 0x82, 0x00, 0x70, 0x00, 0xA1, 0xE7, 0x82, 0x00, 0x70, 0x00, 0xA2, 0x0F,
0x82, 0x00, 0x70, 0x00, 0xA2, 0x26, 0x82, 0x00, 0x70, 0x00, 0xA2, 0xC8, 0x82, 0x00, 0x70, 0x00, 0xA3, 0x32, 0xF0, 0x00, 0x27, 0xAA, 0xD0, 0x80,
0xF0, 0x00, 0x01, 0xA9, 0xD5, 0x80, 0x8C, 0x79, 0x00, 0x46, 0xD0, 0x80, 0xF0, 0x00, 0x70, 0x00, 0xD4, 0x09, 0xF0, 0x00, 0x00, 0x97, 0xD0, 0x80,
0x40, 0x11, 0x0E, 0x72, 0x60, 0x09, 0xD0, 0x7F, 0x70, 0x00, 0xF0, 0x00, 0xC5, 0xC9, 0x01, 0xB6, 0xD0, 0x80, 0x05, 0x44, 0x60, 0x08, 0xA3, 0x29,
0x30, 0x80, 0x05, 0x78, 0x60, 0x00, 0x06, 0x1A, 0x60, 0x08, 0xA3, 0x28, 0xF0, 0x00, 0x6F, 0x3F, 0x60, 0x00, 0x05, 0x76, 0x60, 0x08, 0xA3, 0x26,
0xF0, 0x00, 0x1C, 0x17, 0x60, 0x00, 0x05, 0x77, 0x60, 0x08, 0x83, 0x24, 0xF0, 0x00, 0x07, 0x69, 0x60, 0x08, 0xF0, 0x00, 0x05, 0x19, 0x60, 0x09,
0xF0, 0x00, 0x20, 0x00, 0xF0, 0x00, 0x26, 0x92, 0x54, 0xA3, 0x60, 0x01, 0xA2, 0x00, 0x70, 0x00, 0xF0, 0x00, 0xA2, 0x08, 0x70, 0x00, 0xF0, 0x00,
0xA2, 0x10, 0x70, 0x00, 0xF0, 0x00, 0xD8, 0x40, 0x70, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x34, 0x90, 0xF0, 0x00, 0xF0, 0x00, 0x35, 0x90, 0xF0, 0x00,
0xF0, 0x00, 0x36, 0x90, 0xD0, 0x08, 0x40, 0x15, 0x20, 0x53, 0xA3, 0x17, 0xA0, 0xE8, 0x58, 0x06, 0xA3, 0x16, 0xA0, 0x72, 0x20, 0x64, 0xF0, 0x00,
0xA8, 0x61, 0x70, 0x00, 0xF0, 0x00, 0xA1, 0x28, 0x70, 0x00, 0xF0, 0x00, 0xA0, 0xB2, 0x70, 0x00, 0xF0, 0x00, 0xA8, 0x62, 0x70, 0x00, 0xD0, 0x08,
0x05, 0x79, 0x60, 0x08, 0x83, 0x11, 0xF0, 0x00, 0x10, 0x68, 0x60, 0x01, 0xF0, 0x00, 0x60, 0x03, 0x80, 0x02, 0xF0, 0x00, 0x08, 0x34, 0x60, 0x01,
0xF8, 0x00, 0x60, 0x03, 0x80, 0x00, 0x18, 0x31, 0x60, 0x08, 0xA3, 0x0B, 0xF0, 0x00, 0x30, 0x01, 0xF0, 0x00, 0xF0, 0x00, 0x31, 0x03, 0xD0, 0x08,
0x06, 0x1A, 0x60, 0x08, 0xF0, 0x00, 0x06, 0x3B, 0x60, 0x09, 0x80, 0x00, 0xF0, 0x00, 0x0F, 0x84, 0xD2, 0x80, 0x83, 0xFF, 0x7F, 0xFF, 0x60, 0x06,
0x32, 0x90, 0x03, 0xE8, 0x60, 0x00, 0x33, 0x11, 0x07, 0x63, 0x60, 0x0A, 0x80, 0x99, 0x70, 0x00, 0xF0, 0x00, 0x8E, 0x08, 0x31, 0x22, 0xF0, 0x00,
0x90, 0xC0, 0x70, 0x00, 0x90, 0x0B, 0x83, 0x6D, 0x70, 0x00, 0xA0, 0xAF, 0x90, 0x04, 0x0F, 0xC1, 0xD2, 0x80, 0x32, 0x00, 0x03, 0xE8, 0x60, 0x00,
0x32, 0x81, 0x70, 0x00, 0xA0, 0xAC, 0x90, 0x04, 0x21, 0x20, 0xF0, 0x00, 0x31, 0x84, 0x70, 0x00, 0xA0, 0xAA, 0xF0, 0x00, 0x22, 0x87, 0xF0, 0x00,
0xB0, 0x03, 0x22, 0x06, 0xF0, 0x00, 0xB1, 0xC2, 0x31, 0x00, 0xF0, 0x00, 0xBF, 0x8A, 0x70, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x33, 0x02, 0xD0, 0x08,
0x80, 0x98, 0x70, 0x00, 0xA0, 0xA4, 0x90, 0x04, 0x31, 0x80, 0xF0, 0x00, 0x90, 0x80, 0x70, 0x00, 0xA0, 0xA2, 0x90, 0x05, 0x31, 0x00, 0xF0, 0x00,
0x90, 0x05, 0x0F, 0xC1, 0xD2, 0x80, 0xF0, 0x00, 0x32, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x32, 0x81, 0xF0, 0x00, 0xF0, 0x00, 0x33, 0x02, 0xD0, 0x08,
0xF0, 0x00, 0x1D, 0x10, 0x60, 0x09, 0x40, 0x11, 0x7F, 0xFF, 0x60, 0x02, 0x30, 0x10, 0x00, 0x82, 0x60, 0x03, 0xF0, 0x00, 0x30, 0x92, 0xF0, 0x00,
0xF0, 0x00, 0x31, 0x11, 0xF0, 0x00, 0xF0, 0x00, 0x31, 0x90, 0xF0, 0x00, 0xF0, 0x00, 0x32, 0x12, 0xF0, 0x00, 0xF0, 0x00, 0x32, 0x90, 0xF0, 0x00,
0xF0, 0x00, 0x33, 0x13, 0xF0, 0x00, 0x1D, 0x0F, 0x60, 0x08, 0xA2, 0xE4, 0xF0, 0x00, 0x70, 0x00, 0x82, 0xE2, 0x9A, 0x62, 0x1D, 0x0F, 0x60, 0x0A,
0x82, 0x92, 0x70, 0x00, 0x94, 0x01, 0x90, 0x8A, 0x00, 0x00, 0x60, 0x01, 0x30, 0x22, 0x08, 0x0C, 0xD0, 0x80, 0xF0, 0x00, 0x09, 0x44, 0xD2, 0x80,
0xF0, 0x00, 0x07, 0xFD, 0xD2, 0x80, 0xF0, 0x00, 0x08, 0x11, 0xD0, 0x80, 0xF0, 0x00, 0x18, 0x72, 0x60, 0x08, 0xF0, 0x00, 0x1D, 0x0F, 0x60, 0x09,
0xF0, 0x00, 0x2D, 0x80, 0xA2, 0xD8, 0x9A, 0x02, 0x20, 0x11, 0xF0, 0x00, 0x90, 0x8A, 0x70, 0x00, 0xD0, 0x09, 0x90, 0x41, 0x70, 0x00, 0xD0, 0x08,
0x18, 0x72, 0x60, 0x08, 0xA2, 0xD4, 0xF0, 0x00, 0x2D, 0x80, 0xA2, 0xD3, 0x98, 0x00, 0x70, 0x00, 0xF0, 0x00, 0x90, 0x08, 0x70, 0x00, 0xD0, 0x09,
0x82, 0x00, 0x70, 0x00, 0xD0, 0x08, 0x90, 0xC1, 0x08, 0xEC, 0xD1, 0x80, 0xF0, 0x00, 0x08, 0xDC, 0xD0, 0x80, 0xF0, 0x00, 0x1D, 0x0F, 0x60, 0x0A,
0xF0, 0x00, 0x70, 0x00, 0xF0, 0x00, 0x20, 0x23, 0x70, 0x00, 0xA2, 0xCB, 0x80, 0x59, 0x09, 0x49, 0xD0, 0x80, 0x1D, 0x10, 0x60, 0x0E, 0xA2, 0xC9,
0x22, 0x61, 0x7F, 0xFF, 0x60, 0x07, 0xF0, 0x00, 0x21, 0xE0, 0xF0, 0x00, 0x82, 0x7C, 0x70, 0x00, 0xF0, 0x00, 0x90, 0x00, 0x22, 0xE4, 0xE0, 0x40,
0x90, 0x00, 0x70, 0x00, 0xD0, 0x09, 0x9F, 0x3C, 0x70, 0x00, 0x98, 0x06, 0x83, 0x24, 0x70, 0x00, 0xE1, 0x40, 0xF0, 0x00, 0x32, 0xE4, 0x94, 0x03,
0x80, 0x41, 0x70, 0x00, 0xF0, 0x00, 0x91, 0xC1, 0x40, 0x00, 0xEB, 0x40, 0xA2, 0x8A, 0x32, 0x61, 0x80, 0x04, 0xA2, 0x8A, 0x32, 0x61, 0x80, 0x03,
0x80, 0x41, 0x70, 0x00, 0xF0, 0x00, 0x82, 0x49, 0x40, 0x00, 0xEB, 0x40, 0xA2, 0x8A, 0x32, 0x61, 0x80, 0x00, 0xA2, 0xCB, 0x31, 0xE0, 0xD0, 0x08,
0x03, 0x13, 0x60, 0x06, 0x80, 0x01, 0xFC, 0xED, 0x60, 0x06, 0x80, 0x00, 0x1D, 0x10, 0x60, 0x0E, 0xA2, 0xB6, 0xF0, 0x00, 0x30, 0x66, 0xD0, 0x08,
0x03, 0x13, 0x60, 0x06, 0x80, 0x01, 0xFC, 0xED, 0x60, 0x06, 0x80, 0x00, 0x1D, 0x10, 0x60, 0x0E, 0xA2, 0xB2, 0xF0, 0x00, 0x31, 0xE6, 0xF0, 0x00,
0xF0, 0x00, 0x23, 0x66, 0xA2, 0xB0, 0xF0, 0x00, 0x32, 0xE6, 0xD0, 0x08, 0x1D, 0x0F, 0x60, 0x0B, 0xA2, 0xAE, 0xF0, 0x00, 0x20, 0x37, 0xA2, 0xAD,
0x91, 0xC7, 0x21, 0x91, 0xF0, 0x00, 0x90, 0xC3, 0x0B, 0x0B, 0xD1, 0x80, 0x82, 0x49, 0x0B, 0x14, 0xD0, 0x80, 0x31, 0x91, 0x0B, 0x14, 0xD0, 0x80,
0x31, 0x91, 0x0B, 0x14, 0xD0, 0x80, 0x1D, 0x10, 0x60, 0x0D, 0xA2, 0xA7, 0xF0, 0x00, 0x21, 0x57, 0xA2, 0xA6, 0x91, 0xC7, 0x31, 0x50, 0xF0, 0x00,
0x90, 0x00, 0x70, 0x00, 0x94, 0x02, 0xF0, 0x00, 0x70, 0x00, 0x90, 0x01, 0xF0, 0x00, 0x70, 0x00, 0xAF, 0xE9, 0xF0, 0x00, 0x7F, 0xFF, 0x60, 0x04,
0x82, 0x00, 0x20, 0x57, 0xA2, 0xA0, 0x91, 0xC7, 0x20, 0xD3, 0xA2, 0x9F, 0x80, 0xFB, 0x70, 0x00, 0x90, 0x06, 0x82, 0xE2, 0x30, 0xD3, 0x98, 0x01,
0xF0, 0x00, 0x70, 0x00, 0x98, 0x04, 0x91, 0xC7, 0x30, 0x50, 0xF0, 0x00, 0x91, 0x00, 0x70, 0x00, 0xE1, 0xC0, 0x30, 0xD0, 0x70, 0x00, 0xF0, 0x00,
0x90, 0x03, 0x70, 0x00, 0xF0, 0x00, 0xA2, 0xED, 0x70, 0x00, 0xF0, 0x00, 0xA2, 0xF6, 0x31, 0x05, 0xF0, 0x00, 0xF0, 0x00, 0x0B, 0x22, 0xD0, 0x80,
0xF0, 0x00, 0x0B, 0xFD, 0xD2, 0x80, 0xF0, 0x00, 0x70, 0x00, 0x98, 0xD9, 0xF0, 0x00, 0x70, 0x00, 0x80, 0xDB, 0xF0, 0x00, 0x2D, 0xBB, 0xD0, 0x80,
0xF0, 0x00, 0x70, 0x00, 0x81, 0x08, 0xF0, 0x00, 0x70, 0x00, 0x81, 0x0B, 0xF0, 0x00, 0x70, 0x00, 0x8F, 0x85, 0x83, 0xFF, 0x1D, 0x17, 0x60, 0x08,
0xF0, 0x00, 0x1D, 0x19, 0x60, 0x09, 0x10, 0x07, 0x00, 0x00, 0x60, 0x02, 0x10, 0x07, 0x01, 0xF4, 0x60, 0x03, 0x10, 0x12, 0x03, 0xE8, 0x60, 0x04,
0x10, 0x13, 0x00, 0x00, 0x60, 0x05, 0x10, 0x14, 0x00, 0x3C, 0x60, 0x06, 0x10, 0x15, 0x00, 0x00, 0x60, 0x07, 0x10, 0x16, 0x01, 0xF4, 0x60, 0x00,
0x10, 0x17, 0x03, 0xE8, 0x60, 0x01, 0x10, 0x10, 0x00, 0x00, 0x60, 0x00, 0x10, 0x11, 0x00, 0x3C, 0x60, 0x01, 0x10, 0x10, 0x00, 0x00, 0x60, 0x02,
0x10, 0x11, 0x00, 0x64, 0x60, 0x03, 0x10, 0x12, 0x00, 0xC8, 0x60, 0x04, 0x10, 0x13, 0x70, 0x00, 0xF0, 0x00, 0x10, 0x14, 0x70, 0x00, 0xA2, 0x7D,
0xF0, 0x00, 0x70, 0x00, 0xA0, 0x20, 0xF0, 0x00, 0x70, 0x00, 0x80, 0x25, 0xF0, 0x00, 0x1D, 0x17, 0x60, 0x06, 0xF0, 0x00, 0x0C, 0xFC, 0xD0, 0x80,
0xF0, 0x00, 0x1D, 0x17, 0x60, 0x06, 0xF0, 0x00, 0x0C, 0xFF, 0xD0, 0x80, 0x2F, 0xA0, 0x17, 0x8D, 0x60, 0x09, 0x20, 0x21, 0x1D, 0x17, 0x60, 0x06,
0xD2, 0x02, 0x00, 0x13, 0x4F, 0xF0, 0xC4, 0x8A, 0x70, 0x00, 0xF0, 0x00, 0x90, 0xC3, 0x40, 0x05, 0xF0, 0x00, 0x82, 0xD3, 0x00, 0x13, 0x90, 0x13,
0x90, 0x08, 0x70, 0x00, 0x97, 0xFD, 0xF0, 0x00, 0x2E, 0x24, 0x40, 0x15, 0x32, 0x20, 0x60, 0xEB, 0x60, 0x07, 0x32, 0xA5, 0x0C, 0xFA, 0xD2, 0x80,
0x90, 0x03, 0x0C, 0xA8, 0xD5, 0x80, 0xD0, 0x98, 0x17, 0x92, 0x60, 0x06, 0x80, 0x20, 0x0C, 0xFA, 0xD2, 0x80, 0x90, 0xC0, 0x0C, 0xCE, 0xD1, 0x80,
0xF0, 0x00, 0x0D, 0x92, 0x60, 0x09, 0xD0, 0x42, 0x17, 0x93, 0x60, 0x06, 0x20, 0x21, 0x00, 0x7F, 0x60, 0x03, 0x81, 0x96, 0x70, 0x00, 0xF0, 0x00,
0x82, 0x5B, 0x30, 0x16, 0x77, 0x0C, 0x82, 0xDB, 0x0C, 0x7F, 0xDD, 0x80, 0xC0, 0x51, 0x20, 0x19, 0xA2, 0x62, 0x20, 0x12, 0x70, 0x00, 0xF0, 0x00,
0x20, 0x98, 0x70, 0x00, 0xF0, 0x00, 0x20, 0x99, 0x0D, 0x23, 0xD2, 0x80, 0xF0, 0x00, 0x0C, 0x7F, 0xD0, 0x80, 0x21, 0xA0, 0x0E, 0xD3, 0x60, 0x01,
0x32, 0xA5, 0x0C, 0x70, 0xD0, 0x80, 0xF0, 0x00, 0x61, 0x23, 0x60, 0x00, 0x19, 0x22, 0x60, 0x08, 0x82, 0x5B, 0x9C, 0x48, 0x70, 0x00, 0xF0, 0x00,
0xF0, 0x00, 0x0D, 0x34, 0xD5, 0x80, 0xF0, 0x00, 0x70, 0x00, 0xA1, 0xD1, 0xF0, 0x00, 0x70, 0x00, 0x80, 0xEE, 0xF0, 0x00, 0x05, 0x0C, 0x60, 0x00,
0x07, 0xE9, 0x60, 0x08, 0xA2, 0x55, 0xF0, 0x00, 0x00, 0x6B, 0x60, 0x00, 0x07, 0xE8, 0x60, 0x08, 0x82, 0x53, 0xF0, 0x00, 0x0F, 0x94, 0xD2, 0x80,
0x88, 0x00, 0x70, 0x00, 0xD0, 0x08, 0x51, 0xEC, 0x60, 0x01, 0xA2, 0x4F, 0xA0, 0x08, 0x70, 0x00, 0xF0, 0x00, 0xAB, 0xE0, 0x70, 0x00, 0xD0, 0x08,
0xF0, 0x00, 0x21, 0x83, 0xF0, 0x00, 0x91, 0x04, 0x70, 0x00, 0xF0, 0x00, 0x88, 0x24, 0x5F, 0x86, 0xEF, 0xC0, 0x82, 0x08, 0x0F, 0xF8, 0xD0, 0x80,
0xF0, 0x00, 0x0D, 0x9A, 0x60, 0x0C, 0xF0, 0x00, 0x08, 0x2E, 0x60, 0x0F, 0xF0, 0x00, 0x20, 0x48, 0x40, 0x17, 0xF0, 0x00, 0x20, 0xC9, 0x58, 0x06,
0xF0, 0x00, 0x21, 0xCA, 0xF0, 0x00, 0xF0, 0x00, 0x22, 0x4B, 0xF0, 0x00, 0xF0, 0x00, 0x20, 0x11, 0xF0, 0x00, 0xF0, 0x00, 0x20, 0x00, 0xF0, 0x00,
0xA1, 0xC8, 0x21, 0x42, 0xF0, 0x00, 0xA1, 0x82, 0x20, 0x33, 0xF0, 0x00, 0xAE, 0x88, 0x20, 0x22, 0xF0, 0x00, 0xA1, 0xD8, 0x22, 0xC4, 0xF0, 0x00,
0xA1, 0x92, 0x61, 0x34, 0x60, 0x07, 0xAF, 0x0B, 0x33, 0x40, 0xF0, 0x00, 0xF0, 0x00, 0x33, 0xC3, 0xF0, 0x00, 0xF0, 0x00, 0x30, 0x77, 0xD0, 0x08,
0x00, 0x6E, 0x60, 0x0C, 0xA2, 0x38, 0xF0, 0x00, 0x21, 0x47, 0xA2, 0x37, 0xC3, 0xC7, 0x70, 0x00, 0xD0, 0x08, 0xF0, 0x00, 0x14, 0xD7, 0xD0, 0x80,
0x44, 0xD0, 0x1D, 0x26, 0x60, 0x08, 0xF0, 0x00, 0x45, 0xF2, 0x45, 0x51, 0x30, 0x00, 0x46, 0x93, 0xF0, 0x00, 0x30, 0x81, 0x47, 0xF4, 0xF0, 0x00,
0x31, 0x02, 0x05, 0x69, 0x60, 0x01, 0x31, 0x83, 0x05, 0x42, 0x60, 0x02, 0x32, 0x04, 0x70, 0x00, 0xF0, 0x00, 0x32, 0x81, 0x70, 0x00, 0xF0, 0x00,
0x33, 0x02, 0x70, 0x00, 0x80, 0x66, 0x1D, 0x2D, 0x60, 0x08, 0x82, 0x2C, 0xF0, 0x00, 0x4F, 0xA0, 0xA0, 0x16, 0xF0, 0x00, 0x4F, 0xB0, 0xA0, 0x15,
0xF0, 0x00, 0x4F, 0xC0, 0xA0, 0x14, 0xF0, 0x00, 0x4F, 0xD0, 0xA0, 0x13, 0xF0, 0x00, 0x4F, 0xE0, 0xA0, 0x12, 0xF0, 0x00, 0x4F, 0xF0, 0xA0, 0x11,
0xF0, 0x00, 0x40, 0x20, 0xA0, 0x10, 0xF0, 0x00, 0x40, 0x40, 0xA0, 0x0F, 0xF0, 0x00, 0x40, 0x50, 0xA0, 0x0E, 0xF0, 0x00, 0x40, 0x60, 0xA0, 0x0D,
0x40, 0x00, 0x15, 0x35, 0xD2, 0x80, 0x40, 0x10, 0x15, 0x35, 0xD2, 0x80, 0x40, 0x30, 0x15, 0x35, 0xD2, 0x80, 0xF0, 0x00, 0x15, 0x2D, 0xD0, 0x80,
0x9A, 0xD9, 0x15, 0x35, 0x60, 0x01, 0x61, 0x64, 0x60, 0x01, 0xEE, 0x00, 0x9A, 0xDB, 0x70, 0x00, 0xE1, 0xC0, 0x80, 0x59, 0x70, 0x00, 0x82, 0x19,
0x1D, 0x26, 0x60, 0x09, 0x80, 0x06, 0x1D, 0x27, 0x60, 0x09, 0x80, 0x05, 0x1D, 0x28, 0x60, 0x09, 0x80, 0x04, 0x1D, 0x29, 0x60, 0x09, 0x80, 0x03,
0x1D, 0x2A, 0x60, 0x09, 0x80, 0x02, 0x1D, 0x2B, 0x60, 0x09, 0x80, 0x01, 0x1D, 0x2C, 0x60, 0x09, 0x80, 0x00, 0xF0, 0x00, 0x15, 0x4A, 0xD0, 0x80,
0x9F, 0xBA, 0x41, 0xA0, 0x40, 0xF3, 0x9F, 0xB2, 0x41, 0xA1, 0x90, 0x05, 0x9F, 0xAA, 0x70, 0x00, 0x90, 0x1A, 0x00, 0x00, 0x60, 0x02, 0x90, 0x1B,
0xF0, 0x00, 0x32, 0x20, 0xF0, 0x00, 0xF0, 0x00, 0x32, 0xA1, 0xF0, 0x00, 0xF0, 0x00, 0x34, 0x22, 0x80, 0x1D, 0xD6, 0x21, 0x1D, 0x2D, 0x60, 0x09,
0xC2, 0x59, 0x10, 0x00, 0x60, 0x03, 0x9E, 0x72, 0x41, 0xA0, 0xF0, 0x00, 0x9E, 0x6A, 0x40, 0xE0, 0xE2, 0x00, 0x9C, 0x6A, 0x41, 0x20, 0xE2, 0x00,
0xF0, 0x00, 0x20, 0x12, 0xF0, 0x00, 0x92, 0x50, 0x70, 0x00, 0xE1, 0xC0, 0x90, 0x82, 0x70, 0x00, 0xF0, 0x00, 0xC3, 0x5B, 0x41, 0xB0, 0xE2, 0x00,
0xD5, 0x22, 0x70, 0x00, 0x90, 0x06, 0x9E, 0xB3, 0x41, 0xA1, 0xF0, 0x00, 0x9E, 0xAB, 0x40, 0xE1, 0xE2, 0x00, 0x9C, 0xAB, 0x41, 0x21, 0xE2, 0x00,
0xF0, 0x00, 0x70, 0x00, 0xF0, 0x00, 0x92, 0x91, 0x70, 0x00, 0xE1, 0xC0, 0x00, 0x01, 0x60, 0x02, 0x8F, 0xED, 0x9E, 0xB3, 0x41, 0xA1, 0xF0, 0x00,
0x9E, 0xAB, 0x41, 0x11, 0xE2, 0x00, 0x9C, 0xAB, 0x41, 0x21, 0xE2, 0x00, 0xF0, 0x00, 0x70, 0x00, 0xF0, 0x00, 0x92, 0x91, 0x70, 0x00, 0xE1, 0xC0,
0x00, 0x0B, 0x60, 0x02, 0x8F, 0xE7, 0xF0, 0x00, 0x40, 0xD1, 0x40, 0xD0, 0x00, 0x1F, 0x60, 0x02, 0x8F, 0xE5, 0xF0, 0x00, 0x10, 0x00, 0x60, 0x03,
0xF0, 0x00, 0x41, 0xB0, 0xF0, 0x00, 0xC3, 0x5B, 0x00, 0x0A, 0x60, 0x02, 0x00, 0x00, 0x60, 0x02, 0xE6, 0x00, 0xF0, 0x00, 0x70, 0x00, 0x8F, 0xE0,
0x9F, 0xF9, 0x41, 0xA0, 0x40, 0xF3, 0xF0, 0x00, 0x41, 0xA1, 0x90, 0x01, 0x00, 0x06, 0x60, 0x02, 0x80, 0x0B, 0xC3, 0x19, 0x10, 0x00, 0x60, 0x03,
0x9E, 0x72, 0x41, 0xA0, 0xF0, 0x00, 0x9E, 0x6A, 0x40, 0xE0, 0xE2, 0x00, 0x9E, 0x62, 0x41, 0x20, 0xE2, 0x00, 0x9C, 0x6A, 0x41, 0x00, 0xE2, 0x00,
0xF0, 0x00, 0x70, 0x00, 0xF0, 0x00, 0x92, 0x50, 0x70, 0x00, 0xE1, 0xC0, 0xC3, 0x5B, 0x70, 0x00, 0xF0, 0x00, 0x41, 0xA1, 0x00, 0x17, 0x60, 0x02,
0x00, 0x37, 0x60, 0x02, 0xE6, 0x00, 0x90, 0x01, 0x70, 0x00, 0xE0, 0xC0, 0x44, 0x03, 0x20, 0xA7, 0xA1, 0xDE, 0x91, 0xC4, 0x70, 0x00, 0xF0, 0x00,
0x41, 0xA1, 0x41, 0xA0, 0xE2, 0x40, 0xF0, 0x00, 0x15, 0x93, 0xD0, 0x80, 0xF0, 0x00, 0x70, 0x00, 0x98, 0x05, 0x9E, 0x6B, 0x70, 0x00, 0x90, 0x05,
0x9C, 0x43, 0x70, 0x00, 0x90, 0x05, 0x9C, 0x6B, 0x70, 0x00, 0x9C, 0x02, 0xF0, 0x00, 0x70, 0x00, 0x9C, 0x04, 0xF0, 0x00, 0x70, 0x00, 0x80, 0x00,
0x41, 0xA3, 0x70, 0x00, 0x80, 0x03, 0x40, 0x83, 0x70, 0x00, 0x80, 0x02, 0x41, 0x53, 0x70, 0x00, 0x80, 0x01, 0x94, 0xEB, 0x70, 0x00, 0x80, 0x00,
0x4F, 0xE0, 0x15, 0x32, 0xD0, 0x80, 0xF0, 0x00, 0x4F, 0xF0, 0xA0, 0x02, 0xD7, 0x12, 0x4F, 0xB0, 0xA0, 0x01, 0xF0, 0x00, 0x15, 0xC5, 0xD0, 0x80,
0xF0, 0x00, 0x40, 0xF3, 0xA1, 0xCC, 0xC2, 0x9B, 0x70, 0x00, 0xF0, 0x00, 0x9C, 0xEB, 0x70, 0x00, 0xF0, 0x00, 0x82, 0xDB, 0x70, 0x00, 0xE1, 0x40,
0x94, 0xEB, 0x15, 0x32, 0xD0, 0x80, 0x4F, 0xB0, 0x70, 0x00, 0xAF, 0xB3, 0x4F, 0xF0, 0x70, 0x00, 0x8F, 0xB2, 0xF0, 0x00, 0x08, 0xCC, 0x60, 0x09,
0xF0, 0x00, 0x61, 0xBD, 0x60, 0x01, 0xF0, 0x00, 0x61, 0xC0, 0x60, 0x02, 0x35, 0x91, 0x70, 0x00, 0xF0, 0x00, 0x36, 0x12, 0x08, 0x7F, 0x60, 0x00,
0x08, 0xC3, 0x60, 0x08, 0x81, 0xC1, 0xF0, 0x00, 0x16, 0x95, 0xD2, 0x80, 0x05, 0x44, 0x60, 0x03, 0xF0, 0x00, 0x0E, 0x21, 0x60, 0x09, 0x8F, 0x87,
0xF0, 0x00, 0x16, 0x9B, 0xD2, 0x80, 0xF0, 0x00, 0x24, 0xB3, 0xF0, 0x00, 0x0E, 0x21, 0x60, 0x09, 0x8F, 0x84, 0x00, 0x26, 0x60, 0x00, 0xA0, 0x05,
0x80, 0x12, 0x60, 0x03, 0xF0, 0x00, 0x0E, 0x20, 0x60, 0x09, 0x8F, 0x81, 0x00, 0x30, 0x60, 0x00, 0xA0, 0x02, 0x80, 0x03, 0x60, 0x03, 0xF0, 0x00,
0x0E, 0x20, 0x60, 0x09, 0x8F, 0x7E, 0xF0, 0x00, 0x16, 0xCB, 0xD0, 0x80, 0x0A, 0x15, 0x60, 0x08, 0xF0, 0x00, 0xF0, 0x00, 0x21, 0x5B, 0xD2, 0x80,
0xF0, 0x00, 0x1B, 0xCD, 0x60, 0x08, 0x22, 0x10, 0x70, 0x00, 0xF0, 0x00, 0x2C, 0x87, 0x70, 0x00, 0xF0, 0x00, 0x22, 0x91, 0x7F, 0xFF, 0x60, 0x06,
0x91, 0xC7, 0x2D, 0x0C, 0xF0, 0x00, 0x2E, 0x0A, 0x17, 0xCE, 0xD5, 0x80, 0xF0, 0x00, 0x33, 0x06, 0xF0, 0x00, 0xF0, 0x00, 0x33, 0x86, 0xF0, 0x00,
0xF0, 0x00, 0x34, 0x06, 0xF0, 0x00, 0x34, 0x86, 0x17, 0xCE, 0xD0, 0x80, 0xF0, 0x00, 0x32, 0x94, 0xF0, 0x00, 0x91, 0xC7, 0x70, 0x00, 0xF0, 0x00,
0xF0, 0x00, 0x17, 0xF7, 0xD5, 0x80, 0xF0, 0x00, 0x70, 0x00, 0xD0, 0x08, 0x9E, 0xB7, 0x39, 0x12, 0xE2, 0x00, 0x83, 0x8F, 0x39, 0x12, 0xE2, 0x00,
0xF0, 0x00, 0x18, 0x8F, 0xD0, 0x80, 0x82, 0x00, 0x03, 0xE0, 0x60, 0x08, 0x0C, 0x1D, 0x60, 0x09, 0xC0, 0x10, 0xF0, 0x00, 0x10, 0x00, 0xF0, 0x00,
0x33, 0x10, 0x1A, 0xA2, 0xD0, 0x80, 0x82, 0x00, 0x70, 0x00, 0xF0, 0x00, 0x09, 0x5D, 0x60, 0x08, 0xA1, 0x9A, 0xF0, 0x00, 0x34, 0x80, 0xF0, 0x00,
0xF0, 0x00, 0x34, 0x00, 0xD0, 0x08, 0x82, 0x00, 0x04, 0xA8, 0x60, 0x0A, 0xF0, 0x00, 0x06, 0x98, 0x60, 0x01, 0x09, 0xE2, 0x60, 0x08, 0xC0, 0x08,
0xF0, 0x00, 0x10, 0x21, 0xF0, 0x00, 0xF0, 0x00, 0x31, 0x80, 0xD0, 0x08, 0xF0, 0x00, 0x18, 0x93, 0xD2, 0x80, 0x08, 0x46, 0x60, 0x08, 0xA1, 0x91,
0xF0, 0x00, 0x29, 0x00, 0xA1, 0x90, 0x9E, 0x30, 0x70, 0x00, 0xF0, 0x00, 0x09, 0x97, 0x60, 0x08, 0xD4, 0x09, 0x09, 0x6E, 0x60, 0x00, 0xA1, 0x8D,
0xF0, 0x00, 0x30, 0x80, 0xD0, 0x08, 0x4F, 0xD0, 0x09, 0x7D, 0x60, 0x08, 0x4F, 0xE1, 0x40, 0x02, 0xF0, 0x00, 0x36, 0x00, 0x70, 0x00, 0xF0, 0x00,
0x33, 0x81, 0x70, 0x00, 0x80, 0x20, 0x0A, 0x66, 0x60, 0x08, 0xF0, 0x00, 0x0A, 0x87, 0x60, 0x09, 0xA0, 0x0D, 0xF0, 0x00, 0x0F, 0x84, 0xD2, 0x80,
0x83, 0xFF, 0x1D, 0x3E, 0xD0, 0x80, 0x0A, 0x6D, 0x60, 0x08, 0xF0, 0x00, 0x0A, 0x87, 0x60, 0x09, 0xA0, 0x09, 0xF0, 0x00, 0x0F, 0x84, 0xD2, 0x80,
0x31, 0x90, 0x03, 0xE8, 0x60, 0x00, 0x32, 0x11, 0x0F, 0xBE, 0xD2, 0x80, 0x90, 0x07, 0x70, 0x00, 0xF0, 0x00, 0x80, 0x98, 0x0F, 0xBE, 0xD2, 0x80,
0x8B, 0xC7, 0x70, 0x00, 0xF0, 0x00, 0x90, 0x04, 0x31, 0x87, 0x40, 0x07, 0x90, 0x80, 0x0F, 0xBE, 0xD2, 0x80, 0x31, 0x00, 0x1D, 0x67, 0xD0, 0x80,
0x58, 0x07, 0x22, 0x25, 0xF0, 0x00, 0x91, 0x04, 0x03, 0x87, 0x60, 0x00, 0x7F, 0xFC, 0x60, 0x06, 0xD0, 0x09, 0x82, 0x2A, 0x0F, 0x9C, 0xD2, 0x80,
0x80, 0xB8, 0x27, 0x14, 0xA1, 0x74, 0x81, 0x39, 0x0F, 0xE7, 0xD2, 0x80, 0xA2, 0x76, 0x20, 0x21, 0xF0, 0x00, 0xF0, 0x00, 0x20, 0xA2, 0xF0, 0x00,
0xF0, 0x00, 0x21, 0x23, 0xD0, 0x08, 0xF7, 0xCF, 0x60, 0x03, 0xF0, 0x00, 0x28, 0x00, 0x60, 0x00, 0xD0, 0x08, 0xF0, 0x00, 0x70, 0x00, 0xC0, 0x08,
0xF0, 0x00, 0x10, 0x32, 0xF0, 0x00, 0xF0, 0x00, 0x70, 0x00, 0xD0, 0x08, 0x0D, 0xA2, 0x60, 0x09, 0xA1, 0x6A, 0x20, 0x12, 0x22, 0x63, 0xD2, 0x80,
0xF0, 0x00, 0x35, 0x82, 0xD0, 0x08, 0x90, 0x82, 0x0D, 0xA2, 0x60, 0x08, 0x40, 0xA0, 0x40, 0x70, 0xE6, 0x40, 0xF0, 0x00, 0x70, 0x00, 0x81, 0x66,
0x23, 0x3E, 0x60, 0x05, 0xA1, 0x64, 0x8E, 0x2D, 0x23, 0x43, 0x60, 0x06, 0x91, 0xC1, 0x22, 0xF1, 0xD5, 0x80, 0x8F, 0x86, 0x3E, 0xE6, 0x60, 0x03,
0x91, 0xC1, 0x22, 0xF1, 0xD5, 0x80, 0x80, 0x18, 0x70, 0x00, 0xF0, 0x00, 0x91, 0xC1, 0x22, 0xF1, 0xD0, 0x80, 0x0C, 0x78, 0x60, 0x08, 0xA0, 0x01,
0x40, 0x11, 0x40, 0x94, 0x81, 0x5C, 0x90, 0x00, 0xFF, 0xEF, 0x60, 0x06, 0xF0, 0x00, 0x23, 0xB8, 0xD1, 0x80, 0x41, 0x06, 0x23, 0xB6, 0xD0, 0x80,
0x00, 0x02, 0x60, 0x03, 0x80, 0x05, 0x00, 0x04, 0x60, 0x03, 0x80, 0x04, 0x00, 0x06, 0x60, 0x03, 0x80, 0x03, 0xF0, 0x00, 0x23, 0x18, 0xD0, 0x80,
0xF0, 0x00, 0x23, 0x18, 0xD0, 0x80, 0x00, 0x10, 0x60, 0x03, 0x80, 0x00, 0xF0, 0x00, 0x20, 0x84, 0xA1, 0x52, 0xC2, 0xE3, 0x70, 0x00, 0xF0, 0x00,
0x90, 0x41, 0x23, 0x8C, 0xD1, 0x80, 0xF0, 0x00, 0x23, 0x77, 0xD0, 0x80, 0x40, 0xC0, 0x0C, 0x95, 0x60, 0x08, 0x40, 0x81, 0x0C, 0x92, 0x60, 0x09,
0xF0, 0x00, 0x30, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x30, 0x11, 0xD0, 0x08, 0x20, 0x02, 0x58, 0x01, 0x81, 0x4A, 0xD0, 0x40, 0x25, 0x21, 0xD5, 0x80,
0x40, 0xC2, 0x62, 0x36, 0x60, 0x01, 0xA0, 0x06, 0x60, 0x00, 0x81, 0x47, 0x54, 0x55, 0x60, 0x01, 0x81, 0x46, 0x55, 0x55, 0x60, 0x01, 0x81, 0x45,
0x15, 0x11, 0x60, 0x01, 0x81, 0x44, 0x00, 0x01, 0x60, 0x01, 0x81, 0x43, 0xF0, 0x00, 0x1C, 0x29, 0x60, 0x09, 0xC5, 0x04, 0x30, 0x80, 0xF0, 0x00,
0x83, 0x24, 0x3D, 0x14, 0xD0, 0x08, 0xF0, 0x00, 0x70, 0x00, 0x90, 0x02, 0xF0, 0x00, 0x40, 0x30, 0xAE, 0xC3, 0xF0, 0x00, 0x26, 0x10, 0xD0, 0x80,
0xF0, 0x00, 0x40, 0x30, 0xAE, 0xC3, 0xF0, 0x00, 0x26, 0x11, 0xD0, 0x80, 0xF0, 0x00, 0x70, 0x00, 0xAF, 0x0E, 0xF0, 0x00, 0x70, 0x00, 0x90, 0x08,
0xF0, 0x00, 0x00, 0x7A, 0x60, 0x08, 0x40, 0x01, 0x19, 0x32, 0x60, 0x09, 0xF0, 0x00, 0x21, 0x80, 0xF0, 0x00, 0xF0, 0x00, 0x30, 0x11, 0xF0, 0x00,
0x90, 0x00, 0x25, 0xD6, 0xD2, 0x80, 0x00, 0x00, 0x60, 0x02, 0xF0, 0x00, 0x00, 0x00, 0x60, 0x03, 0xA1, 0x2D, 0x00, 0x00, 0x60, 0x01, 0x80, 0x07,
0xF0, 0x00, 0x19, 0x30, 0x60, 0x09, 0xF0, 0x00, 0x03, 0x4E, 0x60, 0x01, 0xF0, 0x00, 0x5A, 0xCC, 0x60, 0x02, 0x10, 0x11, 0x00, 0x01, 0x60, 0x03,
0x10, 0x12, 0x70, 0x00, 0xF0, 0x00, 0x10, 0x13, 0x2C, 0xB6, 0xD2, 0x80, 0x00, 0x03, 0x60, 0x01, 0x80, 0x00, 0xF0, 0x00, 0x19, 0x34, 0x60, 0x08,
0xF0, 0x00, 0x33, 0x03, 0x60, 0x02, 0x30, 0x01, 0x10, 0x10, 0x60, 0x03, 0xF0, 0x00, 0x27, 0x25, 0xD0, 0x80, 0xF0, 0x00, 0x00, 0x00, 0x60, 0x00,
0x1C, 0x75, 0x60, 0x08, 0xA1, 0x25, 0xF0, 0x00, 0x62, 0x5B, 0x60, 0x00, 0x1C, 0x77, 0x60, 0x08, 0x81, 0x23, 0x82, 0x00, 0x29, 0x01, 0xF0, 0x00,
0xF0, 0x00, 0x3A, 0x02, 0xF0, 0x00, 0xF0, 0x00, 0x3B, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x39, 0x80, 0xF0, 0x00, 0x9E, 0x7F, 0x37, 0x01, 0x40, 0x23,
0x9E, 0x77, 0x27, 0x15, 0xD1, 0x80, 0x90, 0x47, 0x27, 0x18, 0xD1, 0x80, 0x9E, 0x6F, 0x27, 0x12, 0xD1, 0x80, 0xF0, 0x00, 0x70, 0x00, 0xD4, 0x09,
0xF0, 0x00, 0x39, 0x03, 0xF0, 0x00, 0xF0, 0x00, 0x38, 0x83, 0xF0, 0x00, 0x40, 0x21, 0x26, 0x37, 0xD2, 0x80, 0xF0, 0x00, 0x27, 0x39, 0xD2, 0x80,
0x19, 0x64, 0x60, 0x02, 0xF0, 0x00, 0x19, 0x64, 0x60, 0x03, 0xA1, 0x0E, 0x40, 0x00, 0x27, 0x1B, 0xD0, 0x80, 0x1C, 0x67, 0x60, 0x08, 0xA1, 0x11,
0xF0, 0x00, 0x27, 0x00, 0x81, 0x10, 0xF0, 0x00, 0x01, 0x8E, 0x60, 0x00, 0x1C, 0x92, 0x60, 0x08, 0x81, 0x0F, 0x82, 0x92, 0x1C, 0xAF, 0x60, 0x0E,
0x62, 0xE8, 0x60, 0x06, 0xA0, 0x86, 0x30, 0x66, 0x1C, 0xA2, 0x60, 0x0F, 0xF0, 0x00, 0x62, 0xDD, 0x60, 0x07, 0xF0, 0x00, 0x62, 0xDF, 0x60, 0x00,
0x30, 0x77, 0x62, 0xE4, 0x60, 0x01, 0x32, 0x70, 0x1C, 0xD8, 0x60, 0x08, 0x34, 0x71, 0x62, 0x8E, 0x60, 0x00, 0xF0, 0x00, 0x62, 0x8C, 0x60, 0x01,
0x31, 0x80, 0x1C, 0xBA, 0x60, 0x09, 0x30, 0x81, 0x62, 0xC2, 0x60, 0x02, 0xF0, 0x00, 0x62, 0xBD, 0x60, 0x03, 0x33, 0x12, 0x62, 0xD9, 0x60, 0x04,
0x32, 0x93, 0x1C, 0x94, 0x60, 0x0A, 0x35, 0x94, 0x62, 0x9D, 0x60, 0x05, 0xF0, 0x00, 0x62, 0x9B, 0x60, 0x06, 0x30, 0xA5, 0x62, 0xA3, 0x60, 0x07,
0x30, 0x26, 0x1C, 0xEA, 0x60, 0x0B, 0x34, 0xA7, 0x62, 0x94, 0x60, 0x00, 0xF0, 0x00, 0x62, 0x97, 0x60, 0x01, 0x31, 0xB0, 0x62, 0x99, 0x60, 0x02,
0x32, 0x31, 0x1C, 0xD0, 0x60, 0x0C, 0x32, 0xB2, 0x62, 0xA5, 0x60, 0x03, 0xF0, 0x00, 0x62, 0xAC, 0x60, 0x04, 0x30, 0xC3, 0x62, 0xB0, 0x60, 0x05,
0x31, 0xC4, 0x62, 0xAE, 0x60, 0x06, 0x32, 0xC5, 0x70, 0x00, 0xF0, 0x00, 0x32, 0x46, 0x70, 0x00, 0x8F, 0xE2, 0xF0, 0x00, 0x28, 0x70, 0xD0, 0x80,
0x82, 0x00, 0x70, 0x00, 0xAD, 0xDF, 0xF0, 0x00, 0x29, 0x46, 0xD0, 0x80, 0xF0, 0x00, 0x31, 0xE4, 0xD2, 0x80, 0xF0, 0x00, 0x70, 0x00, 0xA0, 0x02,
0xF0, 0x00, 0x70, 0x00, 0xA0, 0xCA, 0xF0, 0x00, 0x29, 0x61, 0xD0, 0x80, 0xF0, 0x00, 0x60, 0x6D, 0xD1, 0x80, 0xF0, 0x00, 0x70, 0x00, 0x8D, 0xDB,
0xF0, 0x00, 0x70, 0x00, 0xAD, 0xC5, 0xF0, 0x00, 0x23, 0xBD, 0xD2, 0x80, 0xF0, 0x00, 0x29, 0xB4, 0xD0, 0x80, 0xF0, 0x00, 0x23, 0xD7, 0xD2, 0x80,
0xF0, 0x00, 0x29, 0xBA, 0xD0, 0x80, 0xF0, 0x00, 0x23, 0xD5, 0xD2, 0x80, 0xF0, 0x00, 0x29, 0xBE, 0xD0, 0x80, 0xF0, 0x00, 0x70, 0x00, 0xAF, 0x4E,
0xF0, 0x00, 0x29, 0xE7, 0xD0, 0x80, 0x40, 0x12, 0x28, 0x76, 0xD2, 0x80, 0xF0, 0x00, 0x29, 0xF4, 0xD1, 0x80, 0x00, 0x40, 0x60, 0x00, 0xAE, 0xA4,
0x00, 0x40, 0x60, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x2C, 0x7A, 0xD7, 0x80, 0xF0, 0x00, 0x11, 0x7C, 0xD0, 0x80, 0xF0, 0x00, 0x70, 0x00, 0xAF, 0x3D,
0xF0, 0x00, 0x2A, 0x35, 0xD0, 0x80, 0x0C, 0xB2, 0x60, 0x0D, 0xF0, 0x00, 0xF0, 0x00, 0x28, 0x6A, 0xD2, 0x80, 0xF0, 0x00, 0x19, 0x05, 0xD2, 0x80,
0xF0, 0x00, 0x0B, 0xE9, 0xD2, 0x80, 0xF0, 0x00, 0x0B, 0xF7, 0xD2, 0x80, 0xF0, 0x00, 0x01, 0xF1, 0xD2, 0x80, 0xF0, 0x00, 0x2A, 0x7B, 0xD0, 0x80,
0xF0, 0x00, 0x23, 0xBD, 0xD2, 0x80, 0xF0, 0x00, 0x2A, 0x8A, 0xD0, 0x80, 0xF0, 0x00, 0x18, 0x7C, 0xD2, 0x80, 0xF0, 0x00, 0x2A, 0x91, 0xD0, 0x80,
0xF0, 0x00, 0x0B, 0xF8, 0xD2, 0x80, 0xF0, 0x00, 0x0B, 0xEC, 0xD2, 0x80, 0xF0, 0x00, 0x01, 0xF5, 0xD2, 0x80, 0xF0, 0x00, 0x2A, 0x9B, 0xD0, 0x80,
0x62, 0xB6, 0x60, 0x00, 0xF0, 0x00, 0x40, 0x21, 0x28, 0x89, 0xD0, 0x80, 0xF0, 0x00, 0x28, 0x92, 0xD2, 0x80, 0xF0, 0x00, 0x70, 0x00, 0xA0, 0x43,
0x62, 0xBA, 0x60, 0x00, 0xF0, 0x00, 0x40, 0x21, 0x28, 0x89, 0xD0, 0x80, 0xF0, 0x00, 0x70, 0x00, 0xA0, 0xBB, 0xF0, 0x00, 0x11, 0x7C, 0xD2, 0x80,
0x2B, 0x03, 0x60, 0x00, 0x8F, 0xCE, 0xF0, 0x00, 0x2B, 0x0D, 0xD2, 0x80, 0x62, 0xC0, 0x60, 0x00, 0xF0, 0x00, 0x40, 0x51, 0x28, 0x89, 0xD0, 0x80,
0xF0, 0x00, 0x70, 0x00, 0xAF, 0x24, 0xF0, 0x00, 0x2B, 0x14, 0xD0, 0x80, 0xF0, 0x00, 0x70, 0x00, 0xAE, 0x25, 0xF0, 0x00, 0x2B, 0x19, 0xD0, 0x80,
0x62, 0xC6, 0x60, 0x00, 0xF0, 0x00, 0x40, 0x21, 0x28, 0x89, 0xD0, 0x80, 0xF0, 0x00, 0x28, 0x90, 0xD2, 0x80, 0xF0, 0x00, 0x70, 0x00, 0xA0, 0x32,
0x62, 0xCA, 0x60, 0x00, 0xF0, 0x00, 0x40, 0x21, 0x28, 0x89, 0xD0, 0x80, 0xF0, 0x00, 0x70, 0x00, 0xA0, 0xAB, 0xF0, 0x00, 0x11, 0x7C, 0xD2, 0x80,
0x2B, 0x21, 0x60, 0x00, 0x8F, 0xBE, 0xF0, 0x00, 0x19, 0x1F, 0xD2, 0x80, 0x40, 0x01, 0x26, 0xEE, 0xD2, 0x80, 0x40, 0x11, 0x26, 0xF0, 0xD2, 0x80,
0x40, 0x11, 0x26, 0xF2, 0xD2, 0x80, 0xF0, 0x00, 0x0B, 0xF1, 0xD2, 0x80, 0xF0, 0x00, 0x0B, 0xEC, 0xD2, 0x80, 0xF0, 0x00, 0x0C, 0x00, 0xD2, 0x80,
0x00, 0x80, 0x60, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x2C, 0x7B, 0xD2, 0x80, 0x40, 0x11, 0x0B, 0x90, 0xD7, 0x80, 0x2B, 0x4F, 0x60, 0x00, 0xF0, 0x00,
0xF0, 0x00, 0x2B, 0x4E, 0xD0, 0x80, 0x40, 0x21, 0x0B, 0x90, 0xD2, 0x80, 0xF0, 0x00, 0x1B, 0x32, 0xD2, 0x80, 0xF0, 0x00, 0x19, 0x21, 0xD2, 0x80,
0xF0, 0x00, 0x2B, 0x58, 0xD0, 0x80, 0xF0, 0x00, 0x70, 0x00, 0xAF, 0x0C, 0xF0, 0x00, 0x2B, 0x7A, 0xD0, 0x80, 0x0C, 0xB2, 0x60, 0x0D, 0xF0, 0x00,
0xF0, 0x00, 0x28, 0x6A, 0xD2, 0x80, 0xF0, 0x00, 0x21, 0xA2, 0xD2, 0x80, 0xF0, 0x00, 0x70, 0x00, 0xAF, 0x2F, 0xF0, 0x00, 0x2B, 0x9D, 0xD0, 0x80,
0xF0, 0x00, 0x2B, 0xC0, 0xD2, 0x80, 0xF0, 0x00, 0x0D, 0xA3, 0x60, 0x08, 0x2B, 0xC9, 0x60, 0x00, 0xF0, 0x00, 0x20, 0x01, 0x28, 0x87, 0xD0, 0x80,
0xF0, 0x00, 0x70, 0x00, 0xAF, 0x01, 0xF0, 0x00, 0x2B, 0xE7, 0xD0, 0x80, 0xF0, 0x00, 0x28, 0x73, 0xD2, 0x80, 0x9C, 0x2F, 0x40, 0x01, 0xF0, 0x00,
0x9C, 0x0F, 0x0A, 0xA7, 0xD1, 0x80, 0x9A, 0x1F, 0x0A, 0xA7, 0xD1, 0x80, 0xF0, 0x00, 0x0A, 0xA7, 0xD1, 0x80, 0xF0, 0x00, 0x0A, 0x91, 0xD0, 0x80,
0x0C, 0xC4, 0x60, 0x08, 0xF0, 0x00, 0xF0, 0x00, 0x2C, 0x8A, 0xD0, 0x80, 0xF0, 0x00, 0x70, 0x00, 0xAF, 0x78, 0x90, 0x47, 0x70, 0x00, 0xF0, 0x00,
0x9E, 0x2F, 0x70, 0x00, 0xE0, 0x40, 0xF0, 0x00, 0x40, 0x31, 0xE2, 0x00, 0xF0, 0x00, 0x70, 0x00, 0xD0, 0x08, 0x90, 0x82, 0x0D, 0xA3, 0x60, 0x08,
0x40, 0x10, 0x40, 0x60, 0xE6, 0x40, 0xF0, 0x00, 0x70, 0x00, 0x80, 0x84, 0x40, 0x02, 0x40, 0x01, 0x80, 0x32, 0x40, 0x12, 0x40, 0x01, 0x80, 0x31,
0x0D, 0x15, 0x60, 0x08, 0xA0, 0x80, 0x3F, 0x01, 0x27, 0x2E, 0xD2, 0x80, 0x9E, 0x38, 0x70, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x70, 0x00, 0x94, 0x04,
0xF0, 0x00, 0x70, 0x00, 0xAD, 0xA1, 0xF0, 0x00, 0x70, 0x00, 0x90, 0x02, 0xF0, 0x00, 0x70, 0x00, 0xAD, 0xC2, 0x43, 0xE1, 0x70, 0x00, 0x80, 0x04,
0xF0, 0x00, 0x70, 0x00, 0xAD, 0xA3, 0x41, 0x31, 0x70, 0x00, 0x90, 0x02, 0xF0, 0x00, 0x70, 0x00, 0xAD, 0xC2, 0x43, 0xE1, 0x70, 0x00, 0x80, 0x00,
0xF0, 0x00, 0x63, 0x0B, 0x60, 0x02, 0x40, 0x10, 0x2D, 0x5D, 0xD2, 0x80, 0xF0, 0x00, 0x2D, 0xB2, 0xD0, 0x80, 0xF0, 0x00, 0x26, 0x41, 0xD2, 0x80,
0xF0, 0x00, 0x2F, 0xC2, 0xD2, 0x80, 0xF0, 0x00, 0x28, 0x5A, 0xD0, 0x80, 0xF0, 0x00, 0x70, 0x00, 0xAD, 0xB5, 0x40, 0x10, 0x32, 0x14, 0xD0, 0x80,
0xF0, 0x00, 0x70, 0x00, 0xAD, 0xB7, 0xF0, 0x00, 0x30, 0x1E, 0xD0, 0x80, 0xF0, 0x00, 0x0D, 0x15, 0x60, 0x08, 0xF0, 0x00, 0x17, 0x9B, 0x60, 0x00,
0xF0, 0x00, 0x17, 0x9B, 0x60, 0x01, 0x3F, 0x80, 0x0D, 0xAC, 0x60, 0x09, 0x30, 0x01, 0x56, 0xA5, 0x60, 0x02, 0xF0, 0x00, 0x5E, 0x86, 0x60, 0x03,
0x10, 0x12, 0x59, 0x89, 0x60, 0x04, 0x10, 0x13, 0x61, 0xAD, 0x60, 0x05, 0x10, 0x14, 0x5C, 0x6C, 0x60, 0x06, 0x10, 0x15, 0x64, 0xD3, 0x60, 0x07,
0x10, 0x16, 0x55, 0x2D, 0x60, 0x00, 0x10, 0x17, 0x5C, 0xEB, 0x60, 0x01, 0x10, 0x10, 0x58, 0x04, 0x60, 0x02, 0x10, 0x11, 0x60, 0x04, 0x60, 0x03,
0x10, 0x12, 0x5A, 0xDB, 0x60, 0x04, 0x10, 0x13, 0x63, 0x1D, 0x60, 0x05, 0x10, 0x14, 0x0D, 0xA4, 0x60, 0x0A, 0x10, 0x15, 0x02, 0xE1, 0x60, 0x06,
0xF0, 0x00, 0x43, 0x14, 0x60, 0x07, 0x10, 0x26, 0x04, 0x5B, 0x60, 0x00, 0x10, 0x27, 0x44, 0x95, 0x60, 0x01, 0x10, 0x20, 0x05, 0xD5, 0x60, 0x02,
0x10, 0x21, 0x46, 0x16, 0x60, 0x03, 0x10, 0x22, 0x06, 0xAE, 0x60, 0x04, 0x10, 0x23, 0x00, 0x00, 0x60, 0x05, 0x10, 0x24, 0x70, 0x00, 0xF0, 0x00,
0x10, 0x25, 0x70, 0x00, 0xD0, 0x08, 0x40, 0x05, 0x0D, 0x4F, 0x60, 0x0C, 0xF0, 0x00, 0x02, 0x09, 0x60, 0x03, 0x35, 0xC2, 0x08, 0xFB, 0x60, 0x06,
0x8F, 0x4D, 0x31, 0x40, 0xF0, 0x00, 0x8E, 0xC4, 0x20, 0x47, 0x90, 0x06, 0x81, 0x65, 0x70, 0x00, 0xF0, 0x00, 0x8F, 0x84, 0x40, 0x12, 0xF0, 0x00,
0x81, 0x65, 0x08, 0xFB, 0x60, 0x03, 0x8E, 0xA9, 0x70, 0x00, 0xF0, 0x00, 0x8E, 0xC2, 0x70, 0x00, 0xF0, 0x00, 0xC2, 0x51, 0x70, 0x00, 0xF0, 0x00,
0xF0, 0x00, 0x36, 0x41, 0xF0, 0x00, 0xF0, 0x00, 0x30, 0x45, 0xF0, 0x00, 0xF0, 0x00, 0x30, 0xC7, 0x80, 0x38, 0xD1, 0xC2, 0x35, 0x71, 0x35, 0x60,
0xD6, 0x0B, 0x1C, 0x29, 0x60, 0x0B, 0xC4, 0x9A, 0x40, 0x27, 0xF0, 0x00, 0xD2, 0x0B, 0x3D, 0xB2, 0xF0, 0x00, 0xC4, 0xF3, 0x3B, 0xB7, 0xF0, 0x00,
0x83, 0xB6, 0x3E, 0x33, 0xF0, 0x00, 0xF0, 0x00, 0x3B, 0x36, 0xF0, 0x00, 0xF0, 0x00, 0x3C, 0x36, 0xD0, 0x08, 0x82, 0x0A, 0x00, 0x61, 0x90, 0x09,
0xF0, 0x00, 0x30, 0xE3, 0xD0, 0x80, 0x17, 0xB4, 0x60, 0x08, 0xA0, 0x37, 0xF0, 0x00, 0x00, 0x02, 0xA0, 0x36, 0x90, 0x82, 0x70, 0x00, 0xF0, 0x00,
0x82, 0x8A, 0x70, 0x00, 0x90, 0x03, 0x90, 0x8A, 0x70, 0x00, 0x90, 0x01, 0xF0, 0x00, 0x70, 0x00, 0x8F, 0xFB, 0x82, 0xBF, 0x70, 0x00, 0xF0, 0x00,
0xF0, 0x00, 0x01, 0xB7, 0xD0, 0x80, 0x17, 0xAC, 0x60, 0x0E, 0xA0, 0x2F, 0x4F, 0xF6, 0x00, 0x61, 0xA0, 0x2E, 0x90, 0x41, 0x70, 0x00, 0xF0, 0x00,
0x82, 0x0A, 0x00, 0x61, 0x90, 0x04, 0x91, 0x8E, 0x70, 0x00, 0x97, 0xFD, 0x37, 0x46, 0x70, 0x00, 0xF0, 0x00, 0xD7, 0xB1, 0x17, 0xB2, 0x60, 0x00,
0xF0, 0x00, 0x30, 0xF3, 0xD0, 0x80, 0xF0, 0x00, 0x30, 0xE7, 0xD0, 0x80, 0x21, 0x40, 0x31, 0x91, 0xD0, 0x80, 0xF0, 0x00, 0x2C, 0x86, 0xD2, 0x80,
0xF0, 0x00, 0x70, 0x00, 0xD4, 0x09, 0xF0, 0x00, 0x27, 0x2E, 0xD2, 0x80, 0x90, 0x00, 0x70, 0x00, 0xD0, 0x08, 0x0D, 0x4F, 0x60, 0x0C, 0xA0, 0x21,
0x26, 0x42, 0x41, 0xD7, 0xA0, 0x20, 0x90, 0x82, 0x70, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x60, 0x50, 0xD1, 0x80, 0xF0, 0x00, 0x31, 0xFE, 0xD2, 0x80,
0xF0, 0x00, 0x70, 0x00, 0xF0, 0x00, 0x90, 0x00, 0x0D, 0xAC, 0x60, 0x08, 0x0D, 0xB2, 0x60, 0x08, 0xE6, 0x00, 0xF0, 0x00, 0x30, 0x6F, 0xD2, 0x80,
0x83, 0xFF, 0x00, 0xFF, 0x60, 0x04, 0x7F, 0xFF, 0x60, 0x02, 0xCA, 0x86, 0xF0, 0x00, 0x00, 0x01, 0xA0, 0x16, 0xA2, 0x09, 0x00, 0x80, 0x60, 0x03,
0xC2, 0x61, 0x0D, 0xB9, 0x60, 0x0B, 0x82, 0x59, 0x0D, 0xB8, 0x60, 0x0A, 0x89, 0x09, 0x70, 0x00, 0xF0, 0x00, 0x8E, 0x55, 0x70, 0x00, 0xF0, 0x00,
0xD1, 0xCB, 0x40, 0x15, 0x90, 0x02, 0x90, 0x42, 0x30, 0x33, 0xF0, 0x00, 0x91, 0xC6, 0x30, 0x27, 0xF0, 0x00, 0x91, 0xCF, 0x70, 0x00, 0xF0, 0x00,
0xC3, 0xAF, 0x01, 0xB7, 0xD2, 0x80, 0xD7, 0xF3, 0x70, 0x00, 0xF0, 0x00, 0x96, 0xEF, 0x70, 0x00, 0x8C, 0xDD, 0x40, 0x10, 0x2F, 0xB7, 0xD2, 0x80,
0xF0, 0x00, 0x2E, 0x60, 0xD2, 0x80, 0xF0, 0x00, 0x31, 0xBE, 0xD0, 0x80, 0x0D, 0x4F, 0x60, 0x08, 0xA0, 0x06, 0x2F, 0x00, 0x31, 0xF7, 0xD0, 0x80,
0x0D, 0x4F, 0x60, 0x08, 0xA0, 0x04, 0x3E, 0x82, 0x19, 0xDD, 0x60, 0x09, 0x3E, 0x03, 0x1A, 0x33, 0x60, 0x0A, 0x30, 0x12, 0x70, 0x00, 0xF0, 0x00,
0x30, 0x23, 0x70, 0x00, 0xD0, 0x08, 0xF0, 0x00, 0x70, 0x00, 0xD0, 0x08, 0xF0, 0x00, 0x33, 0x57, 0xD0, 0x80, 0xF0, 0x00, 0x33, 0x95, 0xD2, 0x80,
0xF0, 0x00, 0x63, 0x81, 0xD0, 0x80, 0xF0, 0x00, 0x17, 0x8D, 0x60, 0x08, 0xF0, 0x00, 0x40, 0x87, 0x60, 0x00, 0xF0, 0x00, 0x20, 0x2B, 0x60, 0x00,
0x10, 0x00, 0x20, 0x2C, 0x60, 0x00, 0x10, 0x00, 0x21, 0x35, 0x60, 0x00, 0x10, 0x00, 0x00, 0x00, 0x60, 0x00, 0xF0, 0x00, 0x10, 0x00, 0xF0, 0x00,
0xF0, 0x00, 0x10, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x17, 0x92, 0x60, 0x08, 0xF0, 0x00, 0xEE, 0xEE, 0x60, 0x00, 0xF0, 0x00, 0x70, 0x00, 0xF0, 0x00,
0xF0, 0x00, 0x10, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x17, 0x93, 0x60, 0x08, 0xF0, 0x00, 0x00, 0x00, 0x60, 0x00, 0xF0, 0x00, 0x0D, 0x92, 0x60, 0x00,
0x10, 0x00, 0x00, 0x05, 0x60, 0x00, 0x10, 0x00, 0x1D, 0x19, 0x60, 0x00, 0x10, 0x00, 0x00, 0x05, 0x60, 0x00, 0x10, 0x00, 0x1D, 0x1E, 0x60, 0x00,
0x10, 0x00, 0x00, 0x03, 0x60, 0x00, 0x10, 0x00, 0x1D, 0x23, 0x60, 0x00, 0xF0, 0x00, 0x10, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x10, 0x00, 0xF0, 0x00,
0xF0, 0x00, 0x17, 0x9B, 0x60, 0x08, 0xF0, 0x00, 0x19, 0x04, 0x60, 0x00, 0xF0, 0x00, 0x00, 0x60, 0x60, 0x00, 0x10, 0x00, 0x19, 0x1C, 0x60, 0x00,
0x10, 0x00, 0x00, 0x60, 0x60, 0x00, 0x10, 0x00, 0x19, 0x1F, 0x60, 0x00, 0x10, 0x00, 0xC0, 0x5E, 0x60, 0x00, 0x10, 0x00, 0x19, 0x25, 0x60, 0x00,
0x10, 0x00, 0xC0, 0x5E, 0x60, 0x00, 0x10, 0x00, 0x1E, 0x28, 0x60, 0x00, 0x10, 0x00, 0xC0, 0x52, 0x60, 0x00, 0x10, 0x00, 0x1E, 0x2D, 0x60, 0x00,
0x10, 0x00, 0xC0, 0x52, 0x60, 0x00, 0x10, 0x00, 0x29, 0x18, 0x60, 0x00, 0x10, 0x00, 0xC0, 0x3A, 0x60, 0x00, 0x10, 0x00, 0x29, 0x18, 0x60, 0x00,
0x10, 0x00, 0x80, 0x38, 0x60, 0x00, 0x10, 0x00, 0x00, 0x00, 0x60, 0x00, 0xF0, 0x00, 0x10, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x10, 0x00, 0xF0, 0x00,
0xF0, 0x00, 0x17, 0xAC, 0x60, 0x08, 0xF0, 0x00, 0x02, 0xA8, 0x60, 0x00, 0xF0, 0x00, 0x03, 0x5C, 0x60, 0x00, 0x10, 0x00, 0x06, 0x99, 0x60, 0x00,
0x10, 0x00, 0x10, 0x3B, 0x60, 0x00, 0x10, 0x00, 0x15, 0x06, 0x60, 0x00, 0x10, 0x00, 0x00, 0x00, 0x60, 0x00, 0xF0, 0x00, 0x10, 0x00, 0xF0, 0x00,
0xF0, 0x00, 0x10, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x17, 0xB2, 0x60, 0x08, 0xF0, 0x00, 0x55, 0x04, 0x60, 0x00, 0xF0, 0x00, 0x00, 0x03, 0x60, 0x00,
0xF0, 0x00, 0x10, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x10, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x17, 0xB4, 0x60, 0x08, 0xF0, 0x00, 0x00, 0x00, 0x60, 0x00,
0xF0, 0x00, 0x70, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x10, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x70, 0x00, 0xD0, 0x08
};
const size_t PatchSize205 = sizeof(PatchByteValues205);
const unsigned char * pPatchBytes205 = &PatchByteValues205[0];
extern const size_t LutSize205;
extern const unsigned char * pLutBytes205;
static const unsigned char LutByteValues205[] PROGMEM = {
0x80, 0x17, 0x80, 0x45, 0x80, 0x96, 0x81, 0x5B, 0x82, 0xD6, 0x83, 0x76, 0x88, 0x0B, 0x88, 0x10, 0x88, 0xDB, 0x89, 0x48, 0x89, 0xE9, 0x8B, 0x0A,
0x8B, 0x12, 0x8B, 0x13, 0x8B, 0x21, 0x8B, 0x26, 0x8C, 0x6F, 0x8F, 0x91, 0x8F, 0xF6, 0x94, 0xD0, 0x95, 0x20, 0x95, 0x33, 0x95, 0x6F, 0x95, 0xA8,
0x95, 0xAC, 0x95, 0xC3, 0x95, 0xE1, 0x97, 0xC9, 0x97, 0xF6, 0x98, 0x8D, 0x99, 0x00, 0x9A, 0x00, 0x9E, 0x73, 0xA0, 0x12, 0xA1, 0x03, 0xA1, 0x68,
0xA2, 0xF0, 0xA3, 0x0D, 0xA3, 0x4C, 0xA3, 0x52, 0xA3, 0xED, 0xA5, 0x20, 0xA5, 0x25, 0xA6, 0x0F, 0xA6, 0x1D, 0xA8, 0x31, 0xAB, 0x01, 0xAB, 0x1F,
0xAB, 0x4C, 0xAC, 0x76, 0xAC, 0x88, 0xAC, 0x97, 0xAD, 0xB0, 0xAD, 0xB7, 0xAD, 0xB8, 0xB0, 0x55, 0xB0, 0xC6, 0xB0, 0xE2, 0xB1, 0x01, 0xB1, 0x0B,
0xB1, 0x35, 0xB1, 0x3B, 0xB1, 0x97, 0xB3, 0x03
};
const size_t LutSize205 = sizeof(LutByteValues205);
const unsigned char *pLutBytes205 = &LutByteValues205[0];
+77
View File
@@ -0,0 +1,77 @@
/*!
* @file WC_AP_HTML.h
*
* HTML snippets to build the Access Point portal and the Parameters Portal.
*
* Written by Stuart Blair
*
* GNU General Public License v3.0 licence, all text here must be included in any redistribution and you should receive a copy of the license file.
*
*/
#ifndef WC_AP_HTML
#define WC_AP_HTML ///< Define to stop re-inclusion
/*! \def char AP_HTTP_HEAD[] PROGMEM
Start of HTML output
*/
const char AP_HTTP_HEAD[] PROGMEM = "<!DOCTYPE html><html lang=\"en\"><head><meta charset=\"utf-8\"><meta name=\"viewport\" content=\"width=device-width, initial-scale=1, user-scalable=no\"/><title>{v}</title>";
/*! \def AP_HTTP_STYLE[] PROGMEM
Style for our access point
*/
const char AP_HTTP_STYLE[] PROGMEM = "<style type=\"text/css\">h1 { font-weight: normal; } .msgbox { font-size:1.2rem; line-height: 1.8em; padding: 0.5em; background-color: #ddffff; border-left: 6px solid #ccc; margin-bottom:1em; } .c{text-align:center}div,input{padding:5px;font-size:1em}input{width:95%;margin-top:5px;margin-bottom:10px}body{text-align:center;font-family:verdana;}button{border:0;border-radius:.3rem;background-color:#1fa3ec;color:#fff;line-height:2.6rem;font-size:1.2rem;width:100%}.q{float:right;width:64px;text-align:right}.l{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAALVBMVEX///8EBwfBwsLw8PAzNjaCg4NTVVUjJiZDRUUUFxdiZGSho6OSk5Pg4eFydHTCjaf3AAAAZElEQVQ4je2NSw7AIAhEBamKn97/uMXEGBvozkWb9C2Zx4xzWykBhFAeYp9gkLyZE0zIMno9n4g19hmdY39scwqVkOXaxph0ZCXQcqxSpgQpONa59wkRDOL93eAXvimwlbPbwwVAegLS1HGfZAAAAABJRU5ErkJggg==) no-repeat left center;background-size:1em;}.cfail,.cok{text-align:center; font-size:1.2rem; line-height: 2em; margin-top: 1em; padding: 0.7em; display:none;} .cfail{color: #FFFFFF;background-color: #ff8433;} .cok{ background-color: #6aff33;}</style>";
/** Scripts for our page */
const char AP_HTTP_SCRIPT[] PROGMEM = "<script>function c(l){document.getElementById('s').value=l.innerText||l.textContent;document.getElementById('p').focus();}</script>";
/** End of the header section and beginning of the body */
const char AP_HTTP_HEAD_END[] PROGMEM = "</head><body><div style='text-align:left;display:inline-block;min-width:260px;'>";
/** Start of our HTMl configuration Form */
const char AP_HTTP_PORTAL_OPTIONS[] PROGMEM = "<div class=\"msgbox\">Connect this device to a WiFi network. Select the option to find a WiFi network.</div><form action=\"/wifi\" method=\"get\"><button>Configure WiFi (Auto Scan)</button></form><br/><form action=\"/0wifi\" method=\"get\"><button style=\"background-color:#bbbbbb;\">Configure WiFi (Manual)</button></form><!--<br/><form action=\"/i\" method=\"get\"><button>Info</button></form><br/></form>-->";
/** HTML snippet for wifi scanning */
const char AP_HTTP_ITEM[] PROGMEM = "<div><a href='#p' onclick='c(this)'>{v}</a>&nbsp;<span class='q {i}'>{r}%</span></div>";
/** HTML form for saving wifi connection details */
const char AP_HTTP_FORM_START[] PROGMEM ="<form method=\"post\" action=\"wifisave\"><label>Enter WiFi Name ('SSID'):</label><input id=\"s\" name=\"s\" length=32 placeholder=\"Example: Home_Network_2002\"><label>Enter WiFi Password:</label><input id=\"p\" name=\"p\" length=64 type=\"password\" placeholder=\"Password123\"><br/>";;
/** HTML snippet for our custom parameters */
const char AP_HTTP_FORM_PARAM[] PROGMEM = "<br/><input id='{i}' name='{n}' maxlength={l} placeholder='{p}' value='{v}' {c}>";
/** The end of our HTML Form */
const char AP_HTTP_FORM_END[] PROGMEM = "<br/><button type='submit'>Save and Connect</button></form>";
/** HTML snippet to recan for networks */
const char AP_HTTP_SCAN_LINK[] PROGMEM = "<br/><div class=\"c\"><a href=\"/wifi\">Re-scan</a></div>";
/** HTML snippet for saved confirmation */
// https://stackoverflow.com/questions/20760635/why-does-setting-xmlhttprequest-responsetype-before-calling-open-throw
// https://esprima.org/demo/validate.html
// https://javascript-minifier.com/
/* Use JavaScript to ping the ESP periodically @ the AP IP address.
* If it comes back as an AP again then we know the connection to the WiFi didn't work.
* We wait about 30 seconds to determine this outcome. This isn't 100% foolproof, but should be good enough.
*/
/*
<script type="text/javascript">
function doPing() {
//if ( timeout_count > 20 ) {
if ( attempt_count > 20 ) { // wait about a minute
window.clearInterval(myPinger), document.getElementById("conn_ok").style.display = "block"
}
var o = new XMLHttpRequest;
o.onload = function() {
console.log(this.responseText), document.getElementById("conn_fail").style.display = "block", window.clearInterval(myPinger)
}, o.ontimeout = function(o) {
console.log("Timeout Counter is: " + timeout_count++)
}, o.open("GET", "/foo"), o.timeout = 1000, o.send(null), console.log("Ping counter is: " + attempt_count++)
}
attempt_count = 0;
timeout_count = 0;
var myPinger = window.setInterval(doPing, 3000);
</script>
*/
const char AP_HTTP_SAVED[] PROGMEM = "<div>Credentials Saved.<br />Attempting to connect to WiFi network. Please wait.... <br /><script type=\"text/javascript\">function doPing(){attempt_count>20&&(window.clearInterval(myPinger),document.getElementById(\"conn_ok\").style.display=\"block\");var t=new XMLHttpRequest;t.onload=function(){console.log(this.responseText),document.getElementById(\"conn_fail\").style.display=\"block\",window.clearInterval(myPinger)},t.ontimeout=function(t){console.log(\"Timeout Counter is: \"+timeout_count++)},t.open(\"GET\",\"/foo\"),t.timeout=1e3,t.send(null),console.log(\"Ping counter is: \"+attempt_count++)}attempt_count=0,timeout_count=0;var myPinger=window.setInterval(doPing,3e3);</script><div class=\"cok\" id=\"conn_ok\">Connected to {ap} !<br />You may now close this window. </div><div class=\"cfail\" id=\"conn_fail\">Failed to connect to {ap}!<br /><a href=\"/\">Click here</a> to try again.</div></div>";
/** End of the HTML page */
const char AP_HTTP_END[] PROGMEM = "</div></body></html>";
/** HTML snippet for our custom parameters portal form */
const char AP_HTTP_PORTAL_PARAM_OPTIONS[] PROGMEM = "<form action=\"/params\" method=\"get\"><button>Configure Parameters</button></form><br/><form action=\"/i\" method=\"get\"><button>Info</button></form><br/>";
/** HTML snippet for our custom parameters save */
const char AP_HTTP_FORM_PARAM_START[] PROGMEM ="<form method=\"get\" action=\"wifisave\">";
#endif
+189
View File
@@ -0,0 +1,189 @@
/*!
@file WiFiConnect.h
This is the documentation for WiFiConnect for the Arduino platform.
It is a WiFi connection manager for use with the popular ESP8266 and ESP32 chips.
It contains a captive portal to allow easy connection and changing of WiFi netwoks
via a web based interface and allows for additional user parameters.
You can view the project at <a href="https://github.com/smurf0969/WiFiConnect">https://github.com/smurf0969/WiFiConnect</a>.
Further information is also available in the project <a href="https://github.com/smurf0969/WiFiConnect/wiki">Wiki</a>.
This is a heavily customised version from the origional <a href="https://github.com/tzapu/WiFiManager">WiFiManager</a>
developed by https://github.com/tzapu .
This library depends on <a href="https://github.com/esp8266/Arduino">
ESP8266 Arduino Core</a> and <a href="https://github.com/espressif/arduino-esp32">ESP32 Arduino Core</a> being present on your system.
Please make sure you have installed the latest version before using this library.
Written by Stuart Blair.
GNU General Public License v3.0 licence, all text here must be included in any redistribution and you should receive a copy of the license file.
*/
#ifndef WiFiConnect_h
#define WiFiConnect_h
#include <Arduino.h>
#if defined(ESP8266)
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
#else
#include <WiFi.h>
#include <FS.h>
using fs::FS;
#include <WebServer.h>
#endif
#include <DNSServer.h>
#include <memory>
#if defined(ESP8266)
extern "C" {
#include "user_interface.h"
}
#define ESP_getChipId() (ESP.getChipId()) ///< Gets an ID from the chip
#else
#include <esp_wifi.h>
#define ESP_getChipId() ((uint32_t)ESP.getEfuseMac())///< Gets an ID from the chip
#endif
#include "WC_AP_HTML.h"
#include "WiFiConnectParam.h"
/** Options for how a access point should continue if no WiFi connected */
enum AP_Continue {
AP_NONE, ///< No action, continues to run code
AP_LOOP, ///< Stalls execution with an infinate loop
AP_RESTART, ///< Restarts the chip, allowing it to try to setup again. Handy for sensors when wifi is lost.
AP_RESET, ///< Same as AP_RESTART
AP_WAIT // Keep the AP and webserver running, sit quietly and be patient.
};
/**************************************************************************/
/*!
@brief Class that helps to connect to WiFi networks, that also has
captive portal web interface for configuration.
This is the base class for WiFiConntectOLED which displays
information on a OLED display.
*/
/**************************************************************************/
class WiFiConnect {
public:
/// Create WiFiConnect class
WiFiConnect();
boolean startConfigurationPortal();
boolean startConfigurationPortal(AP_Continue apcontinue);
boolean startConfigurationPortal(AP_Continue apcontinue, const char* apName, const char* apPassword = NULL, bool paramsMode = false);
boolean startParamsPortal();
boolean startParamsPortal(AP_Continue apcontinue);
boolean startParamsPortal(AP_Continue apcontinue, const char* apName, const char* apPassword = NULL);
void addParameter(WiFiConnectParam *p);
void setAPName(const char* apName);
const char* getAPName();
void resetSettings();
boolean autoConnect();
boolean autoConnect(const char* ssidName, const char* ssidPassword = NULL, WiFiMode_t acWiFiMode = WIFI_STA);
//sets a custom ip /gateway /subnet configuration
void setAPStaticIPConfig(IPAddress ip, IPAddress gw, IPAddress sn);
//sets config for a static IP
void setSTAStaticIPConfig(IPAddress ip, IPAddress gw, IPAddress sn);
//called when AP mode and config portal is started
void setAPCallback( void (*func)(WiFiConnect*) );
//called when settings have been changed and connection was successful
void setSaveConfigCallback( void (*func)(void) );
void setDebug(boolean isDebug);
void setRetryAttempts(int attempts);
void setConnectionTimeoutSecs(int timeout);
void setAPModeTimeoutMins(int mins);
boolean captivePortal();
//helpers
const char* statusToString(int state);
int getRSSIasQuality(int RSSI);
boolean isIp(String str);
String toStringIp(IPAddress ip);
virtual void displayTurnOFF(int ms = 5000); ///< Virtual method overriden in WiFiConnectOLED
virtual void displayLoop(); ///< Virtual method overriden in WiFiConnectOLED
virtual void displayON(); ///< Virtual method overriden in WiFiConnectOLED
protected:
boolean _debug = false; ///< Flag to determine wheter to output mesages or not
template <typename Generic>
void DEBUG_WC(Generic text);
virtual void displayConnecting(int attempt, int totalAttempts); ///< Virtual method overriden in WiFiConnectOLED
virtual void displayConnected(); ///< Virtual method overriden in WiFiConnectOLED
virtual void displayAP(); ///< Virtual method overriden in WiFiConnectOLED
virtual void displayParams(); ///< Virtual method overriden in WiFiConnectOLED
virtual void displayManualReset(); ///< Virtual method overriden in WiFiConnectOLED
private:
int _retryAttempts = 3; ///< Number of attempts when trying to connect to WiFi network
int _connectionTimeoutSecs = 10; ///< How log to wait for the connection to succeed or fail
int _apTimeoutMins = 3; ///< The amount of minutes of inactivity before the access point exits it routine
// DNS server
const byte DNS_PORT = 53; ///< Standard DNS Port number
long _lastAPPage = 0; ///< The last time a page was accessed in the portal. Used for the inactivity timeout.
boolean _removeDuplicateAPs = true; ///< Flag to remove duplicate networks from scan results.
int _minimumQuality = 8; ///< The minimum netqork quality to be included in scan results.
int _paramsCount = 0; ///< The amount of custom parameters added via addParameter
boolean _readyToConnect = false; ///< Flag used in access point to determine if it should try to connect to the network.
String _ssid = " "; ///< Tempory holder for the network ssid
String _password = " "; ///< Tempory holder for the network password
WiFiConnectParam* _params[WiFiConnect_MAX_PARAMS]; ///< Array to hold custom parameters
std::unique_ptr<DNSServer> dnsServer; ///< DNS Server for captive portal to redirect to Access Point
#ifdef ESP8266
std::unique_ptr<ESP8266WebServer> server; ///< Web server for serving access point pages
#else
std::unique_ptr<WebServer> server; ///< Web server for serving access point pages
#endif
char _apName[33] ; ///< Holder for the access point name
char _apPassword[65] ; ///< Holder for the access point password
IPAddress _ap_static_ip; ///< Variable for holding Static IP Address for the access point
IPAddress _ap_static_gw; ///< Variable for holding Static Gateway IP Address for the access point
IPAddress _ap_static_sn; ///< Variable for holding Static Subnet Mask IP Address for the access point
IPAddress _sta_static_ip; ///< Variable for holding Static IP Address for the network connection
IPAddress _sta_static_gw; ///< Variable for holding Static Gateway IP Address for the network connection
IPAddress _sta_static_sn; ///< Variable for holding Static Subnet Mask IP Address for the network connection
void (*_apcallback)(WiFiConnect*) = NULL;
void (*_savecallback)(void) = NULL;
void handleRoot();
void handleParamRoot();
void handleParams();
void handleWifi(boolean scan);
void handleWifiSave();
void handleInfo();
void handleReset();
void handle204();
void handleNotFound();
template <class T>
auto optionalIPFromString(T *obj, const char *s) -> decltype( obj->fromString(s) ) {
return obj->fromString(s);
}
auto optionalIPFromString(...) -> bool {
DEBUG_WC("NO fromString METHOD ON IPAddress, you need ESP8266 core 2.1.0 or newer for Custom IP configuration to work.");
return false;
}
};
#endif
+68
View File
@@ -0,0 +1,68 @@
/*!
@file WiFiConnectParam.h
WiFi Connection Manager with Captive Portal
Introduction
This is the documentation for WiFiConnect for the Arduino platform.
It is a WiFi connection manager for use with the popular ESP8266 and ESP32 chips.
It contains a captive portal to allow easy connection and changing of WiFi netwoks
via a web based interface and allows for additional user parameters.
It can also display messages via a OLED screen see WiFiConnectOLED class.
This is a heavily customised version from the original <a href="https://github.com/tzapu/WiFiManager">WiFiManager</a>
developed by https://github.com/tzapu .
Dependencies
This library depends on <a href="https://github.com/esp8266/Arduino">
ESP8266 Arduino Core</a> and <a href="https://github.com/espressif/arduino-esp32">ESP32 Arduino Core</a> being present on your system.
Please make sure you have installed the latest version before using this library.
Written by Stuart Blair.
License
GNU General Public License v3.0 licence, all text here must be included in any redistribution and you should receive a copy of the license file.
*/
#ifndef WIFI_CONNECT_PARAM
#define WIFI_CONNECT_PARAM
#ifndef WiFiConnect_MAX_PARAMS
#define WiFiConnect_MAX_PARAMS 10 ///< The maximum size of the param array and how many custom parameters we may have
#endif
#include <Arduino.h>
/**************************************************************************/
/*!
@brief Class that stores a custom parameter
*/
/**************************************************************************/
class WiFiConnectParam {
public:
WiFiConnectParam(const char *custom);
WiFiConnectParam(const char *id, const char *placeholder, const char *defaultValue, int length);
WiFiConnectParam(const char *id, const char *placeholder, const char *defaultValue, int length, const char *custom);
const char *getID();
const char *getValue();
const char *getPlaceholder();
int getValueLength();
const char *getCustomHTML();
void setValue(const char *newValue);
private:
const char *_id;
const char *_placeholder;
char *_value;
int _length;
const char *_customHTML;
void init(const char *id, const char *placeholder, const char *defaultValue, int length, const char *custom);
friend class WiFiConnect; ///< Declarion for WiFiConnect class
};
#endif
+166
View File
@@ -0,0 +1,166 @@
#ifndef COMMS_H
#define COMMS_H
#include <Arduino.h>
#include <TFT_eSPI.h>
#include <WiFiClient.h>
#include "TEF6686.h"
#include <WiFi.h>
#include <Hash.h>
#include "WiFiConnect.h"
#include "WiFiConnectParam.h"
extern bool advancedRDS;
extern bool afscreen;
extern bool aftest;
extern bool autosquelch;
extern bool BWreset;
extern bool Data_Accelerator;
extern bool direction;
extern bool externaltune;
extern bool fullsearchrds;
extern bool menu;
extern bool RDSSPYTCP;
extern bool RDSSPYUSB;
extern bool RDSstatus;
extern bool scandxmode;
extern bool screenmute;
extern bool seek;
extern bool setupmode;
extern bool softmuteam;
extern bool softmutefm;
extern bool SQ;
extern bool StereoToggle;
extern bool store;
extern bool usesquelch;
extern bool wifi;
extern bool wificonnected;
extern bool XDRGTKdata;
extern bool XDRGTKTCP;
extern bool XDRGTKUSB;
extern bool XDRGTKMuteScreen;
extern bool XDRScan;
extern bool XDRMute;
extern byte band;
extern byte audiomode;
extern byte BWset;
extern byte BWsetRecall;
extern byte EQset;
extern byte fmagc;
extern byte fmscansens;
extern byte iMSEQ;
extern byte iMSset;
extern byte language;
extern byte memorypos;
extern byte scanhold;
extern byte stepsize;
extern byte subnetclient;
extern byte TEF;
extern byte tunemode;
extern char buff[16];
extern int ActiveColor;
extern int ActiveColorSmooth;
extern int BackgroundColor;
extern byte fmdeemphasis;
extern int freqold;
extern int GreyoutColor;
extern int InsignificantColor;
extern int InsignificantColorSmooth;
extern int PrimaryColor;
extern int PrimaryColorSmooth;
extern int RDSColor;
extern int RDSColorSmooth;
extern int RDSDropoutColor;
extern int RDSDropoutColorSmooth;
extern int scanner_filter;
extern int SignificantColor;
extern int SignificantColorSmooth;
extern int Squelch;
extern int Squelchold;
extern int Stereostatus;
extern int XDRBWset;
extern int XDRBWsetold;
extern int16_t OStatus;
extern int16_t SStatus;
extern int8_t LowLevelSet;
extern int8_t VolSet;
extern IPAddress remoteip;
extern String cryptedpassword;
extern String salt;
extern String saltkey;
extern String StereoStatusCommand;
extern String StereoStatusCommandold;
extern String XDRGTK_key;
extern uint16_t BW;
extern uint16_t MStatus;
extern uint16_t USN;
extern uint16_t WAM;
extern uint8_t buff_pos;
extern int8_t CN;
extern unsigned int ConverterSet;
extern unsigned int freq_scan;
extern unsigned int frequency;
extern unsigned int frequency_OIRT;
extern unsigned int frequency_LW;
extern unsigned int frequency_AM;
extern unsigned int frequency_MW;
extern unsigned int frequency_SW;
extern unsigned int frequencyold;
extern unsigned int HighEdgeOIRTSet;
extern unsigned int LowEdgeOIRTSet;
extern unsigned int LWHighEdgeSet;
extern unsigned int LWLowEdgeSet;
extern unsigned int MWHighEdgeSet;
extern unsigned int MWLowEdgeSet;
extern unsigned int scanner_end;
extern unsigned int scanner_start;
extern unsigned int scanner_step;
extern unsigned int SWHighEdgeSet;
extern unsigned int SWLowEdgeSet;
extern unsigned long aftimer;
extern unsigned long signalstatustimer;
extern byte amagc;
extern TFT_eSPI tft;
extern TEF6686 radio;
extern WiFiClient RemoteClient;
extern WiFiUDP Udp;
extern WiFiServer Server;
extern WiFiConnect wc;
extern WebServer webserver;
void Communication();
void XDRGTKRoutine();
void passwordcrypt();
void tryWiFi();
extern void DataPrint(String string);
extern void ShowFreq(int mode);
extern void SelectBand();
extern void doBW();
extern void BuildDisplay();
extern void BuildAdvancedRDS();
extern void ModeButtonPress();
//extern void ScreensaverTimerReopen();
extern void Seek(bool mode);
extern void doStereoToggle();
extern void MuteScreen(bool setting);
extern void updateiMS();
extern void updateEQ();
extern void tftPrint(int8_t offset, const String & text, int16_t x, int16_t y, int color, int smoothcolor, uint8_t fontsize);
extern void showAutoSquelch(bool mode);
extern void ShowStepSize();
extern void startFMDXScan();
extern void cancelDXScan();
extern void printLogbookCSV();
extern void NTPupdate();
extern void handleRoot();
extern void handleDownloadCSV();
extern void handleLogo();
extern void Infoboxprint(const char* input);
extern void TuneUp();
extern void TuneDown();
extern void ShowTuneMode();
extern const char* textUI(uint16_t number);
extern void saveData();
#endif
+797
View File
@@ -0,0 +1,797 @@
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wunused-variable"
#define VERSION "v2.20.5"
#define ON 1
#define OFF 0
#define REVERSE false
#define ALEFT -1
#define ACENTER 0
#define ARIGHT 1
#define MAX(x, y) ((x) < (y) ? (y) : (x))
#define MIN(X, Y) ({\
typeof (X) x_ = (X);\
typeof (Y) y_ = (Y);\
(x_ < y_) ? x_ : y_; })
#define TIMER_OFFSET_TIMER (TIMER_500_TICK)
#define TIMER_BW_TIMER (TIMER_500_TICK)
#define TIMER_SNR_TIMER 100
#define TIMER_BAT_TIMER (TIMER_500_TICK)
#define TIMER_500_TICK 500
#define BAT_LEVEL_EMPTY 1600
#define BAT_LEVEL_WARN 1700
#define BAT_LEVEL_FULL 2270
#define BAT_LEVEL_STAGE 4
#define BATTERY_WARN_VALUE 3.68
#define BATTERY_LOW_VALUE 3.0
#define BATTERY_FULL_VALUE 4.2
#define XTAL_0V_ADC 0
#define XTAL_1V_ADC 1050
#define XTAL_2V_ADC 2250
#define XTAL_ADC_TOL 300
#define LANGUAGE_CHS 14
#define FREQ_MW_STEP_9K 9
#define FREQ_MW_STEP_10K 10
#define FREQ_SW_STEP_5K 5
#ifdef HAS_AIR_BAND
#define FREQ_AIR_STEP_25K 25
#define FREQ_AIR_STEP_8K33 8.33
#endif
#define FREQ_OIRT_STEP_30K 3
#define FREQ_FM_STEP_50K 5
#define FREQ_FM_STEP_100K 10
#define FREQ_FM_STEP_200K 20
#define FREQ_LW_LOW_EDGE_MIN 144
#define FREQ_LW_HIGH_EDGE_MAX 513
#define FREQ_MW_LOW_EDGE_MIN_9K 522
#define FREQ_MW_LOW_EDGE_MIN_10K 520
#define FREQ_MW_HIGH_EDGE_MAX_9K 1791
#define FREQ_MW_HIGH_EDGE_MAX_10K 1720
#define FREQ_SW_LOW_EDGE_MIN 1700
#define FREQ_SW_LOW_EDGE_MAX (FREQ_SW_160M_START)
#define FREQ_SW_HIGH_EDGE_MIN (FREQ_SW_11M_END)
#define FREQ_SW_HIGH_EDGE_MAX (FREQ_SW_END)
#ifdef HAS_AIR_BAND
#define FREQ_AIR_LOW_EDGE_MIN 108000
#define FREQ_AIR_HIGH_EDGE_MIN 137000
#endif
#define FREQ_FM_OIRT_START 6500 // use values of 1/10 * kHz
#define FREQ_FM_OIRT_END 7400 // use values of 1/10 * kHz
#define FM_DEEMPHASIS_50 50
#define FM_DEEMPHASIS_75 75
#define REGION_EU 0
#define REGION_US 1
// according to https://www.short-wave.info/index.php?feature=frequencies
#define FREQ_SW_START 1800
#define FREQ_SW_END 27000
#define FREQ_SW_160M_START 1800
#define FREQ_SW_160M_END 2000
#define FREQ_SW_120M_START 2300
#define FREQ_SW_120M_END 2495
#define FREQ_SW_90M_START 3200
#define FREQ_SW_90M_END 3400
#define FREQ_SW_75M_START 3900
#define FREQ_SW_75M_END 4000
#define FREQ_SW_60M_START 4750
#define FREQ_SW_60M_END 4995
#define FREQ_SW_49M_START 5900
#define FREQ_SW_49M_END 6200
#define FREQ_SW_41M_START 7200
#define FREQ_SW_41M_END 7450
#define FREQ_SW_31M_START 9400
#define FREQ_SW_31M_END 9900
#define FREQ_SW_25M_START 11600
#define FREQ_SW_25M_END 12100
#define FREQ_SW_22M_START 13570
#define FREQ_SW_22M_END 13870
#define FREQ_SW_19M_START 15100
#define FREQ_SW_19M_END 15800
#define FREQ_SW_16M_START 17480
#define FREQ_SW_16M_END 17900
#define FREQ_SW_15M_START 18900
#define FREQ_SW_15M_END 19020
#define FREQ_SW_13M_START 21450
#define FREQ_SW_13M_END 21850
#define FREQ_SW_11M_START 25670
#define FREQ_SW_11M_END 26100
#define SW_MI_BAND_GAP 0
#define SW_MI_BAND_11M 11
#define SW_MI_BAND_13M 13
#define SW_MI_BAND_15M 15
#define SW_MI_BAND_16M 16
#define SW_MI_BAND_19M 19
#define SW_MI_BAND_22M 22
#define SW_MI_BAND_25M 25
#define SW_MI_BAND_31M 31
#define SW_MI_BAND_41M 41
#define SW_MI_BAND_49M 49
#define SW_MI_BAND_60M 60
#define SW_MI_BAND_75M 75
#define SW_MI_BAND_90M 90
#define SW_MI_BAND_120M 120
#define SW_MI_BAND_160M 160
//MAIN COLORS /* RGB 565 CODES */
#define Black 0x0000 /* 0, 0, 0 */
#define BlackOlive 0x39E7 /* 7, 15, 7 */
#define Blue 0x001F /* 0, 0, 31 */
#define Cabbage 0x06D0 /* 0, 54, 16 */
#define Coral 0xFBEF /* 31, 31, 15 */
#define Crimson 0xF8C3 /* 31, 6, 3 */
#define Cyan 0x0F3F /* 1, 57, 31 */
#define Cherry 0xF00A /* 30, 0, 10 */
#define Darkgrey 0x1082 /* 2, 4, 2 */
#define Deepsky 0x051F /* 0, 40, 31 */
#define Green 0x07E0 /* 0, 63, 0 */
#define Grey 0x7BEF /* 15, 31, 15 */
#define Indigo 0x881F /* 17, 0, 31 */
#define Maroon 0x5140 /* 10, 10, 0 */
#define Ocean 0x01FF /* 0, 15, 31 */
#define Orange 0xFC00 /* 31, 32, 0 */
#define Pink 0xFDBF /* 31, 45, 31 */
#define Purple 0xAA1C /* 21, 16, 28 */
#define Red 0xF800 /* 31, 0, 0 */
#define Sakura 0xF3D5 /* 30, 30, 21 */
#define Turquoise 0x07FF /* 0, 63, 31 */
#define Skyblue 0x867D /* 16, 51, 29 */
#define Tangerine 0xF980 /* 31, 12, 0 */
#define Teal 0x07F7 /* 0, 63, 23 */
#define Violet 0xD01F /* 26, 0, 31 */
#define Watermelon 0xFA8D /* 21, 20, 13 */
#define White 0xFFFF /* 31, 63, 31 */
#define Yellow 0xFFE0 /* 31, 63, 0 */
#define Yolk 0xED20 /* 29, 41, 0 */
//SMOOTH COLORS
#define CabbageSmooth 0x0184 /* 0, 12, 4 */
#define CoralSmooth 0x4124 /* 8, 9, 4 */
#define CrimsonSmooth 0x3800 /* 7, 0, 0 */
#define CherrySmooth 0x3800 /* 5, 0, 2 */
#define CyanSmooth 0x0105 /* 0, 8, 5 */
#define DeepskySmooth 0x0106 /* 0, 8, 6 */
#define GreenSmooth 0x00C0 /* 0, 6, 0 */
#define IndigoSmooth 0x3080 /* 4, 0, 7 */
#define OceanSmooth 0x0006 /* 0, 0, 6 */
#define MaroonSmooth 0x2001 /* 4, 0, 1 */
#define OrangeSmooth 0x3165 /* 6, 11, 5 */
#define PinkSmooth 0x620C /* 12, 16, 12 */
#define PurpleSmooth 0x2887 /* 5, 4, 7 */
#define RedSmooth 0x2000 /* 4, 0, 0 */
#define SakuraSmooth 0x3008 /* 6, 0, 8 */
#define SkyblueSmooth 0x10E4 /* 2, 7, 4 */
#define TangerineSmooth 0x3080 /* 6, 4, 0 */
#define TealSmooth 0x0144 /* 0, 10, 4 */
#define VioletSmooth 0x400A /* 8, 0, 10 */
#define WatermelonSmooth 0x3083 /* 6, 4, 3 */
#define WhiteSmooth 0x18E3 /* 3, 7, 3 */
#define YellowSmooth 0x2120 /* 4, 9, 0 */
#define YolkSmooth 0x3940 /* 7, 10, 0 */
//BACKGROUND/FRAME/GREY COLORS
#define Blackberry 0x38C5 /* 7, 6, 5 */
#define Chocolate 0x38A1 /* 27, 63, 28 */
#define Copper 0x9B8D /* 19, 28, 13 */
#define CopperSmooth 0x5207 /* 6, 13, 8 */
#define Cornblue 0x420C /* 8, 16, 12 */
#define Cove 0x73F4 /* 14, 31, 20 */
#define CoveSmooth 0x31A8 /* 6, 13, 8 */
#define CrimsonDark 0x6A08 /* 13, 16, 8 */
#define CrimsonDarkSmooth 0x30E3 /* 6, 7, 3 */
#define CyanDark 0x5BAF /* 11, 29, 15 */
#define CyanDarkSmooth 0x29E8 /* 5, 15, 8 */
#define CyanFrame 0x01E9 /* 0, 15, 9 */
#define CyanGrey 0x2A08 /* 5, 16, 8 */
#define Dallas 0x6A86 /* 13, 20, 6 */
#define DallasSmooth 0x3123 /* 6, 9, 3 */
#define EerieBlack 0x1825 /* 3, 1, 5 */
#define Electric 0x6016 /* 12, 0, 22 */
#define GreenDark 0x0200 /* 0, 16, 0 */
#define GreenGrey 0x2965 /* 5, 11, 5 */
#define Honeydew 0xDFFC /* 27, 63, 28 */
#define Laurel 0x748E /* 14, 36, 14 */
#define LaurelSmooth 0x3206 /* 6, 16, 6 */
#define Logan 0x9C96 /* 19, 36, 22 */
#define LoganSmooth 0x41C8 /* 8, 14, 8 */
#define Meteorite 0x49AC /* 9, 13, 12 */
#define Navy 0x0010 /* 0, 0, 16 */
#define PaleGrey 0x4A69 /* 9, 19, 9 */
#define Prussian 0x0806 /* 1, 0, 6 */
#define PureGrey 0x7BCF /* 15, 30, 15 */
#define SakuraGrey 0x9B90 /* 19, 28, 16 */
#define SakuraGreySmooth 0x3946 /* 7, 10, 6 */
#define Spice 0x6247 /* 12, 18, 7 */
#define Tyrian 0x3845 /* 7, 2, 5 */
#define ITEM_GAP 20
#define ITEM1 30
#define ITEM2 50
#define ITEM3 70
#define ITEM4 90
#define ITEM5 110
#define ITEM6 130
#define ITEM7 150
#define ITEM8 170
#define ITEM9 190
#define ITEM10 210
// EEPROM index defines
#define EE_PRESETS_CNT 99 // When set > 99 change the complete EEPROM adressing!
#define EE_CHECKBYTE_VALUE 20 // 0 ~ 255,add new entry, change for new value
#define EE_PRESETS_FREQUENCY 0 // Default value when memory channel should be skipped!
#ifdef HAS_AIR_BAND
#define EE_TOTAL_CNT 2292 // Total occupied eeprom bytes
#else
#define EE_TOTAL_CNT 2287 // Total occupied eeprom bytes
#endif
#define EE_PRESETS_BAND_START 0 // 99 * 1 byte
#define EE_PRESET_BW_START 99 // 99 * 1 byte
#define EE_PRESET_MS_START 198 // 99 * 1 byte
#define EE_PRESETS_FREQUENCY_START 297 // 99 * 4 bytes
#define EE_PRESETS_RDSPI_START 693 // 99 * 5 bytes
#define EE_PRESETS_RDSPS_START 1188 // 99 * 9 bytes
#define EE_UINT16_FREQUENCY_FM 2079
#define EE_BYTE_VOLSET 2083
#define EE_BYTE_STEREO 2084
#define EE_BYTE_BANDFM 2085
#define EE_BYTE_BANDAM 2086
#define EE_UINT16_CONVERTERSET 2087
#define EE_UINT16_FMLOWEDGESET 2091
#define EE_UINT16_FMHIGHEDGESET 2095
#define EE_BYTE_CONTRASTSET 2099
#define EE_BYTE_STEREOLEVEL 2100
#define EE_BYTE_HIGHCUTLEVEL 2101
#define EE_BYTE_HIGHCUTOFFSET 2102
#define EE_BYTE_LEVELOFFSET 2103
#define EE_BYTE_RTBUFFER 2104
#define EE_BYTE_SORTAF 2105
#define EE_BYTE_STATIONLISTID 2106
#define EE_BYTE_EDGEBEEP 2107
#define EE_BYTE_SOFTMUTEAM 2108
#define EE_BYTE_SOFTMUTEFM 2109
#define EE_UINT16_FREQUENCY_AM 2110
#define EE_BYTE_LANGUAGE 2114
#define EE_BYTE_SHOWRDSERRORS 2115
#define EE_BYTE_TEF 2116
#define EE_BYTE_DISPLAYFLIP 2117
#define EE_BYTE_ROTARYMODE 2118
#define EE_BYTE_STEPSIZE 2119
#define EE_BYTE_TUNEMODE 2120
#define EE_BYTE_OPTENC 2121
#define EE_BYTE_CHECKBYTE 2122
#define EE_BYTE_IMSSET 2123
#define EE_BYTE_EQSET 2124
#define EE_BYTE_BAND 2125
#define EE_BYTE_LOWLEVELSET 2126
#define EE_BYTE_BWSET_FM 2127
#define EE_BYTE_BWSET_AM 2128
#define EE_BYTE_BANDAUTOSW 2129
#define EE_BYTE_MEMORYPOS 2130
#define EE_BYTE_REGION 2131
#define EE_BYTE_RDS_UNDERSCORE 2132
#define EE_BYTE_USBMODE 2133
#define EE_BYTE_WIFI 2134
#define EE_BYTE_SUBNETCLIENT 2135
#define EE_BYTE_SHOWSWMIBAND 2136
#define EE_BYTE_RDS_FILTER 2137
#define EE_BYTE_RDS_PIERRORS 2138
#define EE_BYTE_USESQUELCH 2139
#define EE_BYTE_SHOWMODULATION 2140
#define EE_BYTE_AM_NB 2141
#define EE_BYTE_FM_NB 2142
#define EE_BYTE_AUDIOMODE 2143
#define EE_BYTE_TOUCH_ROTATING 2144
#define EE_BYTE_HARDWARE_MODEL 2145
#define EE_BYTE_POWEROPTIONS 2146
#define EE_BYTE_CURRENTTHEME 2147
#define EE_BYTE_FMDEFAULTSTEPSIZE 2148
#define EE_BYTE_SCREENSAVERSET 2149
#define EE_BYTE_UNIT 2150
#define EE_BYTE_AF 2151
#define EE_BYTE_BATTERY_OPTIONS 2152
#define EE_BYTE_AM_CO_DECT 2153
#define EE_BYTE_AM_CO_DECT_COUNT 2154
#define EE_BYTE_AM_RF_GAIN 2155
#define EE_BYTE_FM_DEEMPHASIS 2156
#define EE_UINT16_FREQUENCY_LW 2157
#define EE_UINT16_FREQUENCY_MW 2161
#define EE_UINT16_FREQUENCY_SW 2165
#define EE_UINT16_LOWEDGEOIRTSET 2169
#define EE_UINT16_HIGHEDGEOIRTSET 2173
#define EE_INT16_AMLEVELOFFSET 2177
#define EE_UINT16_FREQUENCY_OIRT 2181
#define EE_STRING_XDRGTK_KEY 2185 // 11 byte
#define EE_BYTE_FASTPS 2196
#define EE_BYTE_TOT 2197
#define EE_BYTE_MWREGION 2198
#define EE_BYTE_SPISPEED 2199
#define EE_BYTE_AMSCANSENS 2200
#define EE_BYTE_FMSCANSENS 2201
#define EE_BYTE_FREQFONT 2202
#define EE_BYTE_SKIN 2203
#define EE_BYTE_XDRGTKMUTE 2204
#define EE_BYTE_FMAGC 2205
#define EE_BYTE_AMAGC 2206
#define EE_BYTE_FMSI 2207
#define EE_BYTE_SCANSTART 2208
#define EE_BYTE_SCANSTOP 2209
#define EE_BYTE_SCANHOLD 2210
#define EE_BYTE_SCANMEM 2211
#define EE_BYTE_SCANCANCEL 2212
#define EE_BYTE_SCANMUTE 2213
#define EE_BYTE_AUTOSQUELCH 2214
#define EE_BYTE_LONGBANDPRESS 2215
#define EE_BYTE_SHOWCLOCK 2216
#define EE_BYTE_SHOWLONGPS 2217
#define EE_UINT16_MEMSTARTFREQ 2218
#define EE_UINT16_MEMSTOPFREQ 2222
#define EE_BYTE_MEMSTARTPOS 2226
#define EE_BYTE_MEMSTOPPOS 2227
#define EE_BYTE_MEMPIONLY 2228
#define EE_BYTE_MEMDOUBLEPI 2229
// blank space
#define EE_BYTE_WAITONLYONSIGNAL 2253
#define EE_UINT16_CALTOUCH1 2254
#define EE_UINT16_CALTOUCH2 2258
#define EE_UINT16_CALTOUCH3 2262
#define EE_UINT16_CALTOUCH4 2266
#define EE_UINT16_CALTOUCH5 2270
#define EE_BYTE_INVERTDISPLAY 2274
#define EE_BYTE_NTPOFFSET 2275
#define EE_BYTE_AUTOLOG 2276
#define EE_BYTE_AUTODST 2277
#define EE_BYTE_CLOCKAMPM 2278
#define EE_UINT16_LOGCOUNTER 2279
#define EE_UINT16_PICTLOCK 2283
#ifdef HAS_AIR_BAND
#define EE_BYTE_AIRSTEPSIZE 2287
#define EE_UINT16_FREQUENCY_AIR 2288
#endif
// End of EEPROM index defines
static const char* const unitString[] = {"dBμV", "dBf", "dBm"};
static const char* const FreqFont[] = {"Classic", "Roubenstil", "Motoya", "Aura2", "Modern"};
static const char* const Theme[] = {"Essence", "Cyan", "Crimson", "Monochrome", "Volcano", "Dendro", "Sakura", "Whiteout", "Tangerine", "Ocean", "Indigo", "Queer", "GoldBrite", "Bubblegum"};
static const char* const Skin[] = {"Essential"};
static const char* BWButtonLabelsFM[] = {"56 kHz", "64 kHz", "72 kHz", "84 kHz", "97 kHz", "114 kHz", "133 kHz", "151 kHz", "168 kHz", "184 kHz", "200 kHz", "217 kHz", "236 kHz", "254 kHz", "287 kHz", "311 kHz", "Auto", "iMS", "EQ"};
static const char* BWButtonLabelsAM[] = {"3 kHz", "4 kHz", "6 kHz", "8 kHz"};
// Memory channel database
typedef struct {
byte bw;
byte band;
bool ms;
unsigned int frequency;
char RDSPI[5];
char RDSPS[9];
} mem;
enum LONGBANDBUTTONPRESS {
STANDBY = 0, SCREENOFF
};
enum menupage {INDEX, MAINSETTINGS, AUDIOSETTINGS, DISPLAYSETTINGS, RDSSETTINGS, FMSETTINGS, AMSETTINGS, CONNECTIVITY, DXMODE, AUTOMEM
};
enum AUTOMEMPIMODES {
MEMPI_OFF = 0, MEMPI_RANGE, MEMPI_FULL
};
enum SCAN_CANCEL {
SCAN_CANCEL = OFF, CORRECTPI, SIGNAL
};
// FM band: before BAND_GAP; AM band: after BAND_GAP
enum RADIO_BAND {
BAND_OIRT = 0, BAND_FM, BAND_GAP, BAND_LW, BAND_MW, BAND_SW, BAND_AIR
};
#ifndef HAS_AIR_BAND
// Toggle: LW -> MW -> SW
enum RADIO_AM_BAND_SELECTION {
AM_BAND_ALL = 0, AM_BAND_LW_MW, AM_BAND_LW_SW, AM_BAND_MW_SW,
AM_BAND_LW, AM_BAND_MW, AM_BAND_SW, AM_BAND_NONE,
AM_BAND_CNT
};
#else
// Toggle: LW -> MW -> SW -> AIR
enum RADIO_AM_BAND_SELECTION {
AM_BAND_ALL = 0,
AM_BAND_LW_MW_SW, AM_BAND_LW_MW_AIR, AM_BAND_LW_SW_AIR, AM_BAND_MW_SW_AIR,
AM_BAND_LW_MW, AM_BAND_LW_SW, AM_BAND_LW_AIR,
AM_BAND_MW_SW, AM_BAND_MW_AIR,
AM_BAND_SW_AIR,
AM_BAND_LW, AM_BAND_MW, AM_BAND_SW, AM_BAND_AIR, AM_BAND_NONE,
AM_BAND_CNT
};
#endif /* end of HAS_AIR_BAND */
// Toggle: OIRT -> FM
enum RADIO_FM_BAND_SELECTION {
FM_BAND_ALL = 0, FM_BAND_OIRT, FM_BAND_FM, FM_BAND_NONE,
FM_BAND_CNT
};
enum RADIO_TUNE_MODE {
TUNE_MAN, TUNE_AUTO, TUNE_MEM, TUNE_MI_BAND
};
enum RADIO_POWER_MODE {
LCD_OFF, LCD_BRIGHTNESS_1_PERCENT, LCD_BRIGHTNESS_A_QUARTER, LCD_BRIGHTNESS_HALF, RADIO_POWER_MODE_CNT
};
enum RADIO_HARDWARE_MODEL {
BASE_ILI9341 = 0, PORTABLE_ILI9341, PORTABLE_TOUCH_ILI9341,
RADIO_HARDWARE_CNT
};
enum RADIO_BATTERY_SELECTION {
BATTERY_NONE = 0, BATTERY_VALUE, BATTERY_PERCENT,
RADIO_BATTERY_CNT
};
enum RADIO_FM_DEEMPHASIS {
DEEMPHASIS_NONE = 0, DEEMPHASIS_50, DEEMPHASIS_75,
DEEMPHASIS_COUNT
};
enum SPI_SPEED_ENUM {
SPI_SPEED_DEFAULT = 0, SPI_SPEED_10M, SPI_SPEED_20M, SPI_SPEED_30M, SPI_SPEED_40M, SPI_SPEED_50M, SPI_SPEED_60M, SPI_SPEED_70M,
SPI_SPEED_COUNT
};
enum RADIO_MEM_POS_STATUS {
MEM_DARK, MEM_NORMAL, MEM_EXIST
};
static const uint8_t TEFLogo[] PROGMEM = {
0xff, 0xff, 0xf8, 0x7f, 0xfe, 0x07, 0xff, 0xe0, 0xff, 0xff, 0xf8, 0xff, 0xff, 0x1f, 0xff, 0xe0,
0xff, 0xff, 0xf9, 0xff, 0xff, 0x1f, 0xff, 0xe0, 0xff, 0xff, 0xfb, 0xff, 0xfe, 0x3f, 0xff, 0xe0,
0xff, 0xff, 0xfb, 0xff, 0xfe, 0x3f, 0xff, 0xe0, 0x7f, 0xff, 0xf3, 0xff, 0xfe, 0x3f, 0xff, 0xe0,
0x01, 0xfc, 0x03, 0xfc, 0x00, 0x3f, 0xc0, 0x00, 0x01, 0xfc, 0x03, 0xfc, 0x00, 0x3f, 0x80, 0x00,
0x01, 0xfc, 0x03, 0xfc, 0x00, 0x3f, 0x80, 0x00, 0x01, 0xfc, 0x03, 0xff, 0xfc, 0x3f, 0xff, 0x80,
0x01, 0xfc, 0x03, 0xff, 0xfc, 0x3f, 0xff, 0xc0, 0x01, 0xfc, 0x03, 0xff, 0xfc, 0x3f, 0xff, 0xc0,
0x01, 0xfc, 0x03, 0xff, 0xfc, 0x3f, 0xff, 0xc0, 0x01, 0xfc, 0x03, 0xff, 0xfc, 0x3f, 0xff, 0xc0,
0x01, 0xfc, 0x03, 0xfc, 0x00, 0x3f, 0xc0, 0x00, 0x01, 0xfc, 0x03, 0xfc, 0x00, 0x3f, 0x80, 0x00,
0x01, 0xfc, 0x03, 0xfc, 0x00, 0x3f, 0x80, 0x00, 0x01, 0xfc, 0x03, 0xfe, 0x00, 0x3f, 0x80, 0x00,
0x01, 0xfc, 0x03, 0xff, 0xfe, 0x3f, 0x80, 0x00, 0x01, 0xfc, 0x03, 0xff, 0xfe, 0x3f, 0x80, 0x00,
0x01, 0xfc, 0x01, 0xff, 0xff, 0x3f, 0x80, 0x00, 0x01, 0xfc, 0x01, 0xff, 0xff, 0x3f, 0x80, 0x00,
0x01, 0xfc, 0x00, 0x7f, 0xff, 0x3f, 0x80, 0x00
};
static const uint8_t AutoSQ[] PROGMEM = {
0x03, 0xf0, 0x00,
0x0f, 0xfc, 0x00,
0x1f, 0x3e, 0x00,
0x38, 0x07, 0x00,
0xf0, 0xc3, 0x80,
0xe1, 0xc1, 0x80,
0xf1, 0xe1, 0xc0,
0xf3, 0x60, 0xc0,
0x03, 0x30, 0x00,
0x03, 0xf0, 0x00,
0x47, 0xf3, 0x80,
0xe6, 0x1b, 0xc0,
0x64, 0x19, 0xc0,
0x70, 0x03, 0xc0,
0x38, 0x07, 0x40,
0x1e, 0x1e, 0x00,
0x0f, 0xfc, 0x00,
0x03, 0xf0, 0x00
};
static const uint8_t RDSLogo[] PROGMEM = {
0x01, 0xf8, 0x0f, 0xe0, 0x00,
0x07, 0x80, 0x30, 0x18, 0x00,
0x0c, 0x30, 0x43, 0xc6, 0x00,
0x11, 0xc0, 0x8c, 0x31, 0x00,
0x26, 0x01, 0x31, 0x8c, 0x80,
0x28, 0x7e, 0x47, 0xe2, 0x80,
0x49, 0xfe, 0x4f, 0xf2, 0x40,
0x51, 0xfc, 0x9f, 0xf9, 0x40,
0x93, 0xfd, 0x1f, 0xf9, 0x20,
0xa7, 0xcd, 0x3e, 0x7c, 0xa0,
0xe7, 0x85, 0x3c, 0x3e, 0xe0,
0xff, 0x85, 0x7c, 0x3f, 0xe0,
0xfa, 0x49, 0x7e, 0x4b, 0xe0,
0x79, 0x32, 0x7d, 0x93, 0xc0,
0x7c, 0x84, 0xf8, 0x27, 0xc0,
0x7e, 0x78, 0xf8, 0xc7, 0xc0,
0x3f, 0x03, 0xf1, 0x1f, 0x80,
0x3f, 0xcf, 0xf2, 0x7f, 0x80,
0x1f, 0xff, 0xe0, 0xff, 0x00,
0x0f, 0xff, 0xc1, 0xfe, 0x00,
0x03, 0xff, 0x03, 0xf8, 0x00,
0x00, 0xfc, 0x07, 0xc0, 0x00
};
static const uint8_t Speaker[] PROGMEM = {
0x00, 0x00, 0x00, 0x00,
0x00, 0x02, 0x00, 0x00,
0x00, 0x0e, 0x00, 0x00,
0x00, 0x1e, 0x00, 0x00,
0x00, 0x3e, 0x00, 0x00,
0x00, 0x7e, 0x00, 0x00,
0x00, 0xfe, 0x00, 0x00,
0x3e, 0xfe, 0x20, 0x80,
0x3e, 0xfe, 0x71, 0xc0,
0x3e, 0xfe, 0x7b, 0xc0,
0x3e, 0xfe, 0x3f, 0x80,
0x3e, 0xfe, 0x1f, 0x00,
0x3e, 0xfe, 0x1f, 0x00,
0x3e, 0xfe, 0x3f, 0x80,
0x3e, 0xfe, 0x7b, 0xc0,
0x3e, 0xfe, 0x71, 0xc0,
0x3e, 0xfe, 0x20, 0x80,
0x00, 0xfe, 0x00, 0x00,
0x00, 0x7e, 0x00, 0x00,
0x00, 0x3e, 0x00, 0x00,
0x00, 0x1e, 0x00, 0x00,
0x00, 0x0e, 0x00, 0x00,
0x00, 0x02, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00
};
static const uint8_t Mono[] PROGMEM = {
0x00, 0x78, 0x00,
0x03, 0xff, 0x00,
0x0f, 0xcf, 0xc0,
0x1e, 0x01, 0xe0,
0x38, 0x00, 0x70,
0x30, 0x00, 0x30,
0x70, 0x00, 0x38,
0x60, 0x00, 0x18,
0xe0, 0x00, 0x18,
0xe0, 0x00, 0x1c,
0xc0, 0x00, 0x0c,
0xc0, 0x00, 0x0c,
0xe0, 0x00, 0x1c,
0xe0, 0x00, 0x18,
0x60, 0x00, 0x18,
0x70, 0x00, 0x38,
0x30, 0x00, 0x30,
0x38, 0x00, 0x70,
0x1e, 0x01, 0xe0,
0x0f, 0xcf, 0xc0,
0x03, 0xff, 0x00,
0x00, 0x78, 0x00
};
static const uint8_t Stereo[] PROGMEM = {
0x00, 0xf8, 0x3e, 0x00,
0x03, 0xff, 0x3f, 0xc0,
0x0f, 0xcf, 0xc3, 0xf0,
0x1e, 0x01, 0xe0, 0x78,
0x38, 0x0c, 0x60, 0x1c,
0x30, 0x0c, 0x30, 0x0c,
0x70, 0x1c, 0x38, 0x0e,
0x60, 0x18, 0x18, 0x06,
0xe0, 0x18, 0x18, 0x07,
0xc0, 0x38, 0x1c, 0x07,
0xc0, 0x30, 0x0c, 0x03,
0xc0, 0x30, 0x0c, 0x03,
0xc0, 0x38, 0x1c, 0x07,
0xe0, 0x18, 0x18, 0x07,
0x60, 0x18, 0x18, 0x06,
0x70, 0x1c, 0x38, 0x0e,
0x30, 0x0c, 0x30, 0x0c,
0x38, 0x0e, 0x20, 0x1c,
0x1e, 0x07, 0x80, 0x78,
0x0f, 0xc3, 0xf3, 0xf0,
0x03, 0xf8, 0xff, 0xc0,
0x00, 0xfc, 0x1f, 0x00
};
static const uint8_t WiFi1[] PROGMEM = {
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x07, 0x80, 0x00,
0x00, 0x0f, 0xc0, 0x00,
0x00, 0x1f, 0xe0, 0x00,
0x00, 0x1f, 0xe0, 0x00,
0x00, 0x0f, 0x80, 0x00,
0x00, 0x03, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00
};
static const uint8_t WiFi2[] PROGMEM = {
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 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, 0xe0, 0x00,
0x00, 0x3f, 0xf0, 0x00,
0x00, 0x7f, 0xf8, 0x00,
0x00, 0xff, 0xfc, 0x00,
0x00, 0xff, 0xfc, 0x00,
0x00, 0xff, 0xfc, 0x00,
0x00, 0x7f, 0xf8, 0x00,
0x00, 0x3f, 0xf0, 0x00,
0x00, 0x1f, 0xe0, 0x00,
0x00, 0x0f, 0x80, 0x00,
0x00, 0x03, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00
};
static const uint8_t WiFi3[] PROGMEM = {
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x07, 0x80, 0x00,
0x00, 0x3f, 0xf0, 0x00,
0x00, 0x7f, 0xfc, 0x00,
0x01, 0xff, 0xfe, 0x00,
0x03, 0xff, 0xff, 0x00,
0x03, 0xff, 0xff, 0x80,
0x07, 0xff, 0xff, 0x80,
0x0f, 0xff, 0xff, 0xc0,
0x0f, 0xff, 0xff, 0xc0,
0x07, 0xff, 0xff, 0x80,
0x03, 0xff, 0xff, 0x00,
0x01, 0xff, 0xfe, 0x00,
0x00, 0xff, 0xfc, 0x00,
0x00, 0x7f, 0xf8, 0x00,
0x00, 0x3f, 0xf0, 0x00,
0x00, 0x1f, 0xc0, 0x00,
0x00, 0x0f, 0x80, 0x00,
0x00, 0x03, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00
};
static const uint8_t WiFi4[] PROGMEM = {
0x00, 0x07, 0xc0, 0x00,
0x00, 0x3f, 0xf8, 0x00,
0x00, 0xff, 0xfe, 0x00,
0x03, 0xff, 0xff, 0x00,
0x07, 0xff, 0xff, 0x80,
0x0f, 0xff, 0xff, 0xc0,
0x1f, 0xff, 0xff, 0xe0,
0x3f, 0xff, 0xff, 0xf0,
0x3f, 0xff, 0xff, 0xf0,
0x7f, 0xff, 0xff, 0xf8,
0xff, 0xff, 0xff, 0xfc,
0x7f, 0xff, 0xff, 0xf8,
0x3f, 0xff, 0xff, 0xf0,
0x1f, 0xff, 0xff, 0xe0,
0x0f, 0xff, 0xff, 0xc0,
0x07, 0xff, 0xff, 0x80,
0x03, 0xff, 0xff, 0x00,
0x01, 0xff, 0xfe, 0x00,
0x00, 0xff, 0xfc, 0x00,
0x00, 0x7f, 0xf8, 0x00,
0x00, 0x3f, 0xf0, 0x00,
0x00, 0x1f, 0xc0, 0x00,
0x00, 0x0f, 0x80, 0x00,
0x00, 0x03, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00
};
static const uint16_t openradiologo[] PROGMEM = {
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8c51, 0xdefb, 0xffdf, 0xffff, 0xffff, 0xe73c, 0xa514, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3204, 0x5be8, 0x76ef, 0x76ef, 0x8dcd, 0x962e, 0x9e6e, 0x9e8f, 0x9e8f, 0x9e6e, 0x964e, 0x8e0e, 0x76ef, 0x76ef, 0x76ef, 0x3aa6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x738e, 0xd69a, 0xf7be, 0xffff, 0xffff, 0xef5d, 0xb5b6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xad75, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xce59, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x42e6, 0x76ef, 0x95ed, 0xa6cf, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0xaf10, 0x76ef, 0x76ef, 0x5388, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8c71, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xdefb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9cf3, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa534, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x42e6, 0x76ef, 0xa6af, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x5be9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4a49, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xdedb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8430, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xef7d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x76ef, 0x9e6e, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x3224, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb5b6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xce59, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5acb, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x4228, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x76ef, 0xa6cf, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x3245, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xd6ba, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb596, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xef7d, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0x39c7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x76ef, 0xaeef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x10e1, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xd69a, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x8430, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xd69a, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe71c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x42c5, 0x9e4e, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa534, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0x4a49, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa514, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x9492, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x864e, 0x29e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2965, 0xf7be, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe71c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x52aa, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xd69a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2182, 0x9e4d, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x5c09, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8430, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb596, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xe71c, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xef7d, 0x0861, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5387, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xbdd7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x6b4d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa534, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x6b6d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xe73c, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe73c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4228, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xad55, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x8e4f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4a49, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xad55, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xd69a, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xdedb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0xaf30, 0xa6cf, 0x9e4e, 0x960d, 0x7ecf, 0x76ef, 0x76ef, 0x76ef, 0x8ded, 0x962e, 0x9e8f, 0xa6f0, 0xaf31, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x966f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9492, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0x39c7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x73ae, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf7be, 0x2965, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x9e6e, 0x76ef, 0x42c6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x29c3, 0x5be9, 0x76ef, 0x96f0, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x9670, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xce59, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xce59, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8529, 0xb6ad, 0x76ef, 0xbeed, 0x9e0b, 0x5346, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xe73c, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x8c51, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0xaf10, 0x76ef, 0x42a5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x76ef, 0x964f, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x7ecf, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf79e, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x6b4d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x6ced, 0x8630, 0x76ef, 0x7eef, 0x756e, 0x3266, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2141, 0xb6cd, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x8d4a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8c71, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xce79, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5346, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0xaeef, 0x76ef, 0x08a0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5388, 0x962e, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7bef, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xd6ba, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3aa7, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x53ea, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb6ad, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x7488, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xef5d, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf7be, 0x2104, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1101, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5388, 0x966f, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x6e2e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xce59, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x6b6d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1963, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x32a7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x7448, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x870f, 0x10c1, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8c51, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x9cd3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa68d, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x95ed, 0x3204, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x3265, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2124, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xd6ba, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6d2d, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x8610, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0xb6cd, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x5366, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xe71c, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xef5d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3265, 0x8eaf, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x8eb0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa534, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x5aeb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x86b0, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x3266, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x42a4, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x63e7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x738e, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x8410, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3a44, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x5387, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x962f, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xef7d, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc638, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7eef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x6d2e, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x956a, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x4b05, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xce59, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe71c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa68d, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x4b06, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7ecf, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x2a25, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9cf3, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0x3186, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8630, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0xbf0d, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x9f0f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x39c7, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x8430, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x3a85, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0861, 0x8410, 0xa514, 0xbdf7, 0xce79, 0xd6ba, 0xd6ba, 0xce79, 0xbdf7, 0xa514, 0x8410, 0x0861, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x7ecf, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf79e, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa514, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x754e, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x4308, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x4ac4, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0xa64c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa534, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xef5d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x42c5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9492, 0xce79, 0xf79e, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf79e, 0xce79, 0x9492, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x864f, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x4b68, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xad55, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe73c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x540a, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x6d2d, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x8509, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x850a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xe71c, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa514, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x5367, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa514, 0xef5d, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xef5d, 0xa514, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x966f, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x9670, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3186, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x630c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1983, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x8671, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0xae6c, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x5325, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x52aa, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0x2945, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8410, 0xe73c, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe73c, 0x8410, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x4b68, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xce59, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb5b6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8671, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x2a05, 0x0000, 0x0000,
0x0000, 0x0860, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x8f0f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xad75, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xce79, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x960d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb5b6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb5b6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4b68, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x7ecf, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8410, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe73c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x754e, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x542b, 0x0000, 0x0000,
0x0000, 0x5b66, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0xa62c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xdefb, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x8c71, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa68d, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x2162, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xd69a, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xd69a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x2a25, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf79e, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x632c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4ba9, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x756e, 0x0000, 0x0000,
0x0000, 0x8509, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x7cc9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4228, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf7be, 0x2104, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3a84, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xdedb, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xdedb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1963, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc638, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xad75, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x10e2, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x8651, 0x0000, 0x0000,
0x0000, 0xa62b, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x4b05, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x94b2, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xd69a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xd69a, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xd69a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8c71, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xd6ba, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8630, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x10e2, 0x0000,
0x0000, 0xb6ed, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x9f0f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc618, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa534, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xaece, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb596, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb596, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x10e1, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x4327, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x31a6, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf79e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x754e, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x4328, 0x0000,
0x0860, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0xae6c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xdefb, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x6b4d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3a84, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x73ae, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x73ae, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xdefb, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x6b6d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5c2b, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x5c4b, 0x0000,
0x4ae5, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x95ab, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x18e3, 0xf79e, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf79e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xef5d, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xef5d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3245, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x8e70, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xbdf7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x9cd3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3ac7, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x6d2d, 0x0000,
0x7448, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x7ca9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6b4d, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xd6ba, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9e0c, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x3a44, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9cf3, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x9cf3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8e4f, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x1963, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9cd3, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbdd7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x08c1, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x7dcf, 0x0000,
0x8509, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x5b86, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8c51, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbdf7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9eef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0xa68e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xef7d, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xef5d, 0xce79, 0xce59, 0xce59, 0xce79, 0xef7d, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xef7d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6e2d, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x53a9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x738e, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xce79, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8671, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x8671, 0x0000,
0x9dab, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x3223, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa514, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x9cf3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x29c3, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8c51, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xef7d, 0xa514, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa514, 0xef7d, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x8c51, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x10e1, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2965, 0xf7be, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xdefb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7def, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x2a25,
0xa64c, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x9f0f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb5b6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x8410, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x766e, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x3a64, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xd69a, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xce59, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xce59, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xd69a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8e2f, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xe73c, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xef5d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x754e, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x4348,
0xb6ad, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0xb6ed, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc638, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x630c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x10a2, 0xf7be, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xce79, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xce79, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf7be, 0x10a2, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x8e50, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xd6ba, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf79e, 0x18e3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x64cc, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x540a,
0xb70d, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0xae8c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xce79, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf7be, 0x31a6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8d8b, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0xaece, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7bcf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xef7d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xef7d, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x7bcf, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xce59, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0x4208, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5c2b, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x5c6c,
0x970f, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0xa62c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xd6ba, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xef7d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x95ec, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0xa66e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa534, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x9cd3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9cd3, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa534, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x1922, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xbdd7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x52aa, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4bc9, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x64cc,
0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x9dcb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xdedb, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe73c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa64d, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x9e2d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc618, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xef7d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xef7d, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc618, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5c09, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x3245, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb596, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x632c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4348, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x6d2e,
0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x958a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xdefb, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe71c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa68d, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x95ec, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xce79, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xce59, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xce59, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xce79, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x53a8, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x3ac6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xad55, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x6b6d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3ac7, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x758f,
0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x8d6a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xdedb, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xdefb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xaeae, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x95cc, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xd6ba, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc638, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc638, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xd6ba, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4b68, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x42e7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa514, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x6b4d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3266, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x7dd0,
0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x8d4a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x31a6, 0xf79e, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xdedb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xaeae, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x95ac, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xd6ba, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc638, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc638, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xd6ba, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4b48, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x4307, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa514, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x9cd3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2a25, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x7e10,
0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x852a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2945, 0xf7be, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xdefb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xae8d, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x95cc, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xce79, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xce59, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xce59, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xce79, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4b88, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x3ac6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa514, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa514, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2a05, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x8630,
0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x8d2a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xe73c, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe71c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa66d, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x960d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc618, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xef7d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xef7d, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc618, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x53c9, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x3286, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xad55, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x8410, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2a05, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x8610,
0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x8d2a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xdedb, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xef5d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9e0c, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x9e4d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa534, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x9cd3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9cd3, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa534, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x21c4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb596, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x632c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2a25, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x7df0,
0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x8d6a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xce79, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xef7d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x95ab, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0xa6ae, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7bcf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xef7d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xef7d, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x7bcf, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xbdf7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0x4208, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3266, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x75af,
0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x95ab, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc618, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0x4a49, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x970f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x10a2, 0xf7be, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xce79, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xce79, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf7be, 0x10a2, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x9690, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xce79, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf79e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3ae7, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x756e,
0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x9dcb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xad75, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x738e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x2162, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xd69a, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xce59, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xce59, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xd69a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xdefb, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe73c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4348, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x6d0d,
0x9f0e, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0xa62c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9cd3, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x9492, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x42c5, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x6dac, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8c51, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xef7d, 0xa514, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa514, 0xef7d, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x8c51, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xef7d, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xdedb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4ba9, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x64ac,
0xbeed, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0xae8c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8410, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb596, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x95cc, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xef7d, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xef5d, 0xce79, 0xce59, 0xce59, 0xce79, 0xef7d, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xef7d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4b27, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x5c4a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x52aa, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xce59, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5c2b, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x5c4b,
0xae8c, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0xb6ed, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6b4d, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xce79, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa66d, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9cf3, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x9cf3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x3265, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8c51, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbdd7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x64cc, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x4bca,
0xa62b, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x10c1, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2965, 0xf7be, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xef5d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xef5d, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xef5d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb5b6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa514, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x756e, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x4328,
0x95aa, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x4ac5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xe73c, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x52aa, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5b87, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0xa6ae, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x73ae, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x73ae, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xd6ba, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x8410, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8610, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x21c4,
0x84e9, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x6c28, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xd69a, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x9cd3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x5346, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb596, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb596, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x5c0a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0861, 0xf7be, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0x4a69, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x8651, 0x0000,
0x6c07, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x8d6a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb5b6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xce79, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x95ec, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0xa66e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xd69a, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xd69a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5be9, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x10e1, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8410, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xef5d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2a45, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x7daf, 0x0000,
0x4284, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0xa64c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9492, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf79e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6428, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x4b06, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xdedb, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xdedb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc618, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xd69a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x53ea, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x6ced, 0x0000,
0x0000, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0xa70e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4a69, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x8430, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0xaecf, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xd69a, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xd69a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x4b88, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xef7d, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb596, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6d2d, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x540a, 0x0000,
0x0000, 0xae8c, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x4ac5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xe73c, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xce79, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb5b6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb5b6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7bef, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x7bef, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8630, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x2a46, 0x0000,
0x0000, 0x95aa, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x7cc9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc618, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0x2104, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2182, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x3204, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8410, 0xe73c, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe73c, 0x8410, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x864f, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xce59, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf7be, 0x18e3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x10e2, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x0000, 0x0000,
0x0000, 0x6c27, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0xa62c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8c51, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa514, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x95cc, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0xaecf, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa514, 0xef5d, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xef5d, 0xa514, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x31a6, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xd69a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4ba9, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x7dcf, 0x0000, 0x0000,
0x0000, 0x2162, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x9f0f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2124, 0xf7be, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xef5d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x29e3, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x9e4d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9492, 0xce79, 0xf79e, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf79e, 0xce79, 0x9492, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xad55, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x9cf3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6d2d, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x648c, 0x0000, 0x0000,
0x0000, 0x0000, 0xae8c, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x4ae5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xd69a, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x8430, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7eae, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x960d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0861, 0x8410, 0xa514, 0xc618, 0xce79, 0xd6ba, 0xd6ba, 0xce79, 0xc618, 0xa514, 0x8410, 0x10a2, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5c09, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf79e, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x39c7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8630, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x3266, 0x0000, 0x0000,
0x0000, 0x0000, 0x8509, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x7468, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9492, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe71c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x960d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6e2d, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x5c09, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9cf3, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xd6ba, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x8691, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x3a64, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x7cc9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x10a2, 0xf7be, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x8410, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x9e2d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x8e4f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xef7d, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x9492, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0881, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x6ced, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0xb6ad, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x7c88, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xbdf7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe73c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa66d, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0xa68e, 0x2182, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x2a04, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa514, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf79e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x2a45, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x6c27, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x5346, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5aeb, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x94b2, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2162, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0xa70f, 0x5be8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x21a3, 0x7ecf, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x10a2, 0xf7be, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbdd7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x86d0, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x7e10, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0xae6c, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0xb70d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xd6ba, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf79e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6dac, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x95ed, 0x3224, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xbdf7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x4228, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x64ac, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x2a45, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa62c, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0xa70e, 0x3a64, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x73ae, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbdf7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x29e3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x632c, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xce59, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7daf, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x4328, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7468, 0xae8c, 0x76ef, 0x76ef, 0xaf0e, 0x95ab, 0x2141, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xdefb, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x632c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9e0d, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x42e6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x10c1, 0x76ef, 0x86cf, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x3225, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xe71c, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x5acb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5c6b, 0x8630, 0x76ef, 0x76ef, 0x86b0, 0x6ced, 0x10e2, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x10c1, 0x10c1, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x738e, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xef5d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa68e, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x9e4e, 0x76ef, 0x2183, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5388, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x4327, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xad55, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xce59, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x08c1, 0x08c1, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xd6ba, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbdd7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa6ae, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x9f30, 0x9e4e, 0x76ef, 0x76ef, 0x76ef, 0x6dcc, 0x5ba8, 0x5367, 0x5367, 0x53a8, 0x5be8, 0x76ef, 0x76ef, 0x76ef, 0x8dee, 0xa6d0, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x53a8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5aeb, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x4228, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x528a, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x7bcf, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa68e, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x53a8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xef5d, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb596, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb5b6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf7be, 0x2104, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9e4d, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x4b27, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc638, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xef7d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xef7d, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xd6ba, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8dac, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x3a86, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9492, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x8410, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x73ae, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa534, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4a49, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc638, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xbdd7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x4a49, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4b06, 0xa6ae, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xce79, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xef7d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xe73c, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb5b6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x8e2f, 0x3285, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5acb, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x738e, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4a69, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xdedb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4ae6, 0x9e2d, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x94b2, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xad55, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8c51, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xd6ba, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x76ef, 0x9e6e, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9492, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xce79, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xad75, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xad75, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5bc8, 0x9e2d, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x0880, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4a69, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe71c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xbdf7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0x39c7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x42e6, 0x76ef, 0xa6cf, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x7ecf, 0x5be9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xce59, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xef5d, 0x3186, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc618, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x9492, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5367, 0x76ef, 0x9e6e, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x1962, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x31a6, 0xef7d, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xef5d, 0x4228, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xad75, 0xf7be, 0xffff, 0xffff, 0xffff, 0xffff, 0xef7d, 0x94b2, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2183, 0x5be8, 0x76ef, 0x95ed, 0x9e8f, 0xa6ef, 0xa730, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0x76ef, 0xa730, 0xa6f0, 0x9e8f, 0x962e, 0x76ef, 0x76ef, 0x3aa5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4208, 0xd6ba, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xd6ba, 0x2965, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
};
#pragma GCC diagnostic pop
+260
View File
@@ -0,0 +1,260 @@
#ifndef GUI_H
#define GUI_H
#include <Arduino.h>
#include <TFT_eSPI.h>
#include "TEF6686.h"
#include "WiFiConnect.h"
#include "WiFiConnectParam.h"
#include "menugraphics.h"
#define SMETERPIN 27
#define CONTRASTPIN 2
extern bool advancedRDS;
extern bool afmethodBold;
extern bool afpage;
extern bool afscreen;
extern bool artheadold;
extern bool autoDST;
extern bool autolog;
extern bool autosquelch;
extern bool BWreset;
extern bool BWtune;
extern bool change;
extern bool clockampm;
extern bool compressedold;
extern bool dropout;
extern bool dynamicPTYold;
extern bool dynamicspi;
extern bool edgebeep;
extern bool fmsi;
extern bool fullsearchrds;
extern bool hasafold;
extern bool haseonold;
extern bool hasrtplusold;
extern bool hastmcold;
extern bool LowLevelInit;
extern bool menu;
extern bool menuopen;
extern bool mwstepsize;
extern bool rdsreset;
extern bool RDSstatus;
extern bool RDSstatusold;
extern bool rdsstatscreen;
extern bool rdsstereoold;
extern bool usesquelch;
extern bool scandxmode;
extern bool scanholdonsignal;
extern bool scanmem;
extern bool scanmute;
extern bool setupmode;
extern bool showclock;
extern bool showlongps;
extern bool softmuteam;
extern bool softmutefm;
extern bool Stereostatusold;
extern bool StereoToggle;
extern bool TAold;
extern bool TPold;
extern bool USBmode;
extern bool XDRGTKMuteScreen;
extern bool wifi;
extern byte af;
extern byte af_counterold;
extern byte afpagenr;
extern byte amagc;
extern byte amnb;
extern byte amscansens;
extern byte audiomode;
extern byte band;
extern byte bandAM;
extern byte bandFM;
extern byte bandforbidden;
extern byte batteryold;
extern byte batteryoptions;
extern byte BWset;
extern byte BWsettemp;
extern byte ContrastSet;
extern byte CurrentSkin;
extern byte CurrentTheme;
extern byte ECCold;
extern byte fmagc;
extern byte fmscansens;
extern byte fmdefaultstepsize;
extern byte fmnb;
extern byte fmdeemphasis;
extern byte freqfont;
extern byte EQset;
extern byte iMSset;
extern byte amcodect;
extern byte amcodectcount;
extern byte amgain;
extern byte hardwaremodel;
extern byte HighCutLevel;
extern byte HighCutOffset;
extern byte items[10];
extern byte language;
extern byte longbandpress;
extern byte memorypos;
extern byte memdoublepi;
extern byte mempionly;
extern byte memstartpos;
extern byte memstoppos;
extern byte menuitem;
extern byte menupage;
extern byte poweroptions;
extern byte eonptyold[20];
extern byte rdsblockold;
extern byte scancancel;
extern byte scanstart;
extern byte scanstop;
extern byte scanhold;
extern byte scanmodeold;
extern byte screensaverOptions[5];
extern byte screensaverset;
extern byte showmodulation;
extern byte showSWMIBand;
extern byte showrdserrors;
extern byte stationlistid;
extern int8_t CNold;
extern byte StereoLevel;
extern byte StereoLevel;
extern byte submenu;
extern byte subnetclient;
extern byte TEF;
extern byte tot;
extern byte touchrotating;
extern byte tunemode;
extern byte unit;
extern byte spispeed;
extern char eonpicodeold[20][6];
extern char programTypePrevious[18];
extern float batteryVold;
extern float vPerold;
extern int ActiveColor;
extern int ActiveColorSmooth;
extern int AMLevelOffset;
extern int BackgroundColor;
extern int BackgroundColor1;
extern int BackgroundColor2;
extern int BackgroundColor3;
extern int BackgroundColor4;
extern int BackgroundColor5;
extern int BarInsignificantColor;
extern int BarSignificantColor;
extern int BatteryValueColor;
extern int BatteryValueColorSmooth;
extern int berPercentold;
extern int BWAutoColor;
extern int BWAutoColorSmooth;
extern int FrameColor;
extern int FreqColor;
extern int FreqColorSmooth;
extern int GreyoutColor;
extern int InsignificantColor;
extern int InsignificantColorSmooth;
extern int menuoption;
extern int ModBarInsignificantColor;
extern int ModBarSignificantColor;
extern int PrimaryColor;
extern int PrimaryColorSmooth;
extern int RDSColor;
extern int RDSColorSmooth;
extern int RDSDropoutColor;
extern int RDSDropoutColorSmooth;
extern int rssiold;
extern int SecondaryColor;
extern int SecondaryColorSmooth;
extern int SignificantColor;
extern int SignificantColorSmooth;
extern int Squelchold;
extern int SStatusold;
extern int StereoColor;
extern int StereoColorSmooth;
extern int WifiColorHigh;
extern int WifiColorLow;
extern int xPos;
extern int xPos2;
extern int xPos3;
extern int xPos4;
extern int xPos5;
extern int16_t SStatus;
extern int8_t LevelOffset;
extern int8_t LowLevelSet;
extern int8_t MPold;
extern int8_t USold;
extern int8_t NTPoffset;
extern int8_t VolSet;
extern String eonpsold[20];
extern String PIold;
extern String PSold;
extern String ptynold;
extern String rds_clockold;
extern String stationIDold;
extern String stationStateold;
extern String XDRGTK_key;
extern unsigned int ConverterSet;
extern unsigned int HighEdgeSet;
extern unsigned int LowEdgeSet;
extern unsigned int mappedfreqold[20];
extern unsigned int mappedfreqold2[20];
extern unsigned int mappedfreqold3[20];
extern unsigned int memstartfreq;
extern unsigned int memstopfreq;
extern unsigned long blockcounterold[33];
extern unsigned long processed_rdsblocksold[33];
extern unsigned long scantimer;
extern byte items[10];
extern const size_t language_totalnumber;
extern TFT_eSPI tft;
extern TEF6686 radio;
extern WiFiConnect wc;
extern TFT_eSprite MenuInfobox;
extern TFT_eSprite FullLineSprite;
extern TFT_eSprite OneBigLineSprite;
extern TFT_eSprite PSSprite;
extern TFT_eSprite FrequencySprite;
void BuildAFScreen();
void BuildRDSStatScreen();
void BuildMenu();
void BuildAdvancedRDS();
void BuildDisplay();
void BuildBWSelector();
void MenuUpDown(bool dir);
void DoMenu();
void doTheme();
void Infoboxprint(const char* input);
void drawButton(const char* text, byte button_number, bool active, bool selected);
String removeNewline(String inputString);
String shortLine(String text);
void showMenuOpenTouchButtons();
void showBWSelector();
extern void ShowFreq(int mode);
extern void ShowBandSelectionFM(bool notglanceview, bool normaldisplay);
extern void ShowBandSelectionAM(bool notglanceview, bool normaldisplay);
extern void ScreensaverTimerSet(byte value);
extern void ShowMemoryPos();
extern void ShowTuneMode();
extern void updateBW();
extern void ShowStepSize();
extern void updateiMS();
extern void updateEQ();
extern void doTheme();
extern void tryWiFi();
extern void TuneUp();
extern void endMenu();
extern void startFMDXScan();
extern void DoMemoryPosTune();
extern void UpdateFonts(byte mode);
extern void tftPrint(int8_t offset, const String & text, int16_t x, int16_t y, int color, int smoothcolor, uint8_t fontsize);
extern void setAutoSpeedSPI();
extern void showAutoSquelch(bool mode);
extern uint8_t doAutoMemory(uint16_t startfreq, uint16_t stopfreq, uint8_t startmem, uint8_t stopmem, bool rdsonly, uint8_t doublepi);
extern void ClearMemoryRange(uint8_t start, uint8_t stop);
extern bool handleCreateNewLogbook();
extern const char* textUI(uint16_t number);
#endif
+6673
View File
File diff suppressed because it is too large Load Diff
+47
View File
@@ -0,0 +1,47 @@
#ifndef LOGBOOK_H
#define LOGBOOK_H
#include <Arduino.h>
#include <TFT_eSPI.h>
#include <WiFi.h>
#include <FS.h>
using fs::FS;
#include <WebServer.h>
#include <SPIFFS.h>
#include "TEF6686.h"
extern bool autoDST;
extern bool clockampm;
extern bool NTPupdated;
extern bool rtcset;
extern bool scandxmode;
extern byte band;
extern byte chipmodel;
extern byte language;
extern byte scanhold;
extern byte unit;
extern int16_t SStatus;
extern int8_t NTPoffset;
extern unsigned int ConverterSet;
extern unsigned int frequency;
extern unsigned int frequency_OIRT;
extern unsigned int logcounter;
extern IPAddress remoteip;
extern TEF6686 radio;
extern WebServer webserver;
extern WiFiUDP Udp;
void handleRoot();
void handleDownloadCSV();
bool handleCreateNewLogbook();
byte addRowToCSV();
String getCurrentDateTime(bool inUTC);
bool isDST(time_t t);
void handleLogo();
void printLogbookCSV();
void sendUDPlog();
IPAddress makeBroadcastAddress(IPAddress ip);
extern const char* textUI(uint16_t number);
#endif
File diff suppressed because it is too large Load Diff
+162
View File
@@ -0,0 +1,162 @@
#ifndef RDS_H
#define RDS_H
#include <Arduino.h>
#include <TFT_eSPI.h>
#include <WiFiClient.h>
#include "TEF6686.h"
#include <WiFi.h>
#include <ESP32Time.h>
extern bool advancedRDS;
extern bool afmethodBold;
extern bool afpage;
extern bool afscreen;
extern bool aftest;
extern bool autoDST;
extern bool artheadold;
extern bool BWreset;
extern bool compressedold;
extern bool clearrds;
extern bool clockampm;
extern bool dropout;
extern bool dynamicPTYold;
extern bool fullsearchrds;
extern bool hasafold;
extern bool hasCTold;
extern bool haseonold;
extern bool hasrtplusold;
extern bool hastmcold;
extern bool memreset;
extern bool NTPupdated;
extern bool rdsreset;
extern bool RDSSPYTCP;
extern bool RDSSPYUSB;
extern bool RDSstatus;
extern bool rdsstatscreen;
extern bool rdsstereoold;
extern bool rtcset;
extern bool screenmute;
extern bool setupmode;
extern bool showclock;
extern bool showlongps;
extern bool TAold;
extern bool TPold;
extern bool wifi;
extern bool XDRGTKTCP;
extern bool XDRGTKUSB;
extern byte af_counterold;
extern byte aid_counterold;
extern byte afpagenr;
extern byte band;
extern byte charwidth;
extern byte CurrentSkin;
extern byte ECCold;
extern byte language;
extern byte eonptyold[20];
extern byte rdsblockold;
extern byte rdsqualityold;
extern byte showrdserrors;
extern byte stationlistid;
extern char eonpicodeold[20][6];
extern char programTypePrevious[18];
extern int ActiveColor;
extern int ActiveColorSmooth;
extern int BackgroundColor;
extern int BackgroundColor1;
extern int BackgroundColor2;
extern int BackgroundColor4;
extern int BarSignificantColor;
extern int BarInsignificantColor;
extern int berPercentold;
extern int BWAutoColor;
extern int BWAutoColorSmooth;
extern int FrameColor;
extern int FreqColor;
extern int FreqColorSmooth;
extern int GreyoutColor;
extern int InsignificantColor;
extern int InsignificantColorSmooth;
extern int PrimaryColor;
extern int PrimaryColorSmooth;
extern int RDSColor;
extern int RDSColorSmooth;
extern int RDSDropoutColor;
extern int RDSDropoutColorSmooth;
extern int SecondaryColor;
extern int SecondaryColorSmooth;
extern int SignificantColor;
extern int SignificantColorSmooth;
extern int xPos;
extern int xPos2;
extern int xPos3;
extern int xPos4;
extern int xPos5;
extern int8_t NTPoffset;
extern int16_t SAvg3;
extern IPAddress remoteip;
extern String AIDString;
extern String ECColdString;
extern String ECCString;
extern String eonpsold[20];
extern String PIold;
extern String PSold;
extern String ptynold;
extern String PTYold;
extern String rds_clock;
extern String rds_clockold;
extern String rds_date;
extern String rds_dateold;
extern String RDSSPYRDS;
extern String RDSSPYRDSold;
extern String RTold;
extern String stationIDold;
extern String stationStateold;
extern String XDRGTKRDS;
extern String XDRGTKRDSold;
extern unsigned int mappedfreqold[20];
extern unsigned int mappedfreqold2[20];
extern unsigned int mappedfreqold3[20];
extern unsigned long afticker;
extern unsigned long aftickerhold;
extern unsigned long aftimer;
extern unsigned long blockcounterold[33];
extern unsigned long eonticker;
extern unsigned long eontickerhold;
extern unsigned long processed_rdsblocksold[33];
extern unsigned long pslongticker;
extern unsigned long pslongtickerhold;
extern unsigned long rtplusticker;
extern unsigned long rtplustickerhold;
extern unsigned long rtticker;
extern unsigned long rttickerhold;
extern ESP32Time rtc;
extern TFT_eSPI tft;
extern TEF6686 radio;
extern WiFiClient RemoteClient;
extern WiFiUDP Udp;
extern TFT_eSprite FullLineSprite;
extern TFT_eSprite RDSSprite;
extern TFT_eSprite PSSprite;
void ShowAdvancedRDS();
void readRds();
void showECC();
void doAF();
void showPI();
void showPTY();
void showPS();
void showRadioText();
void ShowAFEON();
void showCT();
void ShowErrors();
void ShowRDSStatistics();
extern void ShowRDSLogo(bool RDSstatus);
extern void DataPrint(String string);
extern void tftPrint(int8_t offset, const String & text, int16_t x, int16_t y, int color, int smoothcolor, uint8_t fontsize);
extern void tftReplace(int8_t offset, const String & textold, const String & text, int16_t x, int16_t y, int color, int smoothcolor, int background, uint8_t fontsize);
extern bool isDST(time_t t);
extern const char* textUI(uint16_t number);
#endif
+62
View File
@@ -0,0 +1,62 @@
#ifndef TOUCH_H
#define TOUCH_H
#include <Arduino.h>
#include <TFT_eSPI.h>
#include "TEF6686.h"
extern TFT_eSPI tft;
extern TEF6686 radio;
extern bool advancedRDS;
extern bool afpage;
extern bool afscreen;
extern bool bwtouchtune;
extern bool BWtune;
extern bool leave;
extern bool menu;
extern bool menuopen;
extern bool scandxmode;
extern bool seek;
extern bool touchrepeat;
extern bool XDRGTKTCP;
extern bool XDRGTKUSB;
extern byte afpagenr;
extern byte band;
extern byte BWset;
extern byte BWtemp;
extern byte EQset;
extern byte iMSEQ;
extern byte iMSset;
extern byte menuitem;
extern byte items[10];
extern byte menupage;
extern int menuoption;
void doTouchEvent(uint16_t x, uint16_t y);
//extern void ScreensaverTimerReopen();
extern void BuildDisplay();
extern void BuildBWSelector();
extern void SelectBand();
extern void BuildAdvancedRDS();
extern void doBandToggle();
extern void doTuneMode();
extern void doStereoToggle();
extern void cancelDXScan();
extern void doBW();
extern void drawButton(const char* text, byte button_number, bool active, bool selected);
extern void KeyDown();
extern void KeyUp();
extern void ButtonPress();
extern void DoMenu();
extern void ModeButtonPress();
extern void toggleiMSEQ();
extern void showBWSelector();
extern void updateiMS();
extern void updateEQ();
extern void DataPrint(String string);
extern void BuildAFScreen();
extern void ShowFreq(int mode);
#endif