0.14.0-b15.21 release!

This commit is contained in:
Ewoud
2023-04-02 13:22:38 +02:00
parent 11a02bb814
commit eead626dd5
12 changed files with 1350 additions and 1340 deletions

4
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{
"name": "wled",
"version": "0.14.0-b2.20",
"version": "0.14.0-b15.21",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "wled",
"version": "0.14.0-b2.20",
"version": "0.14.0-b15.21",
"license": "ISC",
"dependencies": {
"clean-css": "^4.2.3",

View File

@@ -1,6 +1,6 @@
{
"name": "wled",
"version": "0.14.0-b2.20",
"version": "0.14.0-b15.21",
"description": "Tools for WLED project",
"main": "tools/cdata.js",
"directories": {

View File

@@ -20,15 +20,32 @@
* 2. Register the usermod by adding #include "usermod_filename.h" in the top and registerUsermod(new MyUsermodClass()) in the bottom of usermods_list.cpp
*/
/* WLEDMM: move usermod variables to class.
As of March 2023 this is work in progress, more variables will be moved in the future.
See Example v2, Temperature, MPU6050 and weather and fastled (rest to be done) as examples which has been converted using the steps below:
Part 1
- remove bool enabled = false/true (now default false)
- remove static const char _name[] and _enabled[]
- add constructor which calls superclass (temp?): XXXUsermod(const char *name, bool enabled):Usermod(name, enabled) {}
- replace _enabled with "enabled"
- remove const char PROGMEM init for _name[] and _enabled[]
Part 2
- Remove bool initDone = false;
- addToConfig: replace createNestedObject with Usermod::addToConfig(root); JsonObject top = root[FPSTR(_name)];
- readFromConfig: replace !top.isNull and enabled with bool configComplete = Usermod::readFromConfig(root);JsonObject top = root[FPSTR(_name)];
Part 3
- remove unsigned long lastTime = 0; //WLEDMM
*/
//class name. Use something descriptive and leave the ": public Usermod" part :)
class MyExampleUsermod : public Usermod {
private:
// Private class members. You can declare variables and functions only accessible to your usermod here
bool enabled = false;
bool initDone = false;
unsigned long lastTime = 0;
// set your config variables to their boot default value (this can also be done in readFromConfig() or a constructor if you prefer)
bool testBool = false;
@@ -41,28 +58,25 @@ class MyExampleUsermod : public Usermod {
long testLong;
int8_t testPins[2];
// string that are used multiple time (this will save some flash memory)
static const char _name[];
static const char _enabled[];
// any private methods should go here (non-inline methosd should be defined out of class)
void publishMqtt(const char* state, bool retain = false); // example for publishing MQTT message
public:
MyExampleUsermod(const char *name, bool enabled):Usermod(name, enabled) {} //WLEDMM
// non WLED related methods, may be used for data exchange between usermods (non-inline methods should be defined out of class)
/**
* Enable/Disable the usermod
*/
inline void enable(bool enable) { enabled = enable; }
// inline void enable(bool enable) { enabled = enable; }
/**
* Get usermod enabled/disabled state
*/
inline bool isEnabled() { return enabled; }
// inline bool isEnabled() { return enabled; }
// in such case add the following to another usermod:
// in private vars:
@@ -222,8 +236,8 @@ class MyExampleUsermod : public Usermod {
*/
void addToConfig(JsonObject& root)
{
JsonObject top = root.createNestedObject(FPSTR(_name));
top[FPSTR(_enabled)] = enabled;
Usermod::addToConfig(root); JsonObject top = root[FPSTR(_name)]; //WLEDMM
//save these vars persistently whenever settings are saved
top["great"] = userVar0;
top["testBool"] = testBool;
@@ -258,9 +272,7 @@ class MyExampleUsermod : public Usermod {
// default settings values could be set here (or below using the 3-argument getJsonValue()) instead of in the class definition or constructor
// setting them inside readFromConfig() is slightly more robust, handling the rare but plausible use case of single value being missing after boot (e.g. if the cfg.json was manually edited and a value was removed)
JsonObject top = root[FPSTR(_name)];
bool configComplete = !top.isNull();
bool configComplete = Usermod::readFromConfig(root);JsonObject top = root[FPSTR(_name)]; //WLEDMM
configComplete &= getJsonValue(top["great"], userVar0);
configComplete &= getJsonValue(top["testBool"], testBool);
@@ -386,8 +398,6 @@ class MyExampleUsermod : public Usermod {
// add more strings here to reduce flash memory usage
const char MyExampleUsermod::_name[] PROGMEM = "ExampleUsermod";
const char MyExampleUsermod::_enabled[] PROGMEM = "enabled";
// implementation of non-inline member methods

View File

@@ -202,11 +202,11 @@ class MultiRelay : public Usermod {
/**
* Enable/Disable the usermod
*/
inline void enable(bool enable) { enabled = enable; }
// inline void enable(bool enable) { enabled = enable; }
/**
* Get usermod enabled/disabled state
*/
inline bool isEnabled() { return enabled; }
// inline bool isEnabled() { return enabled; }
/**
* switch relay on/off

View File

@@ -94,7 +94,7 @@ uint16_t mode_2DWeather(void) {
return FRAMETIME;
}
static const char _data_FX_MODE_2DWEATHER[] PROGMEM = "Weather ☾@;!;!;2;pal=54"; //temperature palette
static const char _data_FX_MODE_2DWEATHER[] PROGMEM = "🌦Weather ☾@;!;!;2;pal=54"; //temperature palette
//utility function, move somewhere else???
void epochToString(time_t time, char *timeString) {
@@ -144,7 +144,6 @@ class WeatherUsermod : public Usermod {
// strings to reduce flash memory usage (used more than twice)
String apiKey = ""; //config var
unsigned long lastTime = 0; //will be used to download new forecast every hour
char errorMessage[100] = "";
bool isConnected = false; //only call openweathermap if connected

View File

@@ -671,7 +671,7 @@ function populateInfo(i)
if (i.ver.includes("0.14.1")) vcn = "Sitting Ducks"; // easter egg
if (i.ver.includes("0.14.0")) vcn = "Lupo"; // check for MM versioning scheme
if (i.ver.includes("0.14.0-b2.2")) vcn = "Sitting Ducks"; // early easter egg
if (i.ver.includes("0.14.0-b2.20")) vcn = "Lupo";
if (i.ver.includes("0.14.0-b15.21")) vcn = "Lupo";
cn += `v${i.ver} &nbsp;<i>"${vcn}"</i><p>(WLEDMM_${i.ver} ${i.rel}.bin)</p><p><em>build ${i.vid}</em></p><table>
${urows}
${urows===""?'':'<tr><td colspan=2><hr style="height:1px;border-width:0;color:SeaGreen;background-color:Seagreen"></td></tr>'}

View File

@@ -265,6 +265,7 @@ class Usermod {
bool enabled = false; //WLEDMM
const char *_name; //WLEDMM
bool initDone = false; //WLEDMM
unsigned long lastTime = 0; //WLEDMM
public:
Usermod(const char *_name = nullptr, bool enabled=false) { um_data = nullptr; this->_name = _name; this->enabled=enabled;}
virtual ~Usermod() { if (um_data) delete um_data; }

View File

@@ -41,46 +41,46 @@ const char PAGE_dmxmap[] PROGMEM = R"=====()=====";
#endif
// Autogenerated from wled00/data/update.htm, do not edit!!
const uint16_t PAGE_update_length = 605;
const uint16_t PAGE_update_length = 606;
const uint8_t PAGE_update[] PROGMEM = {
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x13, 0x75, 0x53, 0xd1, 0x6e, 0xd3, 0x30,
0x14, 0x7d, 0xcf, 0x57, 0x78, 0x7e, 0x6a, 0x25, 0xea, 0x8c, 0x89, 0x17, 0x46, 0x92, 0xa1, 0xb2,
0x09, 0x21, 0x31, 0x6d, 0xd2, 0x36, 0x10, 0x4f, 0xc8, 0x89, 0x6f, 0x12, 0x53, 0xc7, 0xce, 0xec,
0x9b, 0x56, 0xd5, 0xb4, 0x7f, 0xe7, 0xda, 0x69, 0x07, 0xd2, 0xe0, 0x25, 0xaa, 0xe3, 0x73, 0x4f,
0xcf, 0x3d, 0xe7, 0xa4, 0x38, 0xb9, 0xbc, 0xf9, 0x74, 0xff, 0xe3, 0xf6, 0x8a, 0xf5, 0x38, 0x98,
0xaa, 0x38, 0x3c, 0x41, 0xaa, 0xaa, 0x18, 0x00, 0x25, 0x6b, 0x9c, 0x45, 0xb0, 0x58, 0xf2, 0x9d,
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x13, 0x75, 0x53, 0xc1, 0x6e, 0xd4, 0x30,
0x14, 0xbc, 0xe7, 0x2b, 0x5c, 0x9f, 0x76, 0x25, 0xd6, 0x69, 0x2b, 0x38, 0x50, 0x92, 0x14, 0x2d,
0xad, 0x10, 0x12, 0xa8, 0x95, 0xda, 0x82, 0x38, 0x21, 0x27, 0x7e, 0x49, 0xcc, 0x3a, 0x76, 0x6a,
0xbf, 0xec, 0x6a, 0x85, 0xfa, 0xef, 0x3c, 0x3b, 0xbb, 0x05, 0xa9, 0x70, 0x89, 0xe2, 0x64, 0xde,
0x64, 0xde, 0xcc, 0xa4, 0x38, 0xb9, 0xba, 0xf9, 0x70, 0xff, 0xfd, 0xf6, 0x9a, 0xf5, 0x38, 0x98,
0xaa, 0x38, 0x5c, 0x41, 0xaa, 0xaa, 0x18, 0x00, 0x25, 0x6b, 0x9c, 0x45, 0xb0, 0x58, 0xf2, 0x9d,
0x56, 0xd8, 0x97, 0x0a, 0xb6, 0xba, 0x81, 0x55, 0x3a, 0x70, 0x66, 0xe5, 0x00, 0x25, 0xdf, 0x6a,
0xd8, 0x8d, 0xce, 0x23, 0xaf, 0xb2, 0x02, 0x35, 0x1a, 0xa8, 0xbe, 0x7f, 0xbd, 0xba, 0x64, 0x0f,
0xa3, 0x92, 0x08, 0x45, 0x3e, 0xbf, 0x2a, 0x42, 0xe3, 0xf5, 0x88, 0x55, 0xd6, 0x4e, 0xb6, 0x41,
0xed, 0x2c, 0x5b, 0x2f, 0x96, 0x4f, 0x3b, 0x6d, 0x95, 0xdb, 0x89, 0x5e, 0x07, 0x74, 0x7e, 0x2f,
0x6a, 0xd9, 0x6c, 0x16, 0xcb, 0xe7, 0x17, 0xc8, 0x03, 0x41, 0x94, 0x6b, 0xa6, 0x81, 0x14, 0x88,
0x0e, 0xf0, 0xca, 0x40, 0xfc, 0xb9, 0xde, 0x7f, 0x51, 0x0b, 0x3e, 0xb5, 0x7c, 0x29, 0x02, 0xee,
0x0d, 0x08, 0xa5, 0xc3, 0x68, 0xe4, 0xbe, 0xe4, 0xd6, 0x59, 0xe0, 0x6f, 0xfe, 0x3b, 0x32, 0x84,
0xee, 0xf5, 0x4c, 0x6d, 0x5c, 0xb3, 0xe1, 0xcf, 0x59, 0x91, 0x1f, 0x24, 0x1e, 0xa4, 0xb2, 0xe0,
0x9b, 0x92, 0xe7, 0x01, 0x10, 0xb5, 0xed, 0x42, 0x1e, 0xc4, 0xaf, 0x70, 0x31, 0x96, 0xef, 0x79,
0xf5, 0x17, 0x32, 0x52, 0x55, 0xd9, 0x47, 0x3d, 0x44, 0x03, 0xd8, 0xe4, 0xcd, 0x82, 0xcf, 0xf4,
0x4d, 0x08, 0x7c, 0xf9, 0x81, 0x90, 0x09, 0x51, 0xe4, 0xb3, 0xa5, 0xb5, 0x53, 0x7b, 0xe6, 0xac,
0x71, 0x52, 0x95, 0xfc, 0x33, 0xe0, 0xb7, 0xc5, 0x92, 0xe8, 0xfa, 0xb3, 0x2a, 0xbb, 0x76, 0xce,
0x5e, 0x3b, 0xc5, 0x92, 0x75, 0x77, 0xae, 0xc5, 0x9d, 0xf4, 0xf0, 0xe2, 0x21, 0x21, 0x8a, 0xd6,
0xf9, 0x81, 0x51, 0x26, 0xbd, 0xa3, 0xd9, 0xdb, 0x9b, 0xbb, 0x7b, 0xce, 0x64, 0xb2, 0x89, 0x44,
0x4e, 0x09, 0xc7, 0x99, 0xa6, 0x2b, 0xf2, 0x85, 0x65, 0x40, 0x0e, 0xee, 0x47, 0x0a, 0x67, 0x98,
0x0c, 0xea, 0x51, 0x7a, 0xcc, 0xe3, 0xfc, 0x8a, 0x60, 0x92, 0x93, 0x82, 0x30, 0xd5, 0x83, 0xa6,
0x54, 0x1f, 0x92, 0x80, 0x30, 0x4a, 0xcb, 0x1a, 0x23, 0x43, 0x28, 0x79, 0xd0, 0x23, 0xaf, 0x4e,
0xc5, 0xdb, 0x77, 0xe2, 0x74, 0x55, 0x9f, 0x89, 0xb3, 0xd3, 0x68, 0x0c, 0xdd, 0x93, 0x78, 0x5f,
0x5d, 0xba, 0x5d, 0x12, 0xcf, 0xb0, 0x07, 0x66, 0xe8, 0x2f, 0x03, 0x32, 0x0f, 0x06, 0x64, 0x80,
0x73, 0x56, 0x48, 0x96, 0xf5, 0x1e, 0xda, 0x92, 0xf7, 0x88, 0x63, 0x38, 0xcf, 0xf3, 0x4e, 0x63,
0x3f, 0xd5, 0xa2, 0x71, 0x43, 0x7e, 0xd8, 0x6f, 0x32, 0x10, 0xf2, 0xb8, 0x63, 0x7e, 0x18, 0x0b,
0x9c, 0xa1, 0xf4, 0x14, 0x54, 0xc9, 0x7f, 0xd6, 0x46, 0xda, 0x0d, 0xc9, 0xd1, 0x43, 0xc7, 0xb2,
0xe4, 0xfe, 0x91, 0x88, 0xde, 0x88, 0xd0, 0x6b, 0x30, 0x2a, 0x08, 0xed, 0x0e, 0xbc, 0x47, 0x8a,
0x57, 0xdc, 0x22, 0x6c, 0xbb, 0x8b, 0x64, 0x7c, 0xd9, 0x92, 0xc8, 0x55, 0x78, 0x9c, 0xc8, 0xcc,
0x58, 0xcf, 0x5c, 0xa6, 0x35, 0x0a, 0x6d, 0xc7, 0x09, 0xd9, 0xec, 0x50, 0xab, 0x0d, 0x1c, 0xab,
0x7c, 0xf4, 0xd1, 0xc3, 0xe3, 0xa4, 0x3d, 0xa8, 0x19, 0x5d, 0x4f, 0x88, 0xd4, 0xc6, 0x19, 0x3e,
0x3b, 0x47, 0x64, 0x73, 0x36, 0x27, 0x45, 0x3e, 0x5f, 0xff, 0x03, 0x3a, 0x1f, 0xa2, 0xdd, 0x8d,
0xd1, 0xcd, 0xa6, 0xe4, 0xeb, 0xe8, 0xf6, 0x9a, 0x4a, 0xfe, 0x67, 0x28, 0xc5, 0x52, 0x15, 0x4a,
0x6f, 0xb3, 0x94, 0x5e, 0xac, 0x28, 0xd1, 0x54, 0x89, 0x9d, 0x7a, 0x27, 0x84, 0x20, 0x70, 0x22,
0xbf, 0x4d, 0xdb, 0x32, 0xe5, 0x98, 0x75, 0x48, 0x71, 0x39, 0x3a, 0x38, 0x4f, 0x5a, 0x5b, 0x0f,
0xa1, 0x4f, 0x91, 0x8c, 0xb2, 0x03, 0x76, 0xbe, 0x2c, 0x72, 0xe2, 0x8b, 0xeb, 0xc6, 0xbe, 0xc5,
0xf2, 0xc5, 0xaf, 0xfa, 0x37, 0x19, 0xf3, 0xf6, 0x73, 0xeb, 0x03, 0x00, 0x00
0xd8, 0x8d, 0xce, 0x23, 0xaf, 0xb2, 0x02, 0x35, 0x1a, 0xa8, 0xbe, 0x7d, 0xbe, 0xbe, 0x62, 0x0f,
0xa3, 0x92, 0x08, 0x45, 0x3e, 0x3f, 0x2a, 0x42, 0xe3, 0xf5, 0x88, 0x55, 0xd6, 0x4e, 0xb6, 0x41,
0xed, 0x2c, 0x5b, 0x2f, 0x96, 0xbf, 0x76, 0xda, 0x2a, 0xb7, 0x13, 0xbd, 0x0e, 0xe8, 0xfc, 0x5e,
0xd4, 0xb2, 0xd9, 0x2c, 0x96, 0x4f, 0xcf, 0x90, 0x07, 0x82, 0x28, 0xd7, 0x4c, 0x03, 0x29, 0x10,
0x1d, 0xe0, 0xb5, 0x81, 0x78, 0xbb, 0xde, 0x7f, 0x52, 0x0b, 0x3e, 0xb5, 0x7c, 0x29, 0x02, 0xee,
0x0d, 0x08, 0xa5, 0xc3, 0x68, 0xe4, 0xbe, 0xe4, 0xd6, 0x59, 0xe0, 0xaf, 0xfe, 0x3b, 0x32, 0x84,
0xee, 0xe5, 0x4c, 0x6d, 0x5c, 0xb3, 0xe1, 0x4f, 0x59, 0x91, 0x1f, 0x24, 0x1e, 0xa4, 0xb2, 0xe0,
0x9b, 0x92, 0xe7, 0x01, 0x10, 0xb5, 0xed, 0x42, 0x1e, 0xc4, 0xcf, 0x70, 0x39, 0x96, 0x6f, 0x79,
0xf5, 0x17, 0x32, 0x52, 0x55, 0xd9, 0x7b, 0x3d, 0x44, 0x03, 0xd8, 0xe4, 0xcd, 0x82, 0xcf, 0xf4,
0x4d, 0x08, 0x7c, 0xf9, 0x8e, 0x90, 0x09, 0x51, 0xe4, 0xb3, 0xa5, 0xb5, 0x53, 0x7b, 0xe6, 0xac,
0x71, 0x52, 0x95, 0xfc, 0x23, 0xe0, 0xd7, 0xc5, 0x92, 0xe8, 0xfa, 0xf3, 0x2a, 0xfb, 0xe2, 0x9c,
0xfd, 0xe2, 0x14, 0x4b, 0xd6, 0xdd, 0xb9, 0x16, 0x77, 0xd2, 0xc3, 0xb3, 0x87, 0x84, 0x28, 0x5a,
0xe7, 0x07, 0x46, 0x99, 0xf4, 0x8e, 0x66, 0x6f, 0x6f, 0xee, 0xee, 0x39, 0x93, 0xc9, 0x26, 0x12,
0x39, 0x25, 0x1c, 0x67, 0x9a, 0x5e, 0x91, 0x2f, 0x2c, 0x03, 0x72, 0x70, 0x3f, 0x52, 0x38, 0xc3,
0x64, 0x50, 0x8f, 0xd2, 0x63, 0x1e, 0xe7, 0x57, 0x04, 0x93, 0x9c, 0x14, 0x84, 0xa9, 0x1e, 0x34,
0xa5, 0xfa, 0x90, 0x04, 0x84, 0x51, 0x5a, 0xd6, 0x18, 0x19, 0x42, 0xc9, 0x83, 0x1e, 0x79, 0x75,
0x2a, 0xce, 0x5e, 0x8b, 0xd3, 0x55, 0x7d, 0xf6, 0x46, 0x9c, 0x9f, 0x45, 0x67, 0x08, 0x40, 0xea,
0x7d, 0x75, 0xe5, 0x76, 0x49, 0x3d, 0xc3, 0x1e, 0x98, 0xa1, 0x6f, 0x06, 0x64, 0x1e, 0x0c, 0xc8,
0x00, 0x17, 0xac, 0x90, 0x2c, 0xeb, 0x3d, 0xb4, 0x25, 0xef, 0x11, 0xc7, 0x70, 0x91, 0xe7, 0x9d,
0xc6, 0x7e, 0xaa, 0x45, 0xe3, 0x86, 0xfc, 0xb0, 0xe0, 0x64, 0x20, 0xe4, 0x71, 0xc9, 0xfc, 0x30,
0x16, 0x38, 0x43, 0xe9, 0x29, 0xa9, 0x92, 0xff, 0xa8, 0x8d, 0xb4, 0x1b, 0xd2, 0xa3, 0x87, 0x8e,
0x65, 0xc9, 0xfe, 0x23, 0x11, 0x3d, 0x11, 0xa1, 0xd7, 0x60, 0x54, 0x10, 0xda, 0x1d, 0x78, 0x8f,
0x14, 0x2f, 0xb8, 0x45, 0xd8, 0x76, 0x97, 0xc9, 0xf9, 0xb2, 0x25, 0x91, 0xab, 0xf0, 0x38, 0x91,
0x9b, 0xb1, 0x9f, 0xb9, 0x4c, 0x6b, 0x14, 0xda, 0x8e, 0x13, 0xb2, 0xd9, 0xa2, 0x56, 0x1b, 0x38,
0x76, 0xf9, 0x68, 0xa4, 0x87, 0xc7, 0x49, 0x7b, 0x50, 0x33, 0xba, 0x9e, 0x10, 0xa9, 0x8e, 0x33,
0x7c, 0xb6, 0x8e, 0xc8, 0xe6, 0x70, 0x4e, 0x8a, 0x7c, 0x7e, 0xfd, 0x0f, 0xe8, 0x7c, 0x88, 0x7e,
0x37, 0x46, 0x37, 0x9b, 0x92, 0xaf, 0xa3, 0xdd, 0x6b, 0x6a, 0xf9, 0x9f, 0xa1, 0x94, 0x4b, 0x55,
0x28, 0xbd, 0xcd, 0x52, 0x7c, 0xb1, 0xa3, 0x44, 0x53, 0x25, 0x76, 0x2a, 0x9e, 0x10, 0x82, 0xc0,
0x89, 0xfc, 0x36, 0x6d, 0xcb, 0x94, 0x63, 0xd6, 0x21, 0xe5, 0xe5, 0xe8, 0xe0, 0x3c, 0x69, 0x6d,
0x3d, 0x84, 0x3e, 0x45, 0x32, 0xca, 0x0e, 0xd8, 0xc5, 0xb2, 0xc8, 0x89, 0x2f, 0xae, 0x1b, 0x0b,
0x17, 0xdb, 0x17, 0x7f, 0xeb, 0xdf, 0x2e, 0x45, 0x6b, 0xaa, 0xec, 0x03, 0x00, 0x00
};

View File

@@ -1534,165 +1534,165 @@ const uint8_t PAGE_settings_time[] PROGMEM = {
// Autogenerated from wled00/data/settings_sec.htm, do not edit!!
const uint16_t PAGE_settings_sec_length = 2498;
const uint16_t PAGE_settings_sec_length = 2500;
const uint8_t PAGE_settings_sec[] PROGMEM = {
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x13, 0xa5, 0x58, 0xff, 0x72, 0xdb, 0xb8,
0x11, 0xfe, 0x5f, 0x4f, 0x01, 0xe1, 0x66, 0x72, 0x62, 0x8f, 0xa6, 0x1c, 0x27, 0xbd, 0x49, 0x1c,
0x51, 0xa9, 0x1d, 0x3b, 0x17, 0xdf, 0xd8, 0xb1, 0x27, 0x52, 0x2e, 0xed, 0xa4, 0x99, 0x0c, 0x44,
0x42, 0x22, 0x22, 0x92, 0xe0, 0x01, 0xa0, 0x15, 0x35, 0x77, 0xef, 0xd1, 0xa7, 0xe9, 0xc3, 0xf4,
0x49, 0xfa, 0x2d, 0x48, 0x4a, 0xb2, 0xe3, 0x24, 0x93, 0xe9, 0x1f, 0xb6, 0x44, 0x02, 0xd8, 0x1f,
0xdf, 0xee, 0x7e, 0xbb, 0xd0, 0xa8, 0x7f, 0x72, 0xf9, 0x6c, 0xfa, 0x8f, 0xab, 0x53, 0x96, 0xb9,
0x22, 0x1f, 0x8f, 0xe8, 0x3f, 0xcb, 0x45, 0xb9, 0x88, 0xb9, 0x2c, 0x39, 0x9e, 0xa5, 0x48, 0xc7,
0xa3, 0x42, 0x3a, 0xc1, 0x4a, 0x51, 0xc8, 0x98, 0x5f, 0x2b, 0xb9, 0xaa, 0xb4, 0x71, 0x9c, 0x25,
0xba, 0x74, 0xb2, 0x74, 0x31, 0x5f, 0xa9, 0xd4, 0x65, 0xf1, 0x5f, 0xf7, 0xf7, 0xf9, 0xb8, 0xd7,
0x6c, 0xed, 0xdd, 0x5a, 0x4b, 0xe5, 0xb5, 0x4a, 0xe4, 0x9e, 0x7f, 0x08, 0x55, 0xa9, 0x9c, 0x12,
0xf9, 0x9e, 0x4d, 0x44, 0x2e, 0xe3, 0xfb, 0x61, 0x21, 0x3e, 0xaa, 0xa2, 0x2e, 0x36, 0xcf, 0xb5,
0x95, 0xc6, 0x3f, 0x88, 0x19, 0x9e, 0x4b, 0xcd, 0x59, 0xef, 0x96, 0xea, 0xd6, 0xa0, 0x24, 0x13,
0xc6, 0x4a, 0x28, 0xa9, 0xdd, 0x7c, 0xef, 0x11, 0xde, 0x3a, 0xe5, 0x72, 0x39, 0xbe, 0x50, 0x36,
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x13, 0xa5, 0x58, 0xff, 0x72, 0xdb, 0x36,
0x12, 0xfe, 0x5f, 0x4f, 0x01, 0xa1, 0x33, 0xa9, 0x78, 0xa5, 0x29, 0xdb, 0x49, 0x3b, 0x89, 0x23,
0x2a, 0x67, 0xc7, 0x4e, 0xe3, 0x1b, 0x3b, 0xf6, 0x44, 0x4a, 0x73, 0x37, 0xbd, 0x4e, 0x06, 0x22,
0x21, 0x11, 0x11, 0x49, 0xb0, 0x00, 0x68, 0x45, 0x97, 0xf6, 0x3d, 0xee, 0x69, 0xee, 0x61, 0xee,
0x49, 0xee, 0x5b, 0x90, 0x94, 0x64, 0xc7, 0x49, 0x26, 0x73, 0x7f, 0xd8, 0x12, 0x09, 0x60, 0x7f,
0x7c, 0xbb, 0xfb, 0xed, 0x42, 0xa3, 0xfe, 0xe9, 0xd5, 0xf3, 0xe9, 0x3f, 0xae, 0xcf, 0x58, 0xe6,
0x8a, 0x7c, 0x3c, 0xa2, 0xff, 0x2c, 0x17, 0xe5, 0x22, 0xe6, 0xb2, 0xe4, 0x78, 0x96, 0x22, 0x1d,
0x8f, 0x0a, 0xe9, 0x04, 0x2b, 0x45, 0x21, 0x63, 0x7e, 0xa3, 0xe4, 0xaa, 0xd2, 0xc6, 0x71, 0x96,
0xe8, 0xd2, 0xc9, 0xd2, 0xc5, 0x7c, 0xa5, 0x52, 0x97, 0xc5, 0x3f, 0xee, 0xef, 0xf3, 0x71, 0xaf,
0xd9, 0xda, 0xbb, 0xb3, 0x96, 0xca, 0x1b, 0x95, 0xc8, 0x3d, 0xff, 0x10, 0xaa, 0x52, 0x39, 0x25,
0xf2, 0x3d, 0x9b, 0x88, 0x5c, 0xc6, 0x07, 0x61, 0x21, 0x3e, 0xa8, 0xa2, 0x2e, 0x36, 0xcf, 0xb5,
0x95, 0xc6, 0x3f, 0x88, 0x19, 0x9e, 0x4b, 0xcd, 0x59, 0xef, 0x8e, 0xea, 0xd6, 0xa0, 0x24, 0x13,
0xc6, 0x4a, 0x28, 0xa9, 0xdd, 0x7c, 0xef, 0x31, 0xde, 0x3a, 0xe5, 0x72, 0x39, 0xbe, 0x54, 0x36,
0x61, 0x13, 0xe9, 0x9c, 0x2a, 0x17, 0x76, 0x34, 0x6c, 0x5e, 0x8e, 0x6c, 0x62, 0x54, 0xe5, 0xc6,
0xbd, 0x6b, 0x61, 0x58, 0xae, 0x13, 0x55, 0x85, 0x4e, 0x15, 0x52, 0xd7, 0x2e, 0x4c, 0xe3, 0x54,
0x27, 0x75, 0x01, 0x73, 0x43, 0x2c, 0xc4, 0xfd, 0xfb, 0x4f, 0xe6, 0x75, 0x99, 0x38, 0xa5, 0x4b,
0xf6, 0x62, 0x10, 0x7c, 0x5a, 0xa9, 0x32, 0xd5, 0xab, 0x48, 0x57, 0xb2, 0x1c, 0xf0, 0xcc, 0xb9,
0xca, 0x1e, 0x0e, 0x87, 0x45, 0x11, 0x2d, 0x4b, 0x1d, 0xad, 0x72, 0x99, 0x46, 0x0b, 0x39, 0x9c,
0x4b, 0xe1, 0x6a, 0x23, 0xed, 0xd0, 0xb6, 0x6a, 0x87, 0x3f, 0x58, 0x99, 0xd4, 0x46, 0xb9, 0xf5,
0x5e, 0xf7, 0x8a, 0x07, 0x7f, 0x6e, 0xe4, 0x1e, 0xdf, 0x96, 0xbb, 0x39, 0xc8, 0x43, 0xfe, 0xde,
0xca, 0x7c, 0xbe, 0xbb, 0xfb, 0xf5, 0x67, 0xbb, 0xeb, 0x2a, 0x15, 0x4e, 0xde, 0xb5, 0x77, 0x71,
0x96, 0x0e, 0x64, 0xf0, 0xc9, 0x48, 0xd8, 0x53, 0x32, 0x32, 0xce, 0x9d, 0xe6, 0x92, 0x9c, 0x3b,
0x5e, 0xfb, 0xa5, 0xed, 0x56, 0x65, 0x2f, 0x67, 0x1f, 0x76, 0x36, 0xcb, 0x7b, 0xf7, 0xb8, 0x9e,
0x7d, 0x90, 0x89, 0xe3, 0x71, 0xec, 0xd6, 0x95, 0xd4, 0x73, 0x7a, 0xd7, 0x3f, 0x32, 0x46, 0xac,
0x23, 0x65, 0xfd, 0xe7, 0x0d, 0x09, 0xb9, 0x16, 0xe9, 0xaf, 0x93, 0x81, 0x0c, 0x5d, 0xdc, 0xdf,
0x0f, 0x3e, 0xe5, 0xd2, 0x31, 0x1d, 0xa7, 0x51, 0x62, 0x00, 0x87, 0x6c, 0xd5, 0x0e, 0x78, 0x83,
0x3c, 0x0f, 0x9e, 0xe8, 0x08, 0x5e, 0x1e, 0x39, 0x67, 0xd4, 0xac, 0x76, 0x12, 0x0b, 0x26, 0xe1,
0xa1, 0x0c, 0xc2, 0xdb, 0xef, 0x49, 0x37, 0x7c, 0x73, 0xf2, 0xa3, 0x1b, 0x7e, 0x10, 0xd7, 0xa2,
0x13, 0xf0, 0xd9, 0x46, 0x61, 0xd7, 0x25, 0x44, 0xb8, 0x20, 0x4c, 0xa3, 0x99, 0x4e, 0xd7, 0x91,
0xa8, 0x80, 0x4f, 0xfa, 0x2c, 0x53, 0x79, 0x3a, 0xd0, 0xb4, 0x5f, 0xa4, 0xe9, 0xe9, 0x35, 0xac,
0x38, 0x57, 0x16, 0xf9, 0x28, 0xcd, 0x80, 0x93, 0xcd, 0x3c, 0x1c, 0x04, 0xf1, 0xf8, 0xd3, 0x2f,
0xd2, 0xfd, 0x36, 0x08, 0x42, 0xc8, 0x3c, 0x4e, 0x96, 0xcf, 0x55, 0x2e, 0x29, 0xcd, 0x06, 0x84,
0x20, 0x9f, 0x25, 0xcb, 0x64, 0xbe, 0xe0, 0xc1, 0x17, 0x57, 0x2b, 0x44, 0x5b, 0x3a, 0x04, 0x35,
0xf8, 0xf3, 0x6e, 0x3d, 0xd2, 0x18, 0x6d, 0xe0, 0x1e, 0xf4, 0xa0, 0x18, 0xac, 0xce, 0x65, 0x94,
0xeb, 0xc5, 0x80, 0x9f, 0xd2, 0x7b, 0xd6, 0x82, 0x87, 0x88, 0xb3, 0x39, 0x44, 0x7b, 0x18, 0x90,
0xfd, 0x06, 0x70, 0x9d, 0xb7, 0xef, 0x81, 0x3e, 0x0e, 0xce, 0xd5, 0xa2, 0x36, 0xc2, 0xa3, 0xdd,
0xc0, 0xc0, 0xe6, 0x42, 0x51, 0xd6, 0xfd, 0xb3, 0x3c, 0x2b, 0x13, 0x5d, 0x54, 0x00, 0x5d, 0xb2,
0xbd, 0x1b, 0x61, 0x58, 0xae, 0x13, 0x55, 0x85, 0x4e, 0x15, 0x52, 0xd7, 0x2e, 0x4c, 0xe3, 0x54,
0x27, 0x75, 0x01, 0x73, 0x43, 0x2c, 0xc4, 0xfd, 0x83, 0xa7, 0xf3, 0xba, 0x4c, 0x9c, 0xd2, 0x25,
0x7b, 0x39, 0x08, 0x3e, 0xae, 0x54, 0x99, 0xea, 0x55, 0xa4, 0x2b, 0x59, 0x0e, 0x78, 0xe6, 0x5c,
0x65, 0x8f, 0x86, 0xc3, 0xa2, 0x88, 0x96, 0xa5, 0x8e, 0x56, 0xb9, 0x4c, 0xa3, 0x85, 0x1c, 0xce,
0xa5, 0x70, 0xb5, 0x91, 0x76, 0x68, 0x5b, 0xb5, 0xc3, 0xef, 0xac, 0x4c, 0x6a, 0xa3, 0xdc, 0x7a,
0xaf, 0x7b, 0xc5, 0x83, 0x3f, 0x37, 0x72, 0x4f, 0xee, 0xca, 0xdd, 0x1c, 0xe4, 0x21, 0x7f, 0x67,
0x65, 0x3e, 0xdf, 0xdd, 0xfd, 0xe6, 0x93, 0xdd, 0x75, 0x95, 0x0a, 0x27, 0xef, 0xdb, 0xbb, 0x38,
0x4f, 0x07, 0x32, 0xf8, 0x68, 0x24, 0xec, 0x29, 0x19, 0x19, 0xe7, 0xce, 0x72, 0x49, 0xce, 0x9d,
0xac, 0xfd, 0xd2, 0x76, 0xab, 0xb2, 0x57, 0xb3, 0xf7, 0x3b, 0x9b, 0xe5, 0x83, 0x07, 0x5c, 0xcf,
0xde, 0xcb, 0xc4, 0xf1, 0x38, 0x76, 0xeb, 0x4a, 0xea, 0x39, 0xbd, 0xeb, 0x1f, 0x1b, 0x23, 0xd6,
0x91, 0xb2, 0xfe, 0xf3, 0x96, 0x84, 0x5c, 0x8b, 0xf4, 0x6f, 0x93, 0x81, 0x0c, 0x5d, 0xdc, 0xdf,
0x0f, 0x3e, 0xe6, 0xd2, 0x31, 0x1d, 0xa7, 0x51, 0x62, 0x00, 0x87, 0x6c, 0xd5, 0x0e, 0x78, 0x83,
0x3c, 0x0f, 0x9e, 0xea, 0x08, 0x5e, 0x1e, 0x3b, 0x67, 0xd4, 0xac, 0x76, 0x12, 0x0b, 0x26, 0xe1,
0xa1, 0x0c, 0xc2, 0xbb, 0xef, 0x49, 0x37, 0x7c, 0x73, 0xf2, 0x83, 0x1b, 0xbe, 0x17, 0x37, 0xa2,
0x13, 0xf0, 0xc9, 0x46, 0x61, 0xd7, 0x25, 0x44, 0xb8, 0x20, 0x4c, 0xa3, 0x99, 0x4e, 0xd7, 0x91,
0xa8, 0x80, 0x4f, 0xfa, 0x3c, 0x53, 0x79, 0x3a, 0xd0, 0xb4, 0x5f, 0xa4, 0xe9, 0xd9, 0x0d, 0xac,
0xb8, 0x50, 0x16, 0xf9, 0x28, 0xcd, 0x80, 0x93, 0xcd, 0x3c, 0x1c, 0x04, 0xf1, 0xf8, 0xe3, 0xcf,
0xd2, 0xfd, 0x32, 0x08, 0x42, 0xc8, 0x3c, 0x49, 0x96, 0x2f, 0x54, 0x2e, 0x29, 0xcd, 0x06, 0x84,
0x20, 0x9f, 0x25, 0xcb, 0x64, 0xbe, 0xe0, 0xc1, 0x67, 0x57, 0x2b, 0x44, 0x5b, 0x3a, 0x04, 0x35,
0xf8, 0xf3, 0x7e, 0x3d, 0xd2, 0x18, 0x6d, 0xe0, 0x1e, 0xf4, 0xa0, 0x18, 0xac, 0xce, 0x65, 0x94,
0xeb, 0xc5, 0x80, 0x9f, 0xd1, 0x7b, 0xd6, 0x82, 0x87, 0x88, 0xb3, 0x39, 0x44, 0x7b, 0x18, 0x90,
0xfd, 0x06, 0x70, 0x5d, 0xb4, 0xef, 0x81, 0x3e, 0x0e, 0xce, 0xd5, 0xa2, 0x36, 0xc2, 0xa3, 0xdd,
0xc0, 0xc0, 0xe6, 0x42, 0x51, 0xd6, 0xfd, 0xb3, 0x3c, 0x2f, 0x13, 0x5d, 0x54, 0x00, 0x5d, 0xb2,
0x4a, 0x2c, 0x24, 0x43, 0x4a, 0x88, 0x3e, 0x72, 0x61, 0x27, 0x40, 0x36, 0xd3, 0xab, 0xa9, 0x16,
0xd6, 0x35, 0x31, 0xba, 0x1f, 0x7c, 0xa2, 0xf4, 0xd7, 0xb1, 0xf7, 0xc2, 0xd1, 0x82, 0x0f, 0x8b,
0x2a, 0x61, 0xf2, 0x8b, 0xe9, 0xc5, 0x79, 0x2c, 0xe1, 0x4b, 0x92, 0x0b, 0x6b, 0xc9, 0x11, 0xf2,
0x6a, 0xe0, 0x9e, 0xb6, 0xae, 0x1c, 0x72, 0x92, 0x86, 0x28, 0x24, 0xb9, 0x14, 0x66, 0xda, 0x14,
0xcf, 0xa0, 0x2d, 0x22, 0x1f, 0x1b, 0xb7, 0x86, 0x93, 0xa2, 0x54, 0x85, 0xb7, 0x37, 0xe6, 0xa5,
0x2e, 0xe1, 0x59, 0xbb, 0x23, 0x06, 0x5c, 0xdd, 0xa1, 0x41, 0x67, 0x20, 0x12, 0x7b, 0x57, 0x9f,
0x91, 0x85, 0xbe, 0xa6, 0xc4, 0xf0, 0x8a, 0x00, 0xec, 0xc1, 0xe3, 0xfd, 0xfd, 0x1d, 0x77, 0xea,
0x8a, 0x40, 0xa3, 0x58, 0x90, 0x3f, 0x9d, 0x33, 0xa5, 0x5c, 0xb1, 0xbf, 0x5f, 0x9c, 0xbf, 0x40,
0x69, 0xbe, 0x92, 0xbf, 0xd7, 0xd2, 0xba, 0x27, 0x5f, 0x09, 0xfc, 0x8e, 0xea, 0x2d, 0x3a, 0x2e,
0x53, 0x16, 0xda, 0x6d, 0x85, 0x48, 0xc9, 0x29, 0xf2, 0x2e, 0xf4, 0x6f, 0xac, 0x43, 0x59, 0xdb,
0x71, 0xfc, 0x90, 0xac, 0x08, 0xbe, 0x1a, 0xe7, 0xad, 0x5c, 0xb9, 0x2b, 0x58, 0x92, 0x8c, 0x64,
0x19, 0xf6, 0x3b, 0x01, 0x4d, 0x01, 0x5f, 0x5d, 0x4e, 0xa6, 0xc8, 0xf0, 0x61, 0xe3, 0x10, 0x62,
0x40, 0x9e, 0x94, 0xde, 0x93, 0xe7, 0xda, 0x14, 0x27, 0x88, 0xe4, 0x93, 0xb6, 0x2a, 0xcb, 0x36,
0xa9, 0x07, 0x9c, 0xe2, 0x8b, 0x44, 0x89, 0x28, 0x61, 0xec, 0xdb, 0xfd, 0x77, 0x61, 0x83, 0x3a,
0xad, 0x95, 0x01, 0xde, 0x5f, 0x8b, 0xbc, 0x06, 0x4b, 0xf2, 0xb0, 0x7f, 0x7f, 0x0b, 0x59, 0x92,
0xc9, 0x64, 0xf9, 0xb2, 0x2e, 0xb6, 0x75, 0xde, 0x1f, 0xf4, 0x25, 0xb9, 0x10, 0x2d, 0xe5, 0x3a,
0x42, 0xa8, 0x92, 0x6c, 0x30, 0x7c, 0xbb, 0xbf, 0xf7, 0xf8, 0xdd, 0x30, 0x40, 0xb1, 0xbf, 0xe5,
0xc7, 0xb0, 0xd7, 0x56, 0x22, 0xa1, 0x12, 0x9c, 0x8a, 0x19, 0xfe, 0x9f, 0x82, 0xcb, 0xe1, 0x22,
0x9f, 0x64, 0x6a, 0xee, 0xf0, 0xf9, 0x0c, 0xe4, 0x6e, 0x74, 0x8e, 0x6f, 0x47, 0x39, 0x3d, 0x5f,
0x09, 0x50, 0x36, 0xbd, 0x17, 0x95, 0x3d, 0xd7, 0xc9, 0x92, 0x8e, 0x80, 0xbf, 0x7d, 0x11, 0x4f,
0x5a, 0x49, 0x57, 0xc8, 0xd0, 0xd7, 0x55, 0xfb, 0xe5, 0x44, 0xaf, 0x4a, 0x2f, 0x17, 0x01, 0xe1,
0x2f, 0x74, 0x41, 0x1b, 0xc0, 0x2e, 0x7a, 0x75, 0x2e, 0xbd, 0x02, 0xff, 0xdd, 0xef, 0xf6, 0xdf,
0x5e, 0xa9, 0x45, 0xb6, 0x79, 0xdd, 0x9e, 0x3d, 0x43, 0xa0, 0x0c, 0xbd, 0x3c, 0x91, 0x54, 0x01,
0xfc, 0x1d, 0x92, 0x38, 0xc9, 0xeb, 0x54, 0xda, 0xc1, 0xc6, 0xbb, 0x20, 0xf8, 0xe3, 0x8f, 0xf6,
0x09, 0xe5, 0x4a, 0x9f, 0x27, 0x72, 0x2e, 0xea, 0xdc, 0xa1, 0xe8, 0x51, 0x0b, 0x3b, 0x65, 0x72,
0xb3, 0xc6, 0x01, 0x95, 0xbc, 0xc5, 0x34, 0xe0, 0xde, 0xb2, 0x49, 0x20, 0x4e, 0x9c, 0xff, 0x9e,
0xff, 0x24, 0x89, 0x5a, 0xef, 0xda, 0x11, 0xfc, 0x34, 0xe0, 0x6f, 0xce, 0x4f, 0x4f, 0x40, 0xa2,
0x36, 0x7d, 0xca, 0x51, 0x37, 0xd8, 0x6d, 0xd3, 0x60, 0x47, 0xdf, 0x04, 0xc9, 0xc7, 0x29, 0x8c,
0x87, 0xd8, 0xd4, 0x32, 0x3b, 0x5a, 0x8f, 0x2f, 0x1b, 0x98, 0xaa, 0x9d, 0x4e, 0x74, 0x7e, 0xef,
0xde, 0xc0, 0xb7, 0xa3, 0xfd, 0x70, 0xe0, 0xfb, 0x55, 0x4c, 0x3b, 0xf2, 0x89, 0xd3, 0x06, 0x08,
0x92, 0xf2, 0x33, 0x27, 0x0b, 0x4a, 0xeb, 0xe4, 0xac, 0xe2, 0xde, 0xd5, 0x66, 0x1b, 0xce, 0x17,
0x15, 0x78, 0x84, 0xdc, 0x61, 0x17, 0x3a, 0x95, 0x11, 0xbb, 0x42, 0xc5, 0x5a, 0xc9, 0x24, 0xc5,
0x91, 0x91, 0x6d, 0xec, 0xec, 0x0a, 0x4c, 0x11, 0xde, 0x90, 0x68, 0x6f, 0x4a, 0x0c, 0xbd, 0xb4,
0x20, 0xa0, 0x5d, 0x9e, 0xe5, 0x49, 0xfc, 0x53, 0xdf, 0x00, 0xd1, 0xff, 0xf8, 0x4f, 0x7e, 0xf9,
0x90, 0xc3, 0xdd, 0x6d, 0xf3, 0x1a, 0xda, 0xe8, 0x83, 0x7d, 0x5a, 0xc5, 0x3f, 0x73, 0x8f, 0x6f,
0x6f, 0x34, 0x6c, 0xbb, 0xee, 0xc8, 0x73, 0xc3, 0xf8, 0x6f, 0xaa, 0xa0, 0xfe, 0xcd, 0x6a, 0x93,
0xa3, 0xc8, 0x3d, 0x5d, 0x24, 0x16, 0x1c, 0xfa, 0x04, 0x1b, 0xfd, 0x86, 0xd1, 0xb0, 0x99, 0x37,
0x88, 0xcc, 0xc1, 0x91, 0xa4, 0x39, 0xe6, 0x40, 0x0b, 0xbd, 0x7d, 0x8e, 0xba, 0xe8, 0x31, 0x85,
0x67, 0xfa, 0xf6, 0xde, 0xf2, 0x76, 0x1e, 0x99, 0xcc, 0x39, 0xc3, 0x34, 0x90, 0x69, 0xac, 0x54,
0xda, 0xd2, 0x70, 0x90, 0xaa, 0x6b, 0xe6, 0x49, 0x25, 0x06, 0xc7, 0x01, 0x8e, 0xd5, 0xcd, 0x77,
0x99, 0xcc, 0xab, 0x63, 0x1a, 0x55, 0x10, 0x38, 0x87, 0x68, 0x50, 0xbb, 0x89, 0x79, 0xf3, 0xc0,
0xa1, 0x35, 0xc9, 0x55, 0xb2, 0x8c, 0xf9, 0x0b, 0x52, 0xfb, 0x74, 0x34, 0x6c, 0x16, 0x60, 0x1a,
0x44, 0x8c, 0xef, 0x3e, 0xd3, 0xdb, 0x1c, 0x3a, 0xa6, 0x43, 0x54, 0x41, 0xdb, 0x73, 0x37, 0x4e,
0xd8, 0x7a, 0x56, 0x28, 0xd8, 0x38, 0x11, 0xd7, 0x72, 0xbb, 0x25, 0x33, 0x9d, 0xf8, 0xec, 0x60,
0xdc, 0x9b, 0xb4, 0x93, 0x03, 0xbb, 0xc7, 0x5e, 0xfb, 0x3e, 0x4f, 0xf9, 0x59, 0x57, 0xc0, 0xe6,
0x60, 0xdc, 0x8d, 0x35, 0xec, 0xea, 0xec, 0xe5, 0x21, 0x1b, 0xa9, 0xb2, 0xaa, 0x5d, 0x2b, 0xba,
0x82, 0x73, 0x2b, 0x6d, 0x52, 0xee, 0x41, 0xc2, 0xfa, 0x66, 0x6e, 0xf2, 0xdf, 0xad, 0xfa, 0x17,
0xbe, 0x3e, 0x04, 0x58, 0xe2, 0x23, 0xf2, 0x7c, 0x81, 0xa9, 0xcc, 0x3f, 0xa9, 0x72, 0xe7, 0x49,
0x97, 0x28, 0x1b, 0xca, 0xe4, 0x98, 0x6f, 0x88, 0x83, 0x98, 0x30, 0x80, 0xac, 0x4a, 0x38, 0xa4,
0x0f, 0x56, 0x3c, 0x59, 0xfc, 0x05, 0x6a, 0x48, 0x79, 0x81, 0x04, 0x03, 0xd3, 0x63, 0x7c, 0x32,
0x2a, 0xe1, 0xcc, 0x0f, 0x5b, 0xd0, 0xb8, 0x9b, 0x70, 0x82, 0x3d, 0x64, 0xa9, 0x5a, 0x28, 0xc7,
0xb0, 0x6d, 0x06, 0x26, 0x01, 0x26, 0x06, 0xf0, 0x53, 0x48, 0x7c, 0xd8, 0xa1, 0x4c, 0xe7, 0xda,
0x1c, 0xfe, 0x30, 0x17, 0x34, 0x42, 0xde, 0xfb, 0xe1, 0xf1, 0xa3, 0x47, 0x8f, 0x9e, 0xb0, 0xd7,
0xa5, 0x2c, 0x13, 0xb3, 0xae, 0x9c, 0x4c, 0x99, 0x33, 0xa2, 0xb4, 0x85, 0xb2, 0x96, 0x2a, 0x84,
0x1d, 0xa3, 0xe3, 0x19, 0xd4, 0x7a, 0xe9, 0xd8, 0x2a, 0x93, 0x54, 0xbf, 0x39, 0xa6, 0x16, 0x6a,
0x9a, 0x70, 0x35, 0x64, 0xa9, 0x66, 0x2f, 0x2f, 0xa7, 0x0c, 0xa4, 0xc4, 0xd6, 0xba, 0x36, 0x6c,
0x26, 0xca, 0x25, 0x16, 0x69, 0x41, 0x9b, 0x90, 0x4d, 0xce, 0x2e, 0x42, 0x26, 0x5d, 0x12, 0xb1,
0x4a, 0x95, 0xfd, 0x5e, 0x17, 0x58, 0x33, 0x26, 0xee, 0x62, 0x2b, 0x65, 0x20, 0xcd, 0x5a, 0x36,
0xb8, 0x9c, 0x1e, 0x05, 0xcc, 0xea, 0xb9, 0x5b, 0x09, 0x23, 0x59, 0x33, 0x72, 0xdd, 0xc2, 0xdc,
0x83, 0x34, 0xd3, 0x1f, 0xbb, 0x64, 0x7c, 0x79, 0xe9, 0xf3, 0xca, 0x8c, 0xaf, 0x10, 0x8c, 0x2a,
0x33, 0x00, 0xe1, 0x8b, 0x51, 0x6a, 0x4e, 0x5c, 0x5e, 0xdd, 0x88, 0xc8, 0x83, 0x83, 0x16, 0x9d,
0xa9, 0x06, 0x7a, 0x34, 0x00, 0x33, 0x98, 0x11, 0x32, 0xe4, 0x3c, 0xeb, 0x26, 0x4a, 0x86, 0xf1,
0xca, 0xa2, 0x51, 0x91, 0x73, 0xac, 0x94, 0x84, 0x8e, 0x66, 0x22, 0xb7, 0xba, 0xc5, 0xdb, 0x65,
0x12, 0x93, 0x83, 0x31, 0x80, 0x84, 0x75, 0xea, 0xfa, 0xde, 0xaa, 0x69, 0x26, 0x37, 0x6f, 0x68,
0x36, 0xa8, 0xf3, 0x94, 0xcd, 0x24, 0xcd, 0xd1, 0xe5, 0x02, 0x62, 0x3c, 0x96, 0x50, 0x87, 0xc9,
0xb0, 0x55, 0x9e, 0x46, 0x74, 0x6c, 0x34, 0x1b, 0xf7, 0x4e, 0x94, 0xed, 0xac, 0x69, 0xf6, 0x95,
0xda, 0x21, 0x03, 0x08, 0xe4, 0x90, 0x69, 0xa8, 0x34, 0x2b, 0x05, 0xbc, 0x45, 0xc9, 0x90, 0x26,
0xc8, 0x7f, 0xd8, 0x91, 0xe0, 0xc1, 0xc8, 0x39, 0x8a, 0x2e, 0x63, 0xcd, 0x05, 0x60, 0x83, 0x26,
0xa1, 0x3e, 0xf3, 0x8e, 0x8e, 0xd4, 0x36, 0xa7, 0xa9, 0x4a, 0x90, 0x6c, 0xcd, 0x34, 0x43, 0x98,
0x83, 0x01, 0xd6, 0x8d, 0x75, 0x5e, 0xb7, 0x9a, 0x7b, 0xf5, 0x39, 0x85, 0x09, 0xdb, 0xd2, 0xc6,
0xa4, 0xb4, 0x3f, 0x1a, 0xaa, 0x06, 0xf5, 0x13, 0x59, 0xae, 0x99, 0x48, 0x12, 0x0a, 0x1f, 0x30,
0x79, 0xa3, 0x9e, 0x2b, 0xd6, 0x71, 0x13, 0x9d, 0xa6, 0x93, 0x32, 0xfd, 0x46, 0x0c, 0x2f, 0xdf,
0xb4, 0x31, 0xa4, 0xbf, 0xe7, 0x22, 0x01, 0x3d, 0x12, 0xe4, 0x90, 0xf3, 0x8d, 0x83, 0xaf, 0x26,
0x6d, 0xec, 0x8e, 0xf2, 0x7c, 0xab, 0x56, 0x94, 0x29, 0x6b, 0x87, 0x45, 0xe4, 0x16, 0x56, 0x00,
0xb8, 0xa4, 0xc4, 0xe8, 0xb0, 0x35, 0xe3, 0xff, 0xa3, 0x12, 0x8e, 0x76, 0xf0, 0xf6, 0xf0, 0x01,
0x63, 0x18, 0x83, 0xb4, 0x70, 0x08, 0xf2, 0xd2, 0xc7, 0x40, 0x51, 0x56, 0x24, 0x92, 0x46, 0x47,
0x30, 0x67, 0x33, 0x26, 0x76, 0x59, 0x4f, 0xcc, 0x93, 0x3d, 0x18, 0x4f, 0xba, 0x2c, 0x6f, 0x08,
0x07, 0x54, 0xf3, 0x60, 0xfc, 0x0d, 0x7a, 0x7c, 0x4d, 0x4c, 0xd7, 0xbb, 0x10, 0x65, 0x2d, 0x72,
0x1f, 0x96, 0xee, 0xe8, 0x86, 0xf7, 0xcc, 0xf8, 0xb4, 0xc9, 0xe0, 0x23, 0x93, 0xd6, 0xaa, 0xd4,
0xd8, 0xf4, 0x45, 0x04, 0x5b, 0xa6, 0x3a, 0xba, 0xe4, 0x1b, 0x9b, 0x88, 0x45, 0xeb, 0x0a, 0x24,
0xf8, 0x0a, 0x13, 0x9d, 0x36, 0xad, 0x51, 0xa2, 0x63, 0xf1, 0x99, 0xc3, 0x08, 0x5d, 0x2e, 0x1b,
0xb6, 0x6b, 0xc7, 0x75, 0xd6, 0xcb, 0x90, 0x70, 0x31, 0x1f, 0xb6, 0x80, 0xa3, 0x1b, 0x91, 0xcd,
0x5d, 0x6b, 0x46, 0xf5, 0xb5, 0x53, 0x7b, 0x27, 0xbc, 0x7d, 0x1e, 0x0d, 0xc5, 0x26, 0x10, 0xe3,
0x5e, 0xab, 0x6f, 0xb3, 0xe8, 0xb3, 0x74, 0xc7, 0x6a, 0x3f, 0xb0, 0xb7, 0x31, 0xf7, 0x33, 0x99,
0x4f, 0xb9, 0x0a, 0xf7, 0xd0, 0x46, 0xdf, 0x98, 0x75, 0xd0, 0xf5, 0xee, 0xc6, 0xee, 0xc7, 0x9d,
0x39, 0x36, 0x8d, 0x26, 0xf3, 0x88, 0xa4, 0x84, 0xb7, 0xac, 0x0e, 0x7e, 0x1c, 0xbf, 0xf6, 0xdb,
0x36, 0x88, 0x36, 0x49, 0xb9, 0x61, 0xab, 0x2f, 0x43, 0xd1, 0x79, 0xc9, 0x5a, 0x34, 0x00, 0x4d,
0x8b, 0x44, 0x6f, 0x0b, 0x05, 0xe1, 0xd5, 0xc1, 0x70, 0xe3, 0x9e, 0x71, 0x03, 0x8c, 0x0e, 0x8b,
0x9b, 0x3b, 0xb6, 0x88, 0xf4, 0xee, 0x86, 0xe4, 0xe0, 0xcb, 0x98, 0x7c, 0xa1, 0x73, 0xde, 0x89,
0xc9, 0x41, 0xb8, 0x63, 0xfc, 0xe7, 0x80, 0xec, 0xe0, 0x41, 0x15, 0xd4, 0xfb, 0x5a, 0x09, 0x35,
0x8e, 0x50, 0x8b, 0x68, 0xd1, 0x19, 0xde, 0xbc, 0x5c, 0xf9, 0xd2, 0xbc, 0xfc, 0xed, 0xf4, 0xd5,
0x9b, 0x57, 0x67, 0xd3, 0xd3, 0xa6, 0x6f, 0x80, 0x6e, 0x0d, 0xf5, 0x98, 0x3b, 0x4f, 0x44, 0x3e,
0x1c, 0x3d, 0xba, 0x84, 0x35, 0x54, 0x7b, 0x53, 0x5e, 0x21, 0x88, 0x34, 0x7e, 0xaf, 0xd1, 0x4d,
0xd0, 0x00, 0xe7, 0xbb, 0x34, 0xc2, 0xc0, 0xe5, 0x46, 0xee, 0x79, 0x62, 0x6c, 0x2f, 0x7a, 0x5e,
0xdd, 0xe9, 0xe4, 0x2a, 0x6a, 0xeb, 0xf2, 0xf9, 0x1d, 0x74, 0x1f, 0x6e, 0xa8, 0xdb, 0x7a, 0x72,
0x24, 0x02, 0x9e, 0x51, 0xe5, 0xa7, 0xe8, 0x4d, 0x51, 0x57, 0x35, 0x47, 0x33, 0x5c, 0xb0, 0xba,
0x52, 0x69, 0xcb, 0xa1, 0xfb, 0xd1, 0x02, 0x2d, 0x38, 0xab, 0x67, 0x11, 0x6e, 0x8d, 0xc3, 0x0b,
0xad, 0x4b, 0xcc, 0x86, 0x35, 0x3a, 0xdd, 0x90, 0x06, 0xc2, 0x21, 0x5a, 0xb7, 0x30, 0x0b, 0xfa,
0x31, 0xe5, 0xfd, 0x2c, 0x47, 0xbf, 0xe4, 0x63, 0x7a, 0x7d, 0x71, 0x41, 0xd9, 0xd0, 0x63, 0xd7,
0xd2, 0x10, 0xdf, 0xb0, 0xfd, 0xe8, 0xfe, 0xc3, 0x68, 0x7f, 0x6f, 0x76, 0x10, 0x1d, 0xec, 0xb3,
0xff, 0xfe, 0xfb, 0x3f, 0x04, 0xc1, 0x20, 0x09, 0xd8, 0xc1, 0xfe, 0xc1, 0x03, 0xf6, 0x55, 0x85,
0x47, 0xca, 0x24, 0x5a, 0xeb, 0xa5, 0x92, 0x8d, 0x3e, 0xba, 0xba, 0xc2, 0x8b, 0x61, 0x21, 0x54,
0x19, 0x45, 0xd1, 0x8e, 0x3d, 0x87, 0xb4, 0x7e, 0x58, 0xa0, 0x63, 0x20, 0x3d, 0x6e, 0x1b, 0xf5,
0x8b, 0x97, 0xc8, 0x76, 0xb6, 0x37, 0xf3, 0xec, 0x33, 0x5d, 0x60, 0xae, 0x62, 0x47, 0x35, 0x06,
0x41, 0xb3, 0xad, 0x67, 0xfc, 0xcd, 0x89, 0x06, 0x01, 0xf1, 0x77, 0x59, 0x77, 0x37, 0x1a, 0x87,
0x1b, 0xb9, 0xdf, 0x23, 0x6b, 0xa5, 0x96, 0x6a, 0xe8, 0xaf, 0x4c, 0x74, 0x53, 0x80, 0x75, 0x7b,
0x68, 0x09, 0x7b, 0x89, 0x91, 0xa9, 0xa2, 0x1a, 0xfd, 0xcc, 0xc5, 0xdd, 0xad, 0x18, 0x59, 0x24,
0x5d, 0xfe, 0x40, 0xff, 0x4a, 0x36, 0xbd, 0xc4, 0x56, 0x32, 0x51, 0xa0, 0x5c, 0x87, 0xb6, 0xb8,
0xdc, 0x78, 0xda, 0x3b, 0x62, 0x59, 0x8d, 0xae, 0xe9, 0xdf, 0xfa, 0xc1, 0x00, 0xfd, 0x0f, 0x57,
0x1e, 0xb3, 0xc6, 0x1d, 0x1c, 0x0d, 0x5b, 0x33, 0x9a, 0x7a, 0x91, 0x2a, 0xe8, 0x0d, 0xcd, 0xcf,
0x33, 0x1e, 0xb7, 0x7e, 0x87, 0x52, 0xaf, 0x89, 0xe2, 0xfd, 0x9f, 0xf7, 0x7c, 0x28, 0x9f, 0x65,
0x06, 0x17, 0x5c, 0x85, 0xe6, 0x31, 0x49, 0xb2, 0x15, 0xfd, 0x3c, 0xd0, 0xf6, 0xea, 0x73, 0x74,
0x71, 0xdc, 0xbc, 0x90, 0x72, 0x30, 0xaa, 0x19, 0x35, 0xbe, 0x0b, 0x8c, 0x59, 0xae, 0x67, 0x88,
0x39, 0x2e, 0xcf, 0x66, 0x78, 0x7e, 0xf6, 0xec, 0xf4, 0xe5, 0xe4, 0xf4, 0x73, 0xac, 0x7b, 0x17,
0x67, 0x53, 0x96, 0x37, 0x9a, 0xbc, 0x83, 0xe8, 0xef, 0x9d, 0xa1, 0x13, 0x69, 0xe0, 0x15, 0xdc,
0xb0, 0x16, 0x53, 0x02, 0xfa, 0x09, 0xae, 0xaa, 0x65, 0x47, 0x84, 0x56, 0x55, 0x9c, 0x28, 0xcb,
0x5f, 0xe3, 0x99, 0xbf, 0x99, 0x53, 0xa7, 0xa3, 0x2d, 0x4d, 0x5b, 0x21, 0x9a, 0x20, 0x92, 0x6c,
0x7e, 0xfa, 0xf8, 0xea, 0x4c, 0xff, 0xf9, 0x48, 0xdf, 0xfb, 0xae, 0x99, 0x7e, 0x48, 0xcd, 0x16,
0x1f, 0x74, 0x95, 0xa1, 0x7b, 0x0d, 0xfd, 0xba, 0xfa, 0x3f, 0xde, 0x3c, 0xd9, 0xbe, 0x6d, 0x15,
0x00, 0x00
0xd6, 0x35, 0x31, 0x3a, 0x08, 0x3e, 0x52, 0xfa, 0xeb, 0xd8, 0x7b, 0xe1, 0x68, 0xc1, 0x87, 0x45,
0x95, 0x30, 0xf9, 0xe5, 0xf4, 0xf2, 0x22, 0x96, 0xf0, 0x25, 0xc9, 0x85, 0xb5, 0xe4, 0x08, 0x79,
0x35, 0x70, 0xcf, 0x5a, 0x57, 0x8e, 0x38, 0x49, 0x43, 0x14, 0x92, 0x5c, 0x0a, 0x33, 0x6d, 0x8a,
0x67, 0xd0, 0x16, 0x91, 0x8f, 0x8d, 0x5b, 0xc3, 0x49, 0x51, 0xaa, 0xc2, 0xdb, 0x1b, 0xf3, 0x52,
0x97, 0xf0, 0xac, 0xdd, 0x11, 0x03, 0xae, 0xee, 0xd0, 0xa0, 0x33, 0x10, 0x89, 0xbd, 0xab, 0xcf,
0xc8, 0x42, 0xdf, 0x50, 0x62, 0x78, 0x45, 0x00, 0xf6, 0xf0, 0xc9, 0xfe, 0xfe, 0x8e, 0x3b, 0x75,
0x45, 0xa0, 0x51, 0x2c, 0xc8, 0x9f, 0xce, 0x99, 0x52, 0xae, 0xd8, 0xdf, 0x2f, 0x2f, 0x5e, 0xa2,
0x34, 0x5f, 0xcb, 0xdf, 0x6b, 0x69, 0xdd, 0xd3, 0x2f, 0x04, 0x7e, 0x47, 0xf5, 0x16, 0x1d, 0x97,
0x29, 0x0b, 0xed, 0xb6, 0x42, 0xa4, 0xe4, 0x14, 0x79, 0x17, 0xfa, 0x37, 0xd6, 0xa1, 0xac, 0xed,
0x38, 0x7e, 0x44, 0x56, 0x04, 0x5f, 0x8c, 0xf3, 0x56, 0xae, 0xdc, 0x15, 0x2c, 0x49, 0x46, 0xb2,
0x0c, 0xfb, 0x9d, 0x80, 0xa6, 0x80, 0xaf, 0xaf, 0x26, 0x53, 0x64, 0xf8, 0xb0, 0x71, 0x08, 0x31,
0x20, 0x4f, 0x4a, 0xef, 0xc9, 0x0b, 0x6d, 0x8a, 0x53, 0x44, 0xf2, 0x69, 0x5b, 0x95, 0x65, 0x9b,
0xd4, 0x03, 0x4e, 0xf1, 0x45, 0xa2, 0x44, 0x94, 0x30, 0xf6, 0xd7, 0xfd, 0xdf, 0xc2, 0x06, 0x75,
0x5a, 0x2b, 0x03, 0xbc, 0xbf, 0x11, 0x79, 0x0d, 0x96, 0xe4, 0x61, 0xff, 0x60, 0x0b, 0x59, 0x92,
0xc9, 0x64, 0xf9, 0xaa, 0x2e, 0xb6, 0x75, 0xde, 0x1f, 0xf4, 0x25, 0xb9, 0x10, 0x2d, 0xe5, 0x3a,
0x42, 0xa8, 0x92, 0x6c, 0x30, 0xfc, 0x75, 0x7f, 0xef, 0xc9, 0x6f, 0xc3, 0x00, 0xc5, 0xfe, 0x2b,
0x3f, 0x81, 0xbd, 0xb6, 0x12, 0x09, 0x95, 0xe0, 0x54, 0xcc, 0xf0, 0xff, 0x0c, 0x5c, 0x0e, 0x17,
0xf9, 0x24, 0x53, 0x73, 0x87, 0xcf, 0xe7, 0x20, 0x77, 0xa3, 0x73, 0x7c, 0x3b, 0xce, 0xe9, 0xf9,
0x5a, 0x80, 0xb2, 0xe9, 0xbd, 0xa8, 0xec, 0x85, 0x4e, 0x96, 0x74, 0x04, 0xfc, 0xed, 0x8b, 0x78,
0xd2, 0x4a, 0xba, 0x46, 0x86, 0xbe, 0xa9, 0xda, 0x2f, 0xa7, 0x7a, 0x55, 0x7a, 0xb9, 0x08, 0x08,
0x7f, 0xa9, 0x0b, 0xda, 0x00, 0x76, 0xd1, 0xab, 0x0b, 0xe9, 0x15, 0xf8, 0xef, 0x7e, 0xb7, 0xff,
0xf6, 0x5a, 0x2d, 0xb2, 0xcd, 0xeb, 0xf6, 0xec, 0x39, 0x02, 0x65, 0xe8, 0xe5, 0xa9, 0xa4, 0x0a,
0xe0, 0xbf, 0x21, 0x89, 0x93, 0xbc, 0x4e, 0xa5, 0x1d, 0x6c, 0xbc, 0x0b, 0x82, 0x3f, 0xfe, 0x68,
0x9f, 0x50, 0xae, 0xf4, 0x79, 0x2a, 0xe7, 0xa2, 0xce, 0x1d, 0x8a, 0x1e, 0xb5, 0xb0, 0x53, 0x26,
0xb7, 0x6b, 0x1c, 0x50, 0xc9, 0x3b, 0x4c, 0x03, 0xee, 0x2d, 0x9b, 0x04, 0xe2, 0xc4, 0xf9, 0xef,
0xf8, 0x0f, 0x92, 0xa8, 0xf5, 0xbe, 0x1d, 0xc1, 0x0f, 0x03, 0xfe, 0xf6, 0xe2, 0xec, 0x14, 0x24,
0x6a, 0xd3, 0x67, 0x1c, 0x75, 0x83, 0xdd, 0x36, 0x0d, 0x76, 0xf4, 0x4d, 0x90, 0x7c, 0x9c, 0xc2,
0x78, 0x84, 0x4d, 0x2d, 0xb3, 0xa3, 0xf5, 0xf8, 0xb2, 0x81, 0xa9, 0xda, 0xe9, 0x44, 0xe7, 0x0f,
0x1e, 0x0c, 0x7c, 0x3b, 0xda, 0x0f, 0x07, 0xbe, 0x5f, 0xc5, 0xb4, 0x23, 0x9f, 0x38, 0x6d, 0x80,
0x20, 0x29, 0x3f, 0x77, 0xb2, 0xa0, 0xb4, 0x4e, 0xce, 0x2b, 0xee, 0x5d, 0x6d, 0xb6, 0xe1, 0x7c,
0x51, 0x81, 0x47, 0xc8, 0x1d, 0x76, 0xa9, 0x53, 0x19, 0xb1, 0x6b, 0x54, 0xac, 0x95, 0x4c, 0x52,
0x1c, 0x19, 0xd9, 0xc6, 0xce, 0xaf, 0xc1, 0x14, 0xe1, 0x2d, 0x89, 0xf6, 0xb6, 0xc4, 0xd0, 0x4b,
0x0b, 0x02, 0xda, 0xe5, 0x59, 0x9e, 0xc4, 0x3f, 0xf3, 0x0d, 0x10, 0xfd, 0x8f, 0xff, 0xe0, 0x97,
0x8f, 0x38, 0xdc, 0xdd, 0x36, 0xaf, 0xa1, 0x8d, 0xde, 0xdb, 0x67, 0x55, 0xfc, 0x13, 0xf7, 0xf8,
0xf6, 0x46, 0xc3, 0xb6, 0xeb, 0x8e, 0x3c, 0x37, 0x8c, 0xff, 0xaa, 0x0a, 0xea, 0xdf, 0xac, 0x36,
0x39, 0x8a, 0xdc, 0xd3, 0x45, 0x62, 0xc1, 0xa1, 0x4f, 0xb1, 0xd1, 0x6f, 0x18, 0x0d, 0x9b, 0x79,
0x83, 0xc8, 0x1c, 0x1c, 0x49, 0x9a, 0x63, 0x0e, 0xb4, 0xd0, 0xdb, 0xe7, 0xa8, 0x8b, 0x1e, 0x53,
0x78, 0xa6, 0x6f, 0xef, 0x2c, 0x6f, 0xe7, 0x91, 0xc9, 0x9c, 0x33, 0x4c, 0x03, 0x99, 0xc6, 0x4a,
0xa5, 0x2d, 0x0d, 0x07, 0xa9, 0xba, 0x61, 0x9e, 0x54, 0x62, 0x70, 0x1c, 0xe0, 0x58, 0xdd, 0x7e,
0x97, 0xc9, 0xbc, 0x3a, 0xa1, 0x51, 0x05, 0x81, 0x73, 0x88, 0x06, 0xb5, 0x9b, 0x98, 0x37, 0x0f,
0x1c, 0x5a, 0x93, 0x5c, 0x25, 0xcb, 0x98, 0xbf, 0x24, 0xb5, 0xcf, 0x46, 0xc3, 0x66, 0x01, 0xa6,
0x41, 0xc4, 0xf8, 0xfe, 0x33, 0xbd, 0xcd, 0xa1, 0x13, 0x3a, 0x44, 0x15, 0xb4, 0x3d, 0x77, 0xeb,
0x84, 0xad, 0x67, 0x85, 0x82, 0x8d, 0x13, 0x71, 0x23, 0xb7, 0x5b, 0x32, 0xd3, 0x89, 0xcf, 0x0e,
0xc7, 0xbd, 0x49, 0x3b, 0x39, 0xb0, 0x07, 0xec, 0x8d, 0xef, 0xf3, 0x94, 0x9f, 0x75, 0x05, 0x6c,
0x0e, 0xc7, 0xdd, 0x58, 0xc3, 0xae, 0xcf, 0x5f, 0x1d, 0xb1, 0x91, 0x2a, 0xab, 0xda, 0xb5, 0xa2,
0x2b, 0x38, 0xb7, 0xd2, 0x26, 0xe5, 0x1e, 0x24, 0xac, 0x6f, 0xe6, 0x26, 0xff, 0xdd, 0xaa, 0x7f,
0xe1, 0xeb, 0x23, 0x80, 0x25, 0x3e, 0x20, 0xcf, 0x17, 0x98, 0xca, 0xfc, 0x93, 0x2a, 0x77, 0x9e,
0x74, 0x89, 0xb2, 0xa1, 0x4c, 0x8e, 0xf9, 0x86, 0x38, 0x88, 0x09, 0x03, 0xc8, 0xaa, 0x84, 0x43,
0xfa, 0x60, 0xc5, 0x93, 0xc5, 0x5f, 0xa0, 0x86, 0x94, 0x17, 0x48, 0x30, 0x30, 0x3d, 0xc6, 0x27,
0xa3, 0x12, 0xce, 0xfc, 0xb0, 0x05, 0x8d, 0xbb, 0x09, 0x27, 0xd8, 0x23, 0x96, 0xaa, 0x85, 0x72,
0x0c, 0xdb, 0x66, 0x60, 0x12, 0x60, 0x62, 0x00, 0x3f, 0x85, 0xc4, 0x87, 0x1d, 0xca, 0x74, 0xae,
0xcd, 0xd1, 0x77, 0x73, 0x41, 0x23, 0xe4, 0x83, 0xef, 0x9e, 0x3c, 0x7e, 0xfc, 0xf8, 0x29, 0x7b,
0x53, 0xca, 0x32, 0x31, 0xeb, 0xca, 0xc9, 0x94, 0x39, 0x23, 0x4a, 0x5b, 0x28, 0x6b, 0xa9, 0x42,
0xd8, 0x09, 0x3a, 0x9e, 0x41, 0xad, 0x97, 0x8e, 0xad, 0x32, 0x49, 0xf5, 0x9b, 0x63, 0x6a, 0xa1,
0xa6, 0x09, 0x57, 0x43, 0x96, 0x6a, 0xf6, 0xea, 0x6a, 0xca, 0x40, 0x4a, 0x6c, 0xad, 0x6b, 0xc3,
0x66, 0xa2, 0x5c, 0x62, 0x91, 0x16, 0xb4, 0x09, 0xd9, 0xe4, 0xfc, 0x32, 0x64, 0xd2, 0x25, 0x11,
0xab, 0x54, 0xd9, 0xef, 0x75, 0x81, 0x35, 0x63, 0xe2, 0x2e, 0xb6, 0x52, 0x06, 0xd2, 0xac, 0x65,
0x83, 0xab, 0xe9, 0x71, 0xc0, 0xac, 0x9e, 0xbb, 0x95, 0x30, 0x92, 0x35, 0x23, 0xd7, 0x1d, 0xcc,
0x3d, 0x48, 0x33, 0xfd, 0xa1, 0x4b, 0xc6, 0x57, 0x57, 0x3e, 0xaf, 0xcc, 0xf8, 0x1a, 0xc1, 0xa8,
0x32, 0x03, 0x10, 0x3e, 0x1b, 0xa5, 0xe6, 0xc4, 0xd5, 0xf5, 0xad, 0x88, 0x3c, 0x3c, 0x6c, 0xd1,
0x99, 0x6a, 0xa0, 0x47, 0x03, 0x30, 0x83, 0x19, 0x21, 0x43, 0xce, 0xb3, 0x6e, 0xa2, 0x64, 0x18,
0xaf, 0x2c, 0x1a, 0x15, 0x39, 0xc7, 0x4a, 0x49, 0xe8, 0x68, 0x26, 0x72, 0xab, 0x5b, 0xbc, 0x5d,
0x26, 0x31, 0x39, 0x18, 0x03, 0x48, 0x58, 0xa7, 0xae, 0xef, 0xad, 0x9a, 0x66, 0x72, 0xf3, 0x86,
0x66, 0x83, 0x3a, 0x4f, 0xd9, 0x4c, 0xd2, 0x1c, 0x5d, 0x2e, 0x20, 0xc6, 0x63, 0x09, 0x75, 0x98,
0x0c, 0x5b, 0xe5, 0x69, 0x44, 0xc7, 0x46, 0xb3, 0x71, 0xef, 0x54, 0xd9, 0xce, 0x9a, 0x66, 0x5f,
0xa9, 0x1d, 0x32, 0x80, 0x40, 0x0e, 0x99, 0x86, 0x4a, 0xb3, 0x52, 0xc0, 0x5b, 0x94, 0x0c, 0x69,
0x82, 0xfc, 0x87, 0x1d, 0x09, 0x1e, 0x8c, 0x9c, 0xa3, 0xe8, 0x32, 0xd6, 0x5c, 0x00, 0x36, 0x68,
0x12, 0xea, 0x33, 0xef, 0xe8, 0x48, 0x6d, 0x73, 0x9a, 0xaa, 0x04, 0xc9, 0xd6, 0x4c, 0x33, 0x84,
0x39, 0x18, 0x60, 0xdd, 0x58, 0xe7, 0x75, 0xab, 0xb9, 0x57, 0x9f, 0x53, 0x98, 0xb0, 0x2d, 0x6d,
0x4c, 0x4a, 0xfb, 0xa3, 0xa1, 0x6a, 0x50, 0x3f, 0x95, 0xe5, 0x9a, 0x89, 0x24, 0xa1, 0xf0, 0x01,
0x93, 0xb7, 0xea, 0x85, 0x62, 0x1d, 0x37, 0xd1, 0x69, 0x3a, 0x29, 0xd3, 0xaf, 0xc4, 0xf0, 0xea,
0x6d, 0x1b, 0x43, 0xfa, 0x7b, 0x21, 0x12, 0xd0, 0x23, 0x41, 0x0e, 0x39, 0x5f, 0x39, 0xf8, 0x7a,
0xd2, 0xc6, 0xee, 0x38, 0xcf, 0xb7, 0x6a, 0x45, 0x99, 0xb2, 0x76, 0x58, 0x44, 0x6e, 0x61, 0x05,
0x80, 0x4b, 0x4a, 0x8c, 0x0e, 0x5b, 0x33, 0xfe, 0x3f, 0x2a, 0xe1, 0x78, 0x07, 0x6f, 0x0f, 0x1f,
0x30, 0x86, 0x31, 0x48, 0x0b, 0x87, 0x20, 0x2f, 0x7d, 0x0c, 0x14, 0x65, 0x45, 0x22, 0x69, 0x74,
0x04, 0x73, 0x36, 0x63, 0x62, 0x97, 0xf5, 0xc4, 0x3c, 0xd9, 0xc3, 0xf1, 0xa4, 0xcb, 0xf2, 0x86,
0x70, 0x40, 0x35, 0x0f, 0xc7, 0x5f, 0xa1, 0xc7, 0x37, 0xc4, 0x74, 0xbd, 0x4b, 0x51, 0xd6, 0x22,
0xf7, 0x61, 0xe9, 0x8e, 0x6e, 0x78, 0xcf, 0x8c, 0xcf, 0x9a, 0x0c, 0x3e, 0x36, 0x69, 0xad, 0x4a,
0x8d, 0x4d, 0x9f, 0x45, 0xb0, 0x65, 0xaa, 0xe3, 0x2b, 0xbe, 0xb1, 0x89, 0x58, 0xb4, 0xae, 0x40,
0x82, 0xaf, 0x31, 0xd1, 0x69, 0xd3, 0x1a, 0x25, 0x3a, 0x16, 0x9f, 0x39, 0x8c, 0xd0, 0xe5, 0xb2,
0x61, 0xbb, 0x76, 0x5c, 0x67, 0xbd, 0x0c, 0x09, 0x17, 0xf3, 0x61, 0x0b, 0x38, 0xba, 0x11, 0xd9,
0xdc, 0xb5, 0x66, 0x54, 0x5f, 0x3b, 0xb5, 0x77, 0xc2, 0xdb, 0xe7, 0xd1, 0x50, 0x6c, 0x02, 0x31,
0xee, 0xb5, 0xfa, 0x36, 0x8b, 0x3e, 0x4b, 0x77, 0xac, 0xf6, 0x03, 0x7b, 0x1b, 0x73, 0x3f, 0x93,
0xf9, 0x94, 0xab, 0x70, 0x0f, 0x6d, 0xf4, 0x8d, 0x59, 0x07, 0x5d, 0xef, 0x7e, 0xec, 0xbe, 0xdf,
0x99, 0x63, 0xd3, 0x68, 0x32, 0x8f, 0x48, 0x4a, 0x78, 0xc7, 0xea, 0xe0, 0xfb, 0xf1, 0x1b, 0xbf,
0x6d, 0x83, 0x68, 0x93, 0x94, 0x1b, 0xb6, 0xfa, 0x3c, 0x14, 0x9d, 0x97, 0xac, 0x45, 0x03, 0xd0,
0xb4, 0x48, 0xf4, 0xb6, 0x50, 0x10, 0x5e, 0x1d, 0x0c, 0xb7, 0xee, 0x19, 0xb7, 0xc0, 0xe8, 0xb0,
0xb8, 0xbd, 0x63, 0x8b, 0x48, 0xef, 0x7e, 0x48, 0x0e, 0x3f, 0x8f, 0xc9, 0x67, 0x3a, 0xe7, 0xbd,
0x98, 0x1c, 0x86, 0x3b, 0xc6, 0x7f, 0x0a, 0xc8, 0x0e, 0x1e, 0x54, 0x41, 0xbd, 0x2f, 0x95, 0x50,
0xe3, 0x08, 0xb5, 0x88, 0x16, 0x9d, 0xe1, 0xed, 0xcb, 0x95, 0x2f, 0xcd, 0xab, 0x5f, 0xce, 0x5e,
0xbf, 0x7d, 0x7d, 0x3e, 0x3d, 0x6b, 0xfa, 0x06, 0xe8, 0xd6, 0x50, 0x8f, 0xb9, 0xf7, 0x44, 0xe4,
0xc3, 0xd1, 0xa3, 0x4b, 0x58, 0x43, 0xb5, 0xb7, 0xe5, 0x15, 0x82, 0x48, 0xe3, 0xf7, 0x1a, 0xdd,
0x04, 0x0d, 0x70, 0xbe, 0x4b, 0x23, 0x0c, 0x5c, 0x6e, 0xe4, 0x9e, 0x27, 0xc6, 0xf6, 0xa2, 0xe7,
0xd5, 0x9d, 0x4d, 0xae, 0xa3, 0xb6, 0x2e, 0x5f, 0xdc, 0x43, 0xf7, 0xe1, 0x86, 0xba, 0xad, 0x27,
0x47, 0x22, 0xe0, 0x19, 0x55, 0x7e, 0x8a, 0xde, 0x14, 0x75, 0x55, 0x73, 0x3c, 0xc3, 0x05, 0xab,
0x2b, 0x95, 0xb6, 0x1c, 0xba, 0x1f, 0x2d, 0xd0, 0x82, 0xb3, 0x7a, 0x16, 0xe1, 0xd6, 0x38, 0xbc,
0xd4, 0xba, 0xc4, 0x6c, 0x58, 0xa3, 0xd3, 0x0d, 0x69, 0x20, 0x1c, 0xa2, 0x75, 0x0b, 0xb3, 0xa0,
0x1f, 0x53, 0xde, 0xcd, 0x72, 0xf4, 0x4b, 0x3e, 0xa6, 0xd7, 0x97, 0x97, 0x94, 0x0d, 0x3d, 0x76,
0x23, 0x0d, 0xf1, 0x0d, 0xdb, 0x8f, 0x0e, 0x1e, 0x45, 0xfb, 0x7b, 0xb3, 0x83, 0x1f, 0xa3, 0xc3,
0x03, 0xf6, 0xdf, 0x7f, 0xff, 0x87, 0x30, 0x18, 0x24, 0x01, 0x3b, 0xdc, 0x3f, 0x7c, 0xc8, 0xbe,
0xa8, 0xf1, 0x58, 0x99, 0x44, 0x6b, 0xbd, 0x54, 0xb2, 0x51, 0x48, 0x77, 0x57, 0xb8, 0x31, 0x2c,
0x84, 0x2a, 0xa3, 0x28, 0xda, 0x31, 0xe8, 0x88, 0xd6, 0x8f, 0x0a, 0xb4, 0x0c, 0xe4, 0xc7, 0x5d,
0xab, 0x7e, 0xf6, 0x12, 0xd9, 0xce, 0xf6, 0x66, 0xa0, 0x7d, 0xae, 0x0b, 0x0c, 0x56, 0xec, 0xb8,
0xc6, 0x24, 0x68, 0xb6, 0x05, 0x8d, 0xbf, 0x39, 0xf1, 0x20, 0x30, 0xfe, 0x26, 0xeb, 0xee, 0x87,
0xe3, 0x68, 0x23, 0xf7, 0x5b, 0x64, 0xad, 0xd4, 0x52, 0x0d, 0xfd, 0x9d, 0x89, 0xae, 0x0a, 0xb0,
0x6e, 0x0f, 0x3d, 0x61, 0x2f, 0x31, 0x32, 0x55, 0x54, 0xa4, 0x9f, 0xb8, 0xb8, 0xbb, 0x15, 0x33,
0x8b, 0xa4, 0xdb, 0x1f, 0xf8, 0x5f, 0xc9, 0xa6, 0x99, 0xd8, 0x4a, 0x26, 0x0a, 0x9c, 0xeb, 0xd0,
0x17, 0x97, 0x1b, 0x4f, 0x7b, 0xc7, 0x2c, 0xab, 0xd1, 0x36, 0xfd, 0x5b, 0x3f, 0x19, 0xa0, 0x01,
0xe2, 0xce, 0x63, 0xd6, 0xb8, 0x84, 0xa3, 0x63, 0x6b, 0x46, 0x63, 0x2f, 0x72, 0x05, 0xcd, 0xa1,
0xf9, 0x7d, 0xc6, 0xe3, 0xd6, 0xef, 0x50, 0xea, 0x35, 0x51, 0x3c, 0xf8, 0x69, 0xcf, 0x87, 0xf2,
0x79, 0x66, 0x70, 0xc3, 0x55, 0xe8, 0x1e, 0x93, 0x24, 0x5b, 0xd1, 0xef, 0x03, 0x6d, 0xb3, 0xbe,
0x40, 0x1b, 0xc7, 0xd5, 0x0b, 0x39, 0x07, 0xa3, 0x9a, 0x59, 0xe3, 0x9b, 0xc0, 0x98, 0xe5, 0x7a,
0x86, 0x98, 0xe3, 0xf6, 0x6c, 0x86, 0x17, 0xe7, 0xcf, 0xcf, 0x5e, 0x4d, 0xce, 0x3e, 0xc5, 0xba,
0x77, 0x79, 0x3e, 0x65, 0x79, 0xa3, 0xc9, 0x3b, 0x88, 0x06, 0xdf, 0x19, 0x3a, 0x91, 0x06, 0x5e,
0xc1, 0x0d, 0x6b, 0x31, 0x26, 0xa0, 0xa1, 0xe0, 0xae, 0x5a, 0x76, 0x4c, 0x68, 0x55, 0xc5, 0x89,
0xb3, 0xfc, 0x3d, 0x9e, 0xf9, 0xab, 0x39, 0xb5, 0x3a, 0xda, 0xd2, 0xf4, 0x15, 0xe2, 0x09, 0x62,
0xc9, 0xe6, 0xb7, 0x8f, 0x2f, 0x0e, 0xf5, 0x9f, 0xce, 0xf4, 0xbd, 0x6f, 0x1a, 0xea, 0x87, 0xd4,
0x6d, 0xf1, 0x41, 0x77, 0x19, 0xba, 0xd8, 0xd0, 0xcf, 0xab, 0xff, 0x03, 0x77, 0xd3, 0x48, 0xa2,
0x6e, 0x15, 0x00, 0x00
};

File diff suppressed because it is too large Load Diff

View File

@@ -189,7 +189,7 @@ void sendImprovInfoResponse() {
out[11] = 4; //Firmware len ("WLED")
out[12] = 'W'; out[13] = 'L'; out[14] = 'E'; out[15] = 'D';
uint8_t lengthSum = 17;
uint8_t vlen = sprintf_P(out+lengthSum,PSTR("0.14.0-b2.20/%i"),VERSION);
uint8_t vlen = sprintf_P(out+lengthSum,PSTR("0.14.0-b15.21/%i"),VERSION);
out[16] = vlen; lengthSum += vlen;
uint8_t hlen = 7;
#ifdef ESP8266

View File

@@ -8,7 +8,7 @@
*/
// version code in format yymmddb (b = daily build)
#define VERSION 2303321
#define VERSION 23040200
//uncomment this if you have a "my_config.h" file you'd like to use
//#define WLED_USE_MY_CONFIG