Version 1.4.4.
This commit is contained in:
parent
3af2b8d778
commit
f60c09907a
@ -1,9 +1,6 @@
|
|||||||
#ifndef DEFINES_GSR_H
|
#ifndef DEFINES_GSR_H
|
||||||
#define DEFINES_GSR_H
|
#define DEFINES_GSR_H
|
||||||
|
|
||||||
//debug
|
|
||||||
#define USEDEBUG 0 // !0 is on, will not setup Serial OR print output if zero.
|
|
||||||
|
|
||||||
// WiFi
|
// WiFi
|
||||||
#define WiFi_AP_SSID "Watchy Connect"
|
#define WiFi_AP_SSID "Watchy Connect"
|
||||||
#define WiFi_AP_PSWD "Watchy123"
|
#define WiFi_AP_PSWD "Watchy123"
|
||||||
@ -16,7 +13,7 @@
|
|||||||
#define WiFi_DEF_PASS ""
|
#define WiFi_DEF_PASS ""
|
||||||
|
|
||||||
// Battery
|
// Battery
|
||||||
#define MaxBattery 4.37
|
#define GSR_MaxBattery 4.37
|
||||||
|
|
||||||
// functions
|
// functions
|
||||||
#define roller(v,lo,hi) (((v)<(lo))?(hi):((v)>(hi))?(lo):(v))
|
#define roller(v,lo,hi) (((v)<(lo))?(hi):((v)>(hi))?(lo):(v))
|
||||||
@ -24,71 +21,72 @@
|
|||||||
#define golow(v,hi) ((v)<(hi)?(v):(hi))
|
#define golow(v,hi) ((v)<(hi)?(v):(hi))
|
||||||
|
|
||||||
// Watch face states.
|
// Watch face states.
|
||||||
#define WATCHON 0
|
#define GSR_WATCHON 0
|
||||||
#define MENUON 1
|
#define GSR_MENUON 1
|
||||||
|
|
||||||
// Maximum styles possible.
|
// Maximum styles possible.
|
||||||
#define MaxStyles 25
|
#define GSR_MaxStyles 25
|
||||||
|
|
||||||
// Nenu size defines.
|
// Nenu size defines.
|
||||||
#define MenuWidth 200
|
#define GSR_MenuWidth 200
|
||||||
#define MenuHeight 83
|
#define GSR_MenuHeight 83
|
||||||
|
|
||||||
// Menu offsets so I don't have to statically entere them everywhere.
|
// Menu offsets so I don't have to statically entere them everywhere.
|
||||||
#define MENU_STEPS 0
|
#define GSR_MENU_STEPS 0
|
||||||
#define MENU_ALARMS 1
|
#define GSR_MENU_ALARMS 1
|
||||||
#define MENU_TIMERS 2
|
#define GSR_MENU_TIMERS 2
|
||||||
#define MENU_OPTIONS 3
|
#define GSR_MENU_OPTIONS 3
|
||||||
#define MENU_ALARM1 4
|
#define GSR_MENU_ALARM1 4
|
||||||
#define MENU_ALARM2 5
|
#define GSR_MENU_ALARM2 5
|
||||||
#define MENU_ALARM3 6
|
#define GSR_MENU_ALARM3 6
|
||||||
#define MENU_ALARM4 7
|
#define GSR_MENU_ALARM4 7
|
||||||
#define MENU_TONES 8
|
#define GSR_MENU_TONES 8
|
||||||
#define MENU_TIMEDN 9
|
#define GSR_MENU_TIMEDN 9
|
||||||
#define MENU_TIMEUP 10
|
#define GSR_MENU_TIMEUP 10
|
||||||
#define MENU_STYL 11
|
#define GSR_MENU_STYL 11
|
||||||
#define MENU_DISP 12
|
#define GSR_MENU_LANG 12
|
||||||
#define MENU_BRDR 13
|
#define GSR_MENU_DISP 13
|
||||||
#define MENU_SIDE 14
|
#define GSR_MENU_BRDR 14
|
||||||
#define MENU_SWAP 15
|
#define GSR_MENU_SIDE 15
|
||||||
#define MENU_ORNT 16
|
#define GSR_MENU_SWAP 16
|
||||||
#define MENU_MODE 17
|
#define GSR_MENU_ORNT 17
|
||||||
#define MENU_FEED 18
|
#define GSR_MENU_MODE 18
|
||||||
#define MENU_TRBO 19
|
#define GSR_MENU_FEED 19
|
||||||
#define MENU_DARK 20
|
#define GSR_MENU_TRBO 20
|
||||||
#define MENU_SAVE 21
|
#define GSR_MENU_DARK 21
|
||||||
#define MENU_TPWR 22
|
#define GSR_MENU_SAVE 22
|
||||||
#define MENU_INFO 23
|
#define GSR_MENU_TPWR 23
|
||||||
#define MENU_TRBL 24
|
#define GSR_MENU_INFO 24
|
||||||
#define MENU_SYNC 25
|
#define GSR_MENU_TRBL 25
|
||||||
#define MENU_WIFI 26
|
#define GSR_MENU_SYNC 26
|
||||||
#define MENU_OTAU 27
|
#define GSR_MENU_WIFI 27
|
||||||
#define MENU_OTAM 28
|
#define GSR_MENU_OTAU 28
|
||||||
#define MENU_SCRN 29
|
#define GSR_MENU_OTAM 29
|
||||||
#define MENU_RSET 30
|
#define GSR_MENU_SCRN 30
|
||||||
#define MENU_TOFF 31 // Time Diff offset.
|
#define GSR_MENU_RSET 31
|
||||||
#define MENU_UNVS 32
|
#define GSR_MENU_TOFF 32 // Time Diff offset.
|
||||||
|
#define GSR_MENU_UNVS 33
|
||||||
|
|
||||||
// Menu segments.
|
// Menu segments.
|
||||||
#define MENU_INNORMAL 0
|
#define GSR_MENU_INNORMAL 0
|
||||||
#define MENU_INALARMS 1
|
#define GSR_MENU_INALARMS 1
|
||||||
#define MENU_INTIMERS 2
|
#define GSR_MENU_INTIMERS 2
|
||||||
#define MENU_INOPTIONS 3
|
#define GSR_MENU_INOPTIONS 3
|
||||||
#define MENU_INTROUBLE 4
|
#define GSR_MENU_INTROUBLE 4
|
||||||
|
|
||||||
// Button debounce.
|
// Button debounce.
|
||||||
#define KEYPAUSE 728
|
#define GSR_KEYPAUSE 728
|
||||||
|
|
||||||
//ALARM flags.
|
//ALARM flags.
|
||||||
#define ALARM_REPEAT 128
|
#define GSR_ALARM_REPEAT 128
|
||||||
#define ALARM_ACTIVE 256
|
#define GSR_ALARM_ACTIVE 256
|
||||||
#define ALARM_NOTRIGGER 511
|
#define GSR_ALARM_NOTRIGGER 511
|
||||||
#define ALARM_TRIGGERED 512
|
#define GSR_ALARM_TRIGGERED 512
|
||||||
#define ALARM_DAYS 127
|
#define GSR_ALARM_DAYS 127
|
||||||
#define ALARM_ALL 1023
|
#define GSR_ALARM_ALL 1023
|
||||||
|
|
||||||
// Setup lengths.
|
// Setup lengths.
|
||||||
#define AlarmSetup 1234567890
|
#define GSR_AlarmSetup 1234567890
|
||||||
|
|
||||||
//pins
|
//pins
|
||||||
#define RTC_INT_PIN GPIO_NUM_27
|
#define RTC_INT_PIN GPIO_NUM_27
|
||||||
@ -97,16 +95,16 @@
|
|||||||
#define EPD_RESET 9
|
#define EPD_RESET 9
|
||||||
#define EPD_BUSY 19
|
#define EPD_BUSY 19
|
||||||
#define VIB_MOTOR_PIN 13
|
#define VIB_MOTOR_PIN 13
|
||||||
#define MENU_PIN 26
|
#define GSR_MENU_PIN 26
|
||||||
#define BACK_PIN 25
|
#define GSR_BACK_PIN 25
|
||||||
#define DOWN_PIN 4
|
#define GSR_DOWN_PIN 4
|
||||||
#define MENU_MASK GPIO_SEL_26
|
#define GSR_MENU_MASK GPIO_SEL_26
|
||||||
#define BACK_MASK GPIO_SEL_25
|
#define GSR_BACK_MASK GPIO_SEL_25
|
||||||
#define DOWN_MASK GPIO_SEL_4
|
#define GSR_DOWN_MASK GPIO_SEL_4
|
||||||
#define ACC_INT_MASK GPIO_SEL_14
|
#define ACC_INT_MASK GPIO_SEL_14
|
||||||
|
|
||||||
//SetCPU defines.
|
//SetCPU defines.
|
||||||
#define CPUMAX 65280
|
#define GSR_CPUMAX 65280
|
||||||
#define CPUDEF 65281
|
#define GSR_CPUDEF 65281
|
||||||
#define CPUMID 65282
|
#define GSR_CPUMID 65282
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
3425
src/Fonts_GSR.h
Normal file
3425
src/Fonts_GSR.h
Normal file
File diff suppressed because it is too large
Load Diff
514
src/Locale_GSR.h
Normal file
514
src/Locale_GSR.h
Normal file
@ -0,0 +1,514 @@
|
|||||||
|
#ifndef Locale_GSR_H
|
||||||
|
#define Locale_GSR_H
|
||||||
|
/* This code is designed to allow for multi-lingual setup to happen with Watchy GSR.
|
||||||
|
*/
|
||||||
|
|
||||||
|
class LocaleGSR {
|
||||||
|
public:
|
||||||
|
LocaleGSR() {};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* MaxLangID holds the maximum ID for language, done when more are added.
|
||||||
|
*/
|
||||||
|
|
||||||
|
virtual uint8_t MaxLangID() final { return 0; };
|
||||||
|
|
||||||
|
/*
|
||||||
|
* LangString:
|
||||||
|
*
|
||||||
|
* Values starting with 0 are encased in {% %} so they look like {%0%} and are replaced
|
||||||
|
* with the language ID's id, calls for LangString will replace those with the values of
|
||||||
|
* the stored strings, use the StartID and LastID to minimize the workload on specific
|
||||||
|
* strings.
|
||||||
|
*/
|
||||||
|
|
||||||
|
virtual String LangString(String Input, bool Web, uint8_t LangID = 0, uint8_t StartID = 0, uint8_t LastID = 0) final{
|
||||||
|
String S = Input;
|
||||||
|
S.replace("{%LANG%}",GetWebLang(LangID));
|
||||||
|
if (LastID < StartID || (LastID + StartID) == 0) LastID = LocaleGSR::MaxLangID();
|
||||||
|
for (int I = StartID; I <= LastID; I++) S.replace("{%" + String(I) + "%}",(Web ? LocaleGSR::GetWebID(LangID,I) : LocaleGSR::GetID(LangID,I)));
|
||||||
|
return S;
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* GetFormatID is used to retrieve format information for specific watch face fields
|
||||||
|
* by regional changes.
|
||||||
|
*/
|
||||||
|
|
||||||
|
String GetFormatID(uint8_t LangID, uint8_t ID){
|
||||||
|
switch(LangID){
|
||||||
|
case 0:{
|
||||||
|
switch(ID){
|
||||||
|
case 0:
|
||||||
|
return "{W}"; // Weekday.
|
||||||
|
case 1:
|
||||||
|
return "{M} {D}"; // Month & Date
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return "None";
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* GetID, GetWebID are used by the LangString to retrieve those language changes per entry.
|
||||||
|
* WebIDs are different from normal IDs as they're used in the OTA Website and are not limited
|
||||||
|
* to the font limitations in the system.
|
||||||
|
*/
|
||||||
|
|
||||||
|
String GetID(uint8_t LangID, uint8_t ID){
|
||||||
|
switch(LangID){
|
||||||
|
case 0:{
|
||||||
|
switch(ID){
|
||||||
|
case 0:
|
||||||
|
return "Classic GSR"; // Watchface 0.
|
||||||
|
case 1:
|
||||||
|
return "--"; // Placeholder
|
||||||
|
case 2:
|
||||||
|
return "Tomorrow";
|
||||||
|
case 3:
|
||||||
|
return "Reset Today";
|
||||||
|
case 4:
|
||||||
|
return "Steps";
|
||||||
|
case 5:
|
||||||
|
return "Alarms";
|
||||||
|
case 6:
|
||||||
|
return "Timers";
|
||||||
|
case 7:
|
||||||
|
return "Options";
|
||||||
|
case 8:
|
||||||
|
return "Alarm 1 Time";
|
||||||
|
case 9:
|
||||||
|
return "A1 Tone Repeats";
|
||||||
|
case 10:
|
||||||
|
return "Alarm 1 Options";
|
||||||
|
case 11:
|
||||||
|
return "Alarm 1";
|
||||||
|
case 12:
|
||||||
|
return "Alarm 2 Time";
|
||||||
|
case 13:
|
||||||
|
return "A2 Tone Repeats";
|
||||||
|
case 14:
|
||||||
|
return "Alarm 2 Options";
|
||||||
|
case 15:
|
||||||
|
return "Alarm 2";
|
||||||
|
case 16:
|
||||||
|
return "Alarm 3 Time";
|
||||||
|
case 17:
|
||||||
|
return "A3 Tone Repeats";
|
||||||
|
case 18:
|
||||||
|
return "Alarm 3 Options";
|
||||||
|
case 19:
|
||||||
|
return "Alarm 3";
|
||||||
|
case 20:
|
||||||
|
return "Alarm 4 Time";
|
||||||
|
case 21:
|
||||||
|
return "A4 Tone Repeats";
|
||||||
|
case 22:
|
||||||
|
return "Alarm 4 Options";
|
||||||
|
case 23:
|
||||||
|
return "Alarm 4";
|
||||||
|
case 24:
|
||||||
|
return "Tone Repeats";
|
||||||
|
case 25:
|
||||||
|
return "Countdown Timer";
|
||||||
|
case 26:
|
||||||
|
return "Elapsed Timer";
|
||||||
|
case 27:
|
||||||
|
return "Watch Style";
|
||||||
|
case 28:
|
||||||
|
return "Display Style";
|
||||||
|
case 29:
|
||||||
|
return "Language";
|
||||||
|
case 30:
|
||||||
|
return "Border Mode";
|
||||||
|
case 31:
|
||||||
|
return "Dexterity";
|
||||||
|
case 32:
|
||||||
|
return "Menu & Back";
|
||||||
|
case 33:
|
||||||
|
return "Orientation";
|
||||||
|
case 34:
|
||||||
|
return "Time Mode";
|
||||||
|
case 35:
|
||||||
|
return "Feedback";
|
||||||
|
case 36:
|
||||||
|
return "Turbo Time";
|
||||||
|
case 37:
|
||||||
|
return "Screen Off";
|
||||||
|
case 38:
|
||||||
|
return "Screen Blanking";
|
||||||
|
case 39:
|
||||||
|
return "Screen Auto-Off";
|
||||||
|
case 40:
|
||||||
|
return "Sleeping Begins";
|
||||||
|
case 41:
|
||||||
|
return "Sleeping Ends";
|
||||||
|
case 42:
|
||||||
|
return "Orientation";
|
||||||
|
case 43:
|
||||||
|
return "Performance";
|
||||||
|
case 44:
|
||||||
|
return "WiFi Tx Power";
|
||||||
|
case 45:
|
||||||
|
return "Information";
|
||||||
|
case 46:
|
||||||
|
return "Troubleshoot";
|
||||||
|
case 47:
|
||||||
|
return "Sync Watchy";
|
||||||
|
case 48:
|
||||||
|
return "Watchy Connect";
|
||||||
|
case 49:
|
||||||
|
return "Upload Firmware";
|
||||||
|
case 50:
|
||||||
|
return "OTA Update";
|
||||||
|
case 51:
|
||||||
|
return "Visit Website";
|
||||||
|
case 52:
|
||||||
|
return "OTA Website";
|
||||||
|
case 53:
|
||||||
|
return "Reset Screen";
|
||||||
|
case 54:
|
||||||
|
return "Watchy Reboot";
|
||||||
|
case 55:
|
||||||
|
return "Return to RTC";
|
||||||
|
case 56:
|
||||||
|
return "Detect Travel";
|
||||||
|
case 57:
|
||||||
|
return "Storage Settings";
|
||||||
|
case 58:
|
||||||
|
return "Change Storage";
|
||||||
|
case 59:
|
||||||
|
return "Delete and Reboot";
|
||||||
|
case 60:
|
||||||
|
return "MENU to Reset";
|
||||||
|
case 61:
|
||||||
|
return "MENU to Select";
|
||||||
|
case 62:
|
||||||
|
return "MENU to Edit";
|
||||||
|
case 63:
|
||||||
|
return "Repeat";
|
||||||
|
case 64:
|
||||||
|
return "Active";
|
||||||
|
case 65:
|
||||||
|
return "repeats";
|
||||||
|
case 66:
|
||||||
|
return "MENU to Select";
|
||||||
|
case 67:
|
||||||
|
return "MENU to Change";
|
||||||
|
case 68:
|
||||||
|
return "Off";
|
||||||
|
case 69:
|
||||||
|
return "On";
|
||||||
|
case 70:
|
||||||
|
return "MENU to Enter";
|
||||||
|
case 71:
|
||||||
|
return "Light";
|
||||||
|
case 72:
|
||||||
|
return "Dark";
|
||||||
|
case 73:
|
||||||
|
return "Left-handed";
|
||||||
|
case 74:
|
||||||
|
return "Right-handed";
|
||||||
|
case 75:
|
||||||
|
return "Swapped";
|
||||||
|
case 76:
|
||||||
|
return "Normal";
|
||||||
|
case 77:
|
||||||
|
return "Watchy UP";
|
||||||
|
case 78:
|
||||||
|
return "Ignore";
|
||||||
|
case 79:
|
||||||
|
return "24 Hour";
|
||||||
|
case 80:
|
||||||
|
return "AM/PM";
|
||||||
|
case 81:
|
||||||
|
return "Enabled";
|
||||||
|
case 82:
|
||||||
|
return "Locked";
|
||||||
|
case 83:
|
||||||
|
return "Disabled";
|
||||||
|
case 84:
|
||||||
|
return "Always";
|
||||||
|
case 85:
|
||||||
|
return "Bed Time";
|
||||||
|
case 86:
|
||||||
|
return "Double Tap On";
|
||||||
|
case 87:
|
||||||
|
return "Double Tap Only";
|
||||||
|
case 88:
|
||||||
|
return "to";
|
||||||
|
case 89:
|
||||||
|
return "Version";
|
||||||
|
case 90:
|
||||||
|
return "Battery";
|
||||||
|
case 91:
|
||||||
|
return "Battery Saving";
|
||||||
|
case 92:
|
||||||
|
return "Turbo";
|
||||||
|
case 93:
|
||||||
|
return "MENU to Start";
|
||||||
|
case 94:
|
||||||
|
return "Time";
|
||||||
|
case 95:
|
||||||
|
return "TimeZone";
|
||||||
|
case 96:
|
||||||
|
return "TimeZone & Time";
|
||||||
|
case 97:
|
||||||
|
return "MENU to Begin";
|
||||||
|
case 98:
|
||||||
|
return "Starting AP";
|
||||||
|
case 99:
|
||||||
|
return "BACK to End";
|
||||||
|
case 100:
|
||||||
|
return "MENU to Connect";
|
||||||
|
case 101:
|
||||||
|
return "Connecting...";
|
||||||
|
case 102:
|
||||||
|
return "MENU to Agree";
|
||||||
|
case 103:
|
||||||
|
return "MENU to Reboot";
|
||||||
|
case 104:
|
||||||
|
return "Time Sync";
|
||||||
|
case 105:
|
||||||
|
return "Calculating";
|
||||||
|
case 106:
|
||||||
|
return "Bad RTC";
|
||||||
|
case 107:
|
||||||
|
return "No Drift";
|
||||||
|
case 108:
|
||||||
|
return "Menu to Disable";
|
||||||
|
case 109:
|
||||||
|
return "Menu to Enable";
|
||||||
|
case 110:
|
||||||
|
return "MENU to Keep";
|
||||||
|
case 111:
|
||||||
|
return "Delete and Reboot";
|
||||||
|
case 112:
|
||||||
|
return "seconds";
|
||||||
|
case 113:
|
||||||
|
return "second";
|
||||||
|
case 114:
|
||||||
|
return "PM";
|
||||||
|
case 115:
|
||||||
|
return "AM";
|
||||||
|
case 116:
|
||||||
|
return "Full";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return "None";
|
||||||
|
};
|
||||||
|
|
||||||
|
String GetWebID(uint8_t LangID, uint8_t ID){
|
||||||
|
switch(LangID){
|
||||||
|
case 0:{
|
||||||
|
switch(ID){
|
||||||
|
case 0:
|
||||||
|
return "Watchy WiFi TX Power"; // Why did I do this?
|
||||||
|
case 1:
|
||||||
|
return "Watchy Connect Options"; // 1 to 4 Index page
|
||||||
|
case 2:
|
||||||
|
return "Backup & Restore Settings";
|
||||||
|
case 3:
|
||||||
|
return "Edit Additional WiFi Access Points";
|
||||||
|
case 4:
|
||||||
|
return "Upload New Firmware";
|
||||||
|
case 5:
|
||||||
|
return "Watchy Backup & Restore Settings"; // 5 to 6 Settings page
|
||||||
|
case 6:
|
||||||
|
return "Store"; // WiFi D
|
||||||
|
case 7:
|
||||||
|
return "Watchy settings restored! OTA Website Off"; // 5 to 7 for Settings Done
|
||||||
|
case 8:
|
||||||
|
return "Watchy Upload New Firmware"; // 8 to 13 Upgrade
|
||||||
|
case 9:
|
||||||
|
return "Upload";
|
||||||
|
case 10:
|
||||||
|
return "Waiting";
|
||||||
|
case 11:
|
||||||
|
return "You must select a firmware [bin] to upload!";
|
||||||
|
case 12:
|
||||||
|
return "Progress";
|
||||||
|
case 13:
|
||||||
|
return "Success";
|
||||||
|
case 14:
|
||||||
|
return "Watchy Additional WiFi Access Point Settings"; // WiFi A
|
||||||
|
case 15:
|
||||||
|
return "PASS"; // WiFi C
|
||||||
|
case 16:
|
||||||
|
return "Watchy Additional APs updated! OTA Website Off";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return "None";
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* GetWebLang retrieves the current language for the OTA website (2 letters usually).
|
||||||
|
*/
|
||||||
|
|
||||||
|
String GetWebLang(uint8_t LangID){
|
||||||
|
switch(LangID){
|
||||||
|
case 0:
|
||||||
|
return "en";
|
||||||
|
case 1:
|
||||||
|
return "None";
|
||||||
|
case 2:
|
||||||
|
return "None";
|
||||||
|
}
|
||||||
|
return "None";
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* GetLangName retrieves the current language (typically written in that language).
|
||||||
|
*/
|
||||||
|
|
||||||
|
String GetLangName(uint8_t LangID){
|
||||||
|
switch(LangID){
|
||||||
|
case 0:
|
||||||
|
return "English";
|
||||||
|
case 1:
|
||||||
|
return "None";
|
||||||
|
case 2:
|
||||||
|
return "None";
|
||||||
|
}
|
||||||
|
return "None";
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* GetWeekday retrieves the current day of week in language (0 to 6 input starting from
|
||||||
|
* Sunday)..
|
||||||
|
*/
|
||||||
|
|
||||||
|
String GetWeekday(uint8_t LangID, uint8_t ID){
|
||||||
|
switch(LangID){
|
||||||
|
case 0:{
|
||||||
|
switch(ID){
|
||||||
|
case 0:
|
||||||
|
return "Sunday";
|
||||||
|
case 1:
|
||||||
|
return "Monday";
|
||||||
|
case 2:
|
||||||
|
return "Tuesday";
|
||||||
|
case 3:
|
||||||
|
return "Wednesday";
|
||||||
|
case 4:
|
||||||
|
return "Thursday";
|
||||||
|
case 5:
|
||||||
|
return "Friday";
|
||||||
|
case 6:
|
||||||
|
return "Saturday";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return "None";
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* GetShortWeekday retrieves the current day of week in language (0 to 6 input starting from
|
||||||
|
* Sunday)..
|
||||||
|
*/
|
||||||
|
|
||||||
|
String GetShortWeekday(uint8_t LangID, uint8_t ID){
|
||||||
|
switch(LangID){
|
||||||
|
case 0:{
|
||||||
|
switch(ID){
|
||||||
|
case 0:
|
||||||
|
return "Sun";
|
||||||
|
case 1:
|
||||||
|
return "Mon";
|
||||||
|
case 2:
|
||||||
|
return "Tue";
|
||||||
|
case 3:
|
||||||
|
return "Wed";
|
||||||
|
case 4:
|
||||||
|
return "Thu";
|
||||||
|
case 5:
|
||||||
|
return "Fri";
|
||||||
|
case 6:
|
||||||
|
return "Sat";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return "Non";
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* GetMonth retrieves the current month in the language (0 to 11 input starting from the
|
||||||
|
* first month January).
|
||||||
|
*/
|
||||||
|
|
||||||
|
String GetMonth(uint8_t LangID, uint8_t ID){
|
||||||
|
switch(LangID){
|
||||||
|
case 0:{
|
||||||
|
switch(ID){
|
||||||
|
case 0:
|
||||||
|
return "January";
|
||||||
|
case 1:
|
||||||
|
return "February";
|
||||||
|
case 2:
|
||||||
|
return "March";
|
||||||
|
case 3:
|
||||||
|
return "April";
|
||||||
|
case 4:
|
||||||
|
return "May";
|
||||||
|
case 5:
|
||||||
|
return "June";
|
||||||
|
case 6:
|
||||||
|
return "July";
|
||||||
|
case 7:
|
||||||
|
return "August";
|
||||||
|
case 8:
|
||||||
|
return "September";
|
||||||
|
case 9:
|
||||||
|
return "October";
|
||||||
|
case 10:
|
||||||
|
return "November";
|
||||||
|
case 11:
|
||||||
|
return "December";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return "None";
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* GetShortMonth retrieves the current month in the language (0 to 11 input starting from the
|
||||||
|
* first month January).
|
||||||
|
*/
|
||||||
|
|
||||||
|
String GetShortMonth(uint8_t LangID, uint8_t ID){
|
||||||
|
switch(LangID){
|
||||||
|
case 0:{
|
||||||
|
switch(ID){
|
||||||
|
case 0:
|
||||||
|
return "Jan";
|
||||||
|
case 1:
|
||||||
|
return "Feb";
|
||||||
|
case 2:
|
||||||
|
return "Mar";
|
||||||
|
case 3:
|
||||||
|
return "Apr";
|
||||||
|
case 4:
|
||||||
|
return "May";
|
||||||
|
case 5:
|
||||||
|
return "Jun";
|
||||||
|
case 6:
|
||||||
|
return "Jul";
|
||||||
|
case 7:
|
||||||
|
return "Aug";
|
||||||
|
case 8:
|
||||||
|
return "Sep";
|
||||||
|
case 9:
|
||||||
|
return "Oct";
|
||||||
|
case 10:
|
||||||
|
return "Nov";
|
||||||
|
case 11:
|
||||||
|
return "Dec";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return "Non";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
#endif
|
||||||
1019
src/Watchy_GSR.cpp
1019
src/Watchy_GSR.cpp
File diff suppressed because it is too large
Load Diff
@ -12,35 +12,27 @@
|
|||||||
#include <WiFiClient.h>
|
#include <WiFiClient.h>
|
||||||
#include <ArduinoOTA.h>
|
#include <ArduinoOTA.h>
|
||||||
#include <Update.h>
|
#include <Update.h>
|
||||||
#include <WiFiManager.h>
|
#include <WebServer.h>
|
||||||
|
#include <esp_wifi.h>
|
||||||
#include <HTTPClient.h>
|
#include <HTTPClient.h>
|
||||||
#include <SmallRTC.h>
|
#include <SmallRTC.h>
|
||||||
#include <SmallNTP.h>
|
#include <SmallNTP.h>
|
||||||
#include <Olson2POSIX.h>
|
#include <Olson2POSIX.h>
|
||||||
#include "GxEPD2_BW.h"
|
#include <GxEPD2_BW.h>
|
||||||
|
#include "Locale_GSR.h"
|
||||||
#include <mbedtls/base64.h>
|
#include <mbedtls/base64.h>
|
||||||
#include <Wire.h>
|
#include <Wire.h>
|
||||||
#include <StableBMA.h>
|
#include <StableBMA.h>
|
||||||
|
#include "Fonts_GSR.h"
|
||||||
#include "Icons_GSR.h"
|
#include "Icons_GSR.h"
|
||||||
#include "ArduinoNvs.h"
|
#include "ArduinoNvs.h"
|
||||||
|
|
||||||
#include "Bronova_Regular13pt7b.h"
|
|
||||||
#include "aAntiCorona10pt7b.h"
|
|
||||||
#include "aAntiCorona11pt7b.h"
|
|
||||||
#include "aAntiCorona12pt7b.h"
|
|
||||||
#include "aAntiCorona13pt7b.h"
|
|
||||||
#include "aAntiCorona14pt7b.h"
|
|
||||||
#include "aAntiCorona15pt7b.h"
|
|
||||||
#include "aAntiCorona16pt7b.h"
|
|
||||||
#include "aAntiCorona36pt7b.h"
|
|
||||||
|
|
||||||
class WatchyGSR{
|
class WatchyGSR{
|
||||||
public:
|
public:
|
||||||
static SmallRTC SRTC;
|
static SmallRTC SRTC;
|
||||||
static SmallNTP SNTP;
|
static SmallNTP SNTP;
|
||||||
static GxEPD2_BW<GxEPD2_154_D67, GxEPD2_154_D67::HEIGHT> display;
|
static GxEPD2_BW<GxEPD2_154_D67, GxEPD2_154_D67::HEIGHT> display;
|
||||||
static constexpr const char* Build = "1.4.3J";
|
static constexpr const char* Build = "1.4.4";
|
||||||
enum DesOps {dSTATIC, dLEFT, dRIGHT, dCENTER};
|
enum DesOps {dSTATIC, dLEFT, dRIGHT, dCENTER};
|
||||||
|
|
||||||
public:
|
public:
|
||||||
@ -49,20 +41,23 @@ class WatchyGSR{
|
|||||||
virtual void StartWeb() final;
|
virtual void StartWeb() final;
|
||||||
virtual void showWatchFace();
|
virtual void showWatchFace();
|
||||||
virtual void drawWatchFace(); //override this method for different watch faces
|
virtual void drawWatchFace(); //override this method for different watch faces
|
||||||
virtual void drawTime();
|
virtual void drawTime(uint8_t Flags = 0); // 32 means no AM/PM, 64 means add padding to <10 hour.
|
||||||
virtual void drawDay();
|
virtual void drawDay();
|
||||||
virtual void drawDate();
|
virtual void drawDate(bool Short = false); // Short month can be used.
|
||||||
virtual void drawYear();
|
virtual void drawYear();
|
||||||
virtual void handleButtonPress(uint8_t Pressed) final;
|
virtual void handleButtonPress(uint8_t Pressed) final;
|
||||||
virtual void deepSleep() final;
|
virtual void deepSleep() final;
|
||||||
virtual float getBatteryVoltage() final;
|
virtual float getBatteryVoltage() final;
|
||||||
virtual float BatteryRead() final;
|
virtual float BatteryRead() final;
|
||||||
virtual bool IsDark() final;
|
virtual bool IsDark() final;
|
||||||
|
virtual bool IsAM() final;
|
||||||
|
virtual bool IsPM() final;
|
||||||
|
virtual String GetLangWebID() final;
|
||||||
IRAM_ATTR virtual void handleInterrupt() final;
|
IRAM_ATTR virtual void handleInterrupt() final;
|
||||||
void drawChargeMe(bool Dark = false);
|
void drawChargeMe(bool Dark = false);
|
||||||
void drawStatus();
|
void drawStatus();
|
||||||
virtual void VibeTo(bool Mode) final;
|
virtual void VibeTo(bool Mode) final;
|
||||||
virtual String MakeTime(int Hour, int Minutes, bool& Alarm) final;
|
virtual String MakeTime(int Hour, int Minutes, bool& Alarm) final; // For Hour | 32 means no AM/PM, | 64 means add padding to <10 hour.
|
||||||
virtual String MakeHour(uint8_t Hour) final;
|
virtual String MakeHour(uint8_t Hour) final;
|
||||||
virtual String MakeMinutes(uint8_t Minutes) final;
|
virtual String MakeMinutes(uint8_t Minutes) final;
|
||||||
virtual uint16_t ForeColor() final;
|
virtual uint16_t ForeColor() final;
|
||||||
@ -78,6 +73,8 @@ class WatchyGSR{
|
|||||||
virtual void InsertDrawWatchStyle(uint8_t StyleID);
|
virtual void InsertDrawWatchStyle(uint8_t StyleID);
|
||||||
virtual void InsertInitWatchStyle(uint8_t StyleID);
|
virtual void InsertInitWatchStyle(uint8_t StyleID);
|
||||||
virtual bool InsertHandlePressed(uint8_t SwitchNumber, bool &Haptic, bool &Refresh);
|
virtual bool InsertHandlePressed(uint8_t SwitchNumber, bool &Haptic, bool &Refresh);
|
||||||
|
virtual void OverrideDefaultMenu(bool Override);
|
||||||
|
virtual void ShowDefaultMenu() final;
|
||||||
virtual uint8_t AddWatchStyle(String StyleName) final;
|
virtual uint8_t AddWatchStyle(String StyleName) final;
|
||||||
virtual String InsertNTPServer();
|
virtual String InsertNTPServer();
|
||||||
virtual void AllowDefaultWatchStyles(bool Allow = true) final;
|
virtual void AllowDefaultWatchStyles(bool Allow = true) final;
|
||||||
@ -223,4 +220,5 @@ struct TimeData final {
|
|||||||
extern Designing Design;
|
extern Designing Design;
|
||||||
extern TimeData WatchTime;
|
extern TimeData WatchTime;
|
||||||
extern StableBMA SBMA;
|
extern StableBMA SBMA;
|
||||||
|
extern LocaleGSR LGSR;
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
321
src/Web-HTML.h
321
src/Web-HTML.h
@ -1,6 +1,7 @@
|
|||||||
//0x3e, 0x3f, 0x3f, 0x3c (separator for settings)
|
//0x3e, 0x3f, 0x3f, 0x3c (separator for settings)
|
||||||
static const char basicIndex[] = {
|
static const char basicIndex[] = {
|
||||||
0x3C, 0x68, 0x74, 0x6D, 0x6C, 0x3E, 0x3C, 0x62, 0x6F, 0x64, 0x79, 0x20, 0x62, 0x67, 0x63, 0x6F,
|
0x3C, 0x68, 0x74, 0x6D, 0x6C, 0x20, 0x6C, 0x61, 0x6E, 0x67, 0x3D, 0x22, 0x7B, 0x25, 0x4C, 0x41,
|
||||||
|
0x4E, 0x47, 0x25, 0x7D, 0x22, 0x3E, 0x3C, 0x62, 0x6F, 0x64, 0x79, 0x20, 0x62, 0x67, 0x63, 0x6F,
|
||||||
0x6C, 0x6F, 0x72, 0x3D, 0x22, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x22, 0x20, 0x66, 0x67, 0x63,
|
0x6C, 0x6F, 0x72, 0x3D, 0x22, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x22, 0x20, 0x66, 0x67, 0x63,
|
||||||
0x6F, 0x6C, 0x6F, 0x72, 0x20, 0x3D, 0x22, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x22, 0x3E, 0x3C,
|
0x6F, 0x6C, 0x6F, 0x72, 0x20, 0x3D, 0x22, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x22, 0x3E, 0x3C,
|
||||||
0x73, 0x74, 0x79, 0x6C, 0x65, 0x3E, 0x0D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x61,
|
0x73, 0x74, 0x79, 0x6C, 0x65, 0x3E, 0x0D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x61,
|
||||||
@ -29,28 +30,24 @@ static const char basicIndex[] = {
|
|||||||
0x27, 0x32, 0x30, 0x25, 0x27, 0x20, 0x61, 0x6C, 0x69, 0x67, 0x6E, 0x3D, 0x27, 0x63, 0x65, 0x6E,
|
0x27, 0x32, 0x30, 0x25, 0x27, 0x20, 0x61, 0x6C, 0x69, 0x67, 0x6E, 0x3D, 0x27, 0x63, 0x65, 0x6E,
|
||||||
0x74, 0x65, 0x72, 0x27, 0x3E, 0x3C, 0x74, 0x72, 0x3E, 0x3C, 0x74, 0x64, 0x3E, 0x3C, 0x63, 0x65,
|
0x74, 0x65, 0x72, 0x27, 0x3E, 0x3C, 0x74, 0x72, 0x3E, 0x3C, 0x74, 0x64, 0x3E, 0x3C, 0x63, 0x65,
|
||||||
0x6E, 0x74, 0x65, 0x72, 0x3E, 0x3C, 0x66, 0x6F, 0x6E, 0x74, 0x20, 0x73, 0x69, 0x7A, 0x65, 0x3D,
|
0x6E, 0x74, 0x65, 0x72, 0x3E, 0x3C, 0x66, 0x6F, 0x6E, 0x74, 0x20, 0x73, 0x69, 0x7A, 0x65, 0x3D,
|
||||||
0x34, 0x3E, 0x3C, 0x62, 0x3E, 0x3C, 0x75, 0x3E, 0x57, 0x61, 0x74, 0x63, 0x68, 0x79, 0x20, 0x43,
|
0x34, 0x3E, 0x3C, 0x62, 0x3E, 0x3C, 0x75, 0x3E, 0x7B, 0x25, 0x31, 0x25, 0x7D, 0x3C, 0x2F, 0x75,
|
||||||
0x6F, 0x6E, 0x6E, 0x65, 0x63, 0x74, 0x20, 0x4F, 0x70, 0x74, 0x69, 0x6F, 0x6E, 0x73, 0x3C, 0x2F,
|
0x3E, 0x3C, 0x2F, 0x62, 0x3E, 0x3C, 0x2F, 0x66, 0x6F, 0x6E, 0x74, 0x3E, 0x3C, 0x2F, 0x63, 0x65,
|
||||||
0x75, 0x3E, 0x3C, 0x2F, 0x62, 0x3E, 0x3C, 0x2F, 0x66, 0x6F, 0x6E, 0x74, 0x3E, 0x3C, 0x2F, 0x63,
|
0x6E, 0x74, 0x65, 0x72, 0x3E, 0x3C, 0x62, 0x72, 0x3E, 0x3C, 0x2F, 0x74, 0x64, 0x3E, 0x3C, 0x2F,
|
||||||
0x65, 0x6E, 0x74, 0x65, 0x72, 0x3E, 0x3C, 0x62, 0x72, 0x3E, 0x3C, 0x2F, 0x74, 0x64, 0x3E, 0x3C,
|
0x74, 0x72, 0x3E, 0x3C, 0x74, 0x72, 0x3E, 0x3C, 0x74, 0x64, 0x3E, 0x3C, 0x66, 0x6F, 0x6E, 0x74,
|
||||||
0x2F, 0x74, 0x72, 0x3E, 0x3C, 0x74, 0x72, 0x3E, 0x3C, 0x74, 0x64, 0x3E, 0x3C, 0x66, 0x6F, 0x6E,
|
0x20, 0x73, 0x69, 0x7A, 0x65, 0x3D, 0x32, 0x3E, 0x3C, 0x66, 0x6F, 0x72, 0x6D, 0x20, 0x61, 0x63,
|
||||||
0x74, 0x20, 0x73, 0x69, 0x7A, 0x65, 0x3D, 0x32, 0x3E, 0x3C, 0x66, 0x6F, 0x72, 0x6D, 0x20, 0x61,
|
0x74, 0x69, 0x6F, 0x6E, 0x3D, 0x27, 0x2F, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6E, 0x67, 0x73, 0x27,
|
||||||
0x63, 0x74, 0x69, 0x6F, 0x6E, 0x3D, 0x27, 0x2F, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6E, 0x67, 0x73,
|
0x3E, 0x3C, 0x62, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3D, 0x27, 0x73,
|
||||||
0x27, 0x3E, 0x3C, 0x62, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3D, 0x27,
|
0x75, 0x62, 0x6D, 0x69, 0x74, 0x27, 0x3E, 0x7B, 0x25, 0x32, 0x25, 0x7D, 0x3C, 0x2F, 0x62, 0x75,
|
||||||
0x73, 0x75, 0x62, 0x6D, 0x69, 0x74, 0x27, 0x3E, 0x42, 0x61, 0x63, 0x6B, 0x75, 0x70, 0x20, 0x26,
|
0x74, 0x74, 0x6F, 0x6E, 0x3E, 0x3C, 0x2F, 0x66, 0x6F, 0x72, 0x6D, 0x3E, 0x3C, 0x2F, 0x66, 0x6F,
|
||||||
0x20, 0x52, 0x65, 0x73, 0x74, 0x6F, 0x72, 0x65, 0x20, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6E, 0x67,
|
0x6E, 0x74, 0x3E, 0x3C, 0x2F, 0x74, 0x64, 0x3E, 0x3C, 0x2F, 0x74, 0x72, 0x3E, 0x3C, 0x74, 0x72,
|
||||||
0x73, 0x3C, 0x2F, 0x62, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x3E, 0x3C, 0x2F, 0x66, 0x6F, 0x72, 0x6D,
|
0x3E, 0x3C, 0x74, 0x64, 0x3E, 0x3C, 0x66, 0x6F, 0x6E, 0x74, 0x20, 0x73, 0x69, 0x7A, 0x65, 0x3D,
|
||||||
0x3E, 0x3C, 0x2F, 0x66, 0x6F, 0x6E, 0x74, 0x3E, 0x3C, 0x2F, 0x74, 0x64, 0x3E, 0x3C, 0x2F, 0x74,
|
0x32, 0x3E, 0x3C, 0x66, 0x6F, 0x72, 0x6D, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x3D,
|
||||||
0x72, 0x3E, 0x3C, 0x74, 0x72, 0x3E, 0x3C, 0x74, 0x64, 0x3E, 0x3C, 0x66, 0x6F, 0x6E, 0x74, 0x20,
|
0x27, 0x2F, 0x77, 0x69, 0x66, 0x69, 0x27, 0x3E, 0x3C, 0x62, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x20,
|
||||||
0x73, 0x69, 0x7A, 0x65, 0x3D, 0x32, 0x3E, 0x3C, 0x66, 0x6F, 0x72, 0x6D, 0x20, 0x61, 0x63, 0x74,
|
0x74, 0x79, 0x70, 0x65, 0x3D, 0x27, 0x73, 0x75, 0x62, 0x6D, 0x69, 0x74, 0x27, 0x3E, 0x7B, 0x25,
|
||||||
0x69, 0x6F, 0x6E, 0x20, 0x3D, 0x27, 0x2F, 0x77, 0x69, 0x66, 0x69, 0x27, 0x3E, 0x3C, 0x62, 0x75,
|
0x33, 0x25, 0x7D, 0x3C, 0x2F, 0x62, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x3E, 0x3C, 0x2F, 0x66, 0x6F,
|
||||||
0x74, 0x74, 0x6F, 0x6E, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3D, 0x27, 0x73, 0x75, 0x62, 0x6D, 0x69,
|
0x72, 0x6D, 0x3E, 0x3C, 0x2F, 0x66, 0x6F, 0x6E, 0x74, 0x3E, 0x3C, 0x2F, 0x74, 0x64, 0x3E, 0x3C,
|
||||||
0x74, 0x27, 0x3E, 0x45, 0x64, 0x69, 0x74, 0x20, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6F, 0x6E,
|
0x2F, 0x74, 0x72, 0x3E, 0x7B, 0x25, 0x5E, 0x25, 0x7D, 0x3C, 0x2F, 0x74, 0x61, 0x62, 0x6C, 0x65,
|
||||||
0x61, 0x6C, 0x20, 0x57, 0x69, 0x46, 0x69, 0x20, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x20, 0x50,
|
0x3E, 0x3C, 0x2F, 0x62, 0x6F, 0x64, 0x79, 0x3E, 0x3C, 0x2F, 0x68, 0x74, 0x6D, 0x6C, 0x3E, 0x00
|
||||||
0x6F, 0x69, 0x6E, 0x74, 0x73, 0x3C, 0x2F, 0x62, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x3E, 0x3C, 0x2F,
|
|
||||||
0x66, 0x6F, 0x72, 0x6D, 0x3E, 0x3C, 0x2F, 0x66, 0x6F, 0x6E, 0x74, 0x3E, 0x3C, 0x2F, 0x74, 0x64,
|
|
||||||
0x3E, 0x3C, 0x2F, 0x74, 0x72, 0x3E, 0x5E, 0x3C, 0x2F, 0x74, 0x61, 0x62, 0x6C, 0x65, 0x3E, 0x3C,
|
|
||||||
0x2F, 0x62, 0x6F, 0x64, 0x79, 0x3E, 0x3C, 0x2F, 0x68, 0x74, 0x6D, 0x6C, 0x3E, 0x00
|
|
||||||
};
|
};
|
||||||
|
|
||||||
static const char basicOTA[] = {
|
static const char basicOTA[] = {
|
||||||
@ -58,14 +55,14 @@ static const char basicOTA[] = {
|
|||||||
0x7A, 0x65, 0x3D, 0x32, 0x3E, 0x3C, 0x66, 0x6F, 0x72, 0x6D, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6F,
|
0x7A, 0x65, 0x3D, 0x32, 0x3E, 0x3C, 0x66, 0x6F, 0x72, 0x6D, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6F,
|
||||||
0x6E, 0x3D, 0x27, 0x2F, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x27, 0x3E, 0x3C, 0x62, 0x75, 0x74,
|
0x6E, 0x3D, 0x27, 0x2F, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x27, 0x3E, 0x3C, 0x62, 0x75, 0x74,
|
||||||
0x74, 0x6F, 0x6E, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3D, 0x27, 0x73, 0x75, 0x62, 0x6D, 0x69, 0x74,
|
0x74, 0x6F, 0x6E, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3D, 0x27, 0x73, 0x75, 0x62, 0x6D, 0x69, 0x74,
|
||||||
0x27, 0x3E, 0x55, 0x70, 0x6C, 0x6F, 0x61, 0x64, 0x20, 0x4E, 0x65, 0x77, 0x20, 0x46, 0x69, 0x72,
|
0x27, 0x3E, 0x7B, 0x25, 0x34, 0x25, 0x7D, 0x3C, 0x2F, 0x62, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x3E,
|
||||||
0x6D, 0x77, 0x61, 0x72, 0x65, 0x3C, 0x2F, 0x62, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x3E, 0x3C, 0x2F,
|
0x3C, 0x2F, 0x66, 0x6F, 0x72, 0x6D, 0x3E, 0x3C, 0x2F, 0x66, 0x6F, 0x6E, 0x74, 0x3E, 0x3C, 0x2F,
|
||||||
0x66, 0x6F, 0x72, 0x6D, 0x3E, 0x3C, 0x2F, 0x66, 0x6F, 0x6E, 0x74, 0x3E, 0x3C, 0x2F, 0x74, 0x64,
|
0x74, 0x64, 0x3E, 0x3C, 0x2F, 0x74, 0x72, 0x3E, 0x00
|
||||||
0x3E, 0x3C, 0x2F, 0x74, 0x72, 0x3E, 0x00
|
|
||||||
};
|
};
|
||||||
|
|
||||||
static const char settingsA[] = {
|
static const char settingsIndex[] = {
|
||||||
0x3C, 0x68, 0x74, 0x6D, 0x6C, 0x3E, 0x3C, 0x62, 0x6F, 0x64, 0x79, 0x20, 0x62, 0x67, 0x63, 0x6F,
|
0x3C, 0x68, 0x74, 0x6D, 0x6C, 0x20, 0x6C, 0x61, 0x6E, 0x67, 0x3D, 0x22, 0x7B, 0x25, 0x4C, 0x41,
|
||||||
|
0x4E, 0x47, 0x25, 0x7D, 0x22, 0x3E, 0x3C, 0x62, 0x6F, 0x64, 0x79, 0x20, 0x62, 0x67, 0x63, 0x6F,
|
||||||
0x6C, 0x6F, 0x72, 0x3D, 0x22, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x22, 0x20, 0x66, 0x67, 0x63,
|
0x6C, 0x6F, 0x72, 0x3D, 0x22, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x22, 0x20, 0x66, 0x67, 0x63,
|
||||||
0x6F, 0x6C, 0x6F, 0x72, 0x20, 0x3D, 0x22, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x22, 0x3E, 0x3C,
|
0x6F, 0x6C, 0x6F, 0x72, 0x20, 0x3D, 0x22, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x22, 0x3E, 0x3C,
|
||||||
0x73, 0x74, 0x79, 0x6C, 0x65, 0x3E, 0x0D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x61,
|
0x73, 0x74, 0x79, 0x6C, 0x65, 0x3E, 0x0D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x61,
|
||||||
@ -104,35 +101,32 @@ static const char settingsA[] = {
|
|||||||
0x27, 0x20, 0x61, 0x6C, 0x69, 0x67, 0x6E, 0x3D, 0x27, 0x63, 0x65, 0x6E, 0x74, 0x65, 0x72, 0x27,
|
0x27, 0x20, 0x61, 0x6C, 0x69, 0x67, 0x6E, 0x3D, 0x27, 0x63, 0x65, 0x6E, 0x74, 0x65, 0x72, 0x27,
|
||||||
0x3E, 0x3C, 0x74, 0x72, 0x3E, 0x3C, 0x74, 0x64, 0x20, 0x63, 0x6F, 0x6C, 0x73, 0x70, 0x61, 0x6E,
|
0x3E, 0x3C, 0x74, 0x72, 0x3E, 0x3C, 0x74, 0x64, 0x20, 0x63, 0x6F, 0x6C, 0x73, 0x70, 0x61, 0x6E,
|
||||||
0x3D, 0x32, 0x3E, 0x3C, 0x63, 0x65, 0x6E, 0x74, 0x65, 0x72, 0x3E, 0x3C, 0x66, 0x6F, 0x6E, 0x74,
|
0x3D, 0x32, 0x3E, 0x3C, 0x63, 0x65, 0x6E, 0x74, 0x65, 0x72, 0x3E, 0x3C, 0x66, 0x6F, 0x6E, 0x74,
|
||||||
0x20, 0x73, 0x69, 0x7A, 0x65, 0x3D, 0x34, 0x3E, 0x3C, 0x62, 0x3E, 0x3C, 0x75, 0x3E, 0x57, 0x61,
|
0x20, 0x73, 0x69, 0x7A, 0x65, 0x3D, 0x34, 0x3E, 0x3C, 0x62, 0x3E, 0x3C, 0x75, 0x3E, 0x7B, 0x25,
|
||||||
0x74, 0x63, 0x68, 0x79, 0x20, 0x42, 0x61, 0x63, 0x6B, 0x75, 0x70, 0x20, 0x26, 0x20, 0x52, 0x65,
|
0x35, 0x25, 0x7D, 0x3C, 0x2F, 0x75, 0x3E, 0x3C, 0x2F, 0x62, 0x3E, 0x3C, 0x2F, 0x66, 0x6F, 0x6E,
|
||||||
0x73, 0x74, 0x6F, 0x72, 0x65, 0x20, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6E, 0x67, 0x73, 0x3C, 0x2F,
|
0x74, 0x3E, 0x3C, 0x2F, 0x63, 0x65, 0x6E, 0x74, 0x65, 0x72, 0x3E, 0x3C, 0x62, 0x72, 0x3E, 0x3C,
|
||||||
0x75, 0x3E, 0x3C, 0x2F, 0x62, 0x3E, 0x3C, 0x2F, 0x66, 0x6F, 0x6E, 0x74, 0x3E, 0x3C, 0x2F, 0x63,
|
0x2F, 0x74, 0x64, 0x3E, 0x3C, 0x2F, 0x74, 0x72, 0x3E, 0x3C, 0x74, 0x64, 0x20, 0x61, 0x6C, 0x69,
|
||||||
0x65, 0x6E, 0x74, 0x65, 0x72, 0x3E, 0x3C, 0x62, 0x72, 0x3E, 0x3C, 0x2F, 0x74, 0x64, 0x3E, 0x3C,
|
0x67, 0x6E, 0x3D, 0x27, 0x6C, 0x65, 0x66, 0x74, 0x27, 0x20, 0x76, 0x61, 0x6C, 0x69, 0x67, 0x6E,
|
||||||
0x2F, 0x74, 0x72, 0x3E, 0x3C, 0x74, 0x64, 0x20, 0x61, 0x6C, 0x69, 0x67, 0x6E, 0x3D, 0x27, 0x6C,
|
0x3D, 0x27, 0x62, 0x6F, 0x74, 0x74, 0x6F, 0x6D, 0x27, 0x3E, 0x3C, 0x66, 0x6F, 0x6E, 0x74, 0x20,
|
||||||
0x65, 0x66, 0x74, 0x27, 0x20, 0x76, 0x61, 0x6C, 0x69, 0x67, 0x6E, 0x3D, 0x27, 0x62, 0x6F, 0x74,
|
0x73, 0x69, 0x7A, 0x65, 0x3D, 0x32, 0x3E, 0x3C, 0x74, 0x65, 0x78, 0x74, 0x61, 0x72, 0x65, 0x61,
|
||||||
0x74, 0x6F, 0x6D, 0x27, 0x3E, 0x3C, 0x66, 0x6F, 0x6E, 0x74, 0x20, 0x73, 0x69, 0x7A, 0x65, 0x3D,
|
0x20, 0x69, 0x64, 0x3D, 0x27, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6E, 0x67, 0x73, 0x27, 0x20, 0x6E,
|
||||||
0x32, 0x3E, 0x3C, 0x74, 0x65, 0x78, 0x74, 0x61, 0x72, 0x65, 0x61, 0x20, 0x69, 0x64, 0x3D, 0x27,
|
0x61, 0x6D, 0x65, 0x3D, 0x27, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6E, 0x67, 0x73, 0x27, 0x20, 0x72,
|
||||||
0x73, 0x65, 0x74, 0x74, 0x69, 0x6E, 0x67, 0x73, 0x27, 0x20, 0x6E, 0x61, 0x6D, 0x65, 0x3D, 0x27,
|
0x6F, 0x77, 0x73, 0x3D, 0x27, 0x35, 0x32, 0x27, 0x20, 0x63, 0x6F, 0x6C, 0x73, 0x3D, 0x27, 0x34,
|
||||||
0x73, 0x65, 0x74, 0x74, 0x69, 0x6E, 0x67, 0x73, 0x27, 0x20, 0x72, 0x6F, 0x77, 0x73, 0x3D, 0x27,
|
0x30, 0x27, 0x3E, 0x7B, 0x3F, 0x3F, 0x7D, 0x3C, 0x2F, 0x74, 0x65, 0x78, 0x74, 0x61, 0x72, 0x65,
|
||||||
0x35, 0x32, 0x27, 0x20, 0x63, 0x6F, 0x6C, 0x73, 0x3D, 0x27, 0x34, 0x30, 0x27, 0x3E, 0x00
|
0x61, 0x3E, 0x3C, 0x2F, 0x66, 0x6F, 0x6E, 0x74, 0x3E, 0x3C, 0x2F, 0x74, 0x64, 0x3E, 0x3C, 0x74,
|
||||||
};
|
0x64, 0x20, 0x61, 0x6C, 0x69, 0x67, 0x6E, 0x3D, 0x27, 0x72, 0x69, 0x67, 0x68, 0x74, 0x27, 0x20,
|
||||||
|
0x76, 0x61, 0x6C, 0x69, 0x67, 0x6E, 0x3D, 0x27, 0x62, 0x6F, 0x74, 0x74, 0x6F, 0x6D, 0x27, 0x3E,
|
||||||
static const char settingsB[] = {
|
0x3C, 0x66, 0x6F, 0x6E, 0x74, 0x20, 0x73, 0x69, 0x7A, 0x65, 0x3D, 0x32, 0x3E, 0x3C, 0x69, 0x6E,
|
||||||
0x3C, 0x2F, 0x74, 0x65, 0x78, 0x74, 0x61, 0x72, 0x65, 0x61, 0x3E, 0x3C, 0x2F, 0x66, 0x6F, 0x6E,
|
0x70, 0x75, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3D, 0x27, 0x73, 0x75, 0x62, 0x6D, 0x69, 0x74,
|
||||||
0x74, 0x3E, 0x3C, 0x2F, 0x74, 0x64, 0x3E, 0x3C, 0x74, 0x64, 0x20, 0x61, 0x6C, 0x69, 0x67, 0x6E,
|
0x27, 0x20, 0x76, 0x61, 0x6C, 0x75, 0x65, 0x3D, 0x27, 0x7B, 0x25, 0x36, 0x25, 0x7D, 0x27, 0x3E,
|
||||||
0x3D, 0x27, 0x72, 0x69, 0x67, 0x68, 0x74, 0x27, 0x20, 0x76, 0x61, 0x6C, 0x69, 0x67, 0x6E, 0x3D,
|
0x3C, 0x62, 0x72, 0x3E, 0x3C, 0x2F, 0x66, 0x6F, 0x6E, 0x74, 0x3E, 0x3C, 0x2F, 0x74, 0x64, 0x3E,
|
||||||
0x27, 0x62, 0x6F, 0x74, 0x74, 0x6F, 0x6D, 0x27, 0x3E, 0x3C, 0x66, 0x6F, 0x6E, 0x74, 0x20, 0x73,
|
0x3C, 0x2F, 0x74, 0x72, 0x3E, 0x3C, 0x2F, 0x74, 0x61, 0x62, 0x6C, 0x65, 0x3E, 0x3C, 0x2F, 0x66,
|
||||||
0x69, 0x7A, 0x65, 0x3D, 0x32, 0x3E, 0x3C, 0x69, 0x6E, 0x70, 0x75, 0x74, 0x20, 0x74, 0x79, 0x70,
|
0x6F, 0x72, 0x6D, 0x3E, 0x3C, 0x2F, 0x62, 0x6F, 0x64, 0x79, 0x3E, 0x3C, 0x2F, 0x68, 0x74, 0x6D,
|
||||||
0x65, 0x3D, 0x27, 0x73, 0x75, 0x62, 0x6D, 0x69, 0x74, 0x27, 0x20, 0x76, 0x61, 0x6C, 0x75, 0x65,
|
0x6C, 0x3E, 0x00
|
||||||
0x3D, 0x27, 0x53, 0x74, 0x6F, 0x72, 0x65, 0x27, 0x3E, 0x3C, 0x62, 0x72, 0x3E, 0x3C, 0x2F, 0x66,
|
|
||||||
0x6F, 0x6E, 0x74, 0x3E, 0x3C, 0x2F, 0x74, 0x64, 0x3E, 0x3C, 0x2F, 0x74, 0x72, 0x3E, 0x3C, 0x2F,
|
|
||||||
0x74, 0x61, 0x62, 0x6C, 0x65, 0x3E, 0x3C, 0x2F, 0x66, 0x6F, 0x72, 0x6D, 0x3E, 0x3C, 0x2F, 0x62,
|
|
||||||
0x6F, 0x64, 0x79, 0x3E, 0x3C, 0x2F, 0x68, 0x74, 0x6D, 0x6C, 0x3E, 0x00
|
|
||||||
};
|
};
|
||||||
|
|
||||||
static const char settingsDone[] = {
|
static const char settingsDone[] = {
|
||||||
0x3C, 0x68, 0x74, 0x6D, 0x6C, 0x3E, 0x3C, 0x62, 0x6F, 0x64, 0x79, 0x20, 0x62, 0x67, 0x63, 0x6F,
|
0x3C, 0x68, 0x74, 0x6D, 0x6C, 0x20, 0x6C, 0x61, 0x6E, 0x67, 0x3D, 0x22, 0x7B, 0x25, 0x4C, 0x41,
|
||||||
|
0x4E, 0x47, 0x25, 0x7D, 0x22, 0x3E, 0x3C, 0x62, 0x6F, 0x64, 0x79, 0x20, 0x62, 0x67, 0x63, 0x6F,
|
||||||
0x6C, 0x6F, 0x72, 0x3D, 0x22, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x22, 0x20, 0x66, 0x67, 0x63,
|
0x6C, 0x6F, 0x72, 0x3D, 0x22, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x22, 0x20, 0x66, 0x67, 0x63,
|
||||||
0x6F, 0x6C, 0x6F, 0x72, 0x20, 0x3D, 0x22, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x22, 0x3E, 0x3C,
|
0x6F, 0x6C, 0x6F, 0x72, 0x20, 0x3D, 0x22, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x22, 0x3E, 0x3C,
|
||||||
0x73, 0x74, 0x79, 0x6C, 0x65, 0x3E, 0x0D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x61,
|
0x73, 0x74, 0x79, 0x6C, 0x65, 0x3E, 0x0D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x61,
|
||||||
@ -169,22 +163,19 @@ static const char settingsDone[] = {
|
|||||||
0x25, 0x27, 0x20, 0x61, 0x6C, 0x69, 0x67, 0x6E, 0x3D, 0x27, 0x63, 0x65, 0x6E, 0x74, 0x65, 0x72,
|
0x25, 0x27, 0x20, 0x61, 0x6C, 0x69, 0x67, 0x6E, 0x3D, 0x27, 0x63, 0x65, 0x6E, 0x74, 0x65, 0x72,
|
||||||
0x27, 0x3E, 0x3C, 0x74, 0x72, 0x3E, 0x3C, 0x74, 0x64, 0x3E, 0x3C, 0x63, 0x65, 0x6E, 0x74, 0x65,
|
0x27, 0x3E, 0x3C, 0x74, 0x72, 0x3E, 0x3C, 0x74, 0x64, 0x3E, 0x3C, 0x63, 0x65, 0x6E, 0x74, 0x65,
|
||||||
0x72, 0x3E, 0x3C, 0x66, 0x6F, 0x6E, 0x74, 0x20, 0x73, 0x69, 0x7A, 0x65, 0x3D, 0x34, 0x3E, 0x3C,
|
0x72, 0x3E, 0x3C, 0x66, 0x6F, 0x6E, 0x74, 0x20, 0x73, 0x69, 0x7A, 0x65, 0x3D, 0x34, 0x3E, 0x3C,
|
||||||
0x62, 0x3E, 0x3C, 0x75, 0x3E, 0x57, 0x61, 0x74, 0x63, 0x68, 0x79, 0x20, 0x42, 0x61, 0x63, 0x6B,
|
0x62, 0x3E, 0x3C, 0x75, 0x3E, 0x7B, 0x25, 0x35, 0x25, 0x7D, 0x3C, 0x2F, 0x75, 0x3E, 0x3C, 0x2F,
|
||||||
0x75, 0x70, 0x20, 0x26, 0x20, 0x52, 0x65, 0x73, 0x74, 0x6F, 0x72, 0x65, 0x20, 0x53, 0x65, 0x74,
|
0x62, 0x3E, 0x3C, 0x2F, 0x66, 0x6F, 0x6E, 0x74, 0x3E, 0x3C, 0x2F, 0x63, 0x65, 0x6E, 0x74, 0x65,
|
||||||
0x74, 0x69, 0x6E, 0x67, 0x73, 0x3C, 0x2F, 0x75, 0x3E, 0x3C, 0x2F, 0x62, 0x3E, 0x3C, 0x2F, 0x66,
|
0x72, 0x3E, 0x3C, 0x62, 0x72, 0x3E, 0x3C, 0x2F, 0x74, 0x64, 0x3E, 0x3C, 0x2F, 0x74, 0x72, 0x3E,
|
||||||
0x6F, 0x6E, 0x74, 0x3E, 0x3C, 0x2F, 0x63, 0x65, 0x6E, 0x74, 0x65, 0x72, 0x3E, 0x3C, 0x62, 0x72,
|
0x3C, 0x74, 0x64, 0x3E, 0x3C, 0x66, 0x6F, 0x6E, 0x74, 0x20, 0x73, 0x69, 0x7A, 0x65, 0x3D, 0x33,
|
||||||
0x3E, 0x3C, 0x2F, 0x74, 0x64, 0x3E, 0x3C, 0x2F, 0x74, 0x72, 0x3E, 0x3C, 0x74, 0x64, 0x3E, 0x3C,
|
0x3E, 0x7B, 0x25, 0x37, 0x25, 0x7D, 0x2E, 0x3C, 0x62, 0x72, 0x3E, 0x3C, 0x2F, 0x66, 0x6F, 0x6E,
|
||||||
0x66, 0x6F, 0x6E, 0x74, 0x20, 0x73, 0x69, 0x7A, 0x65, 0x3D, 0x33, 0x3E, 0x57, 0x61, 0x74, 0x63,
|
|
||||||
0x68, 0x79, 0x20, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6E, 0x67, 0x73, 0x20, 0x72, 0x65, 0x73, 0x74,
|
|
||||||
0x6F, 0x72, 0x65, 0x64, 0x21, 0x20, 0x20, 0x4F, 0x54, 0x41, 0x20, 0x57, 0x65, 0x62, 0x73, 0x69,
|
|
||||||
0x74, 0x65, 0x20, 0x4F, 0x66, 0x66, 0x2E, 0x3C, 0x62, 0x72, 0x3E, 0x3C, 0x2F, 0x66, 0x6F, 0x6E,
|
|
||||||
0x74, 0x3E, 0x3C, 0x2F, 0x74, 0x64, 0x3E, 0x3C, 0x2F, 0x74, 0x72, 0x3E, 0x3C, 0x2F, 0x74, 0x61,
|
0x74, 0x3E, 0x3C, 0x2F, 0x74, 0x64, 0x3E, 0x3C, 0x2F, 0x74, 0x72, 0x3E, 0x3C, 0x2F, 0x74, 0x61,
|
||||||
0x62, 0x6C, 0x65, 0x3E, 0x3C, 0x2F, 0x62, 0x6F, 0x64, 0x79, 0x3E, 0x3C, 0x2F, 0x68, 0x74, 0x6D,
|
0x62, 0x6C, 0x65, 0x3E, 0x3C, 0x2F, 0x62, 0x6F, 0x64, 0x79, 0x3E, 0x3C, 0x2F, 0x68, 0x74, 0x6D,
|
||||||
0x6C, 0x3E, 0x00
|
0x6C, 0x3E, 0x00
|
||||||
};
|
};
|
||||||
|
|
||||||
static const char updateIndex[] = {
|
static const char updateIndex[] = {
|
||||||
0x3C, 0x68, 0x74, 0x6D, 0x6C, 0x3E, 0x3C, 0x62, 0x6F, 0x64, 0x79, 0x20, 0x62, 0x67, 0x63, 0x6F,
|
0x3C, 0x68, 0x74, 0x6D, 0x6C, 0x20, 0x6C, 0x61, 0x6E, 0x67, 0x3D, 0x22, 0x7B, 0x25, 0x4C, 0x41,
|
||||||
|
0x4E, 0x47, 0x25, 0x7D, 0x22, 0x3E, 0x3C, 0x62, 0x6F, 0x64, 0x79, 0x20, 0x62, 0x67, 0x63, 0x6F,
|
||||||
0x6C, 0x6F, 0x72, 0x3D, 0x22, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x22, 0x20, 0x66, 0x67, 0x63,
|
0x6C, 0x6F, 0x72, 0x3D, 0x22, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x22, 0x20, 0x66, 0x67, 0x63,
|
||||||
0x6F, 0x6C, 0x6F, 0x72, 0x20, 0x3D, 0x22, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x22, 0x3E, 0x3C,
|
0x6F, 0x6C, 0x6F, 0x72, 0x20, 0x3D, 0x22, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x22, 0x3E, 0x3C,
|
||||||
0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x20, 0x73, 0x72, 0x63, 0x3D, 0x27, 0x68, 0x74, 0x74, 0x70,
|
0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x20, 0x73, 0x72, 0x63, 0x3D, 0x27, 0x68, 0x74, 0x74, 0x70,
|
||||||
@ -224,78 +215,75 @@ static const char updateIndex[] = {
|
|||||||
0x20, 0x61, 0x6C, 0x69, 0x67, 0x6E, 0x3D, 0x27, 0x63, 0x65, 0x6E, 0x74, 0x65, 0x72, 0x27, 0x3E,
|
0x20, 0x61, 0x6C, 0x69, 0x67, 0x6E, 0x3D, 0x27, 0x63, 0x65, 0x6E, 0x74, 0x65, 0x72, 0x27, 0x3E,
|
||||||
0x3C, 0x74, 0x72, 0x3E, 0x3C, 0x74, 0x64, 0x20, 0x63, 0x6F, 0x6C, 0x73, 0x70, 0x61, 0x6E, 0x3D,
|
0x3C, 0x74, 0x72, 0x3E, 0x3C, 0x74, 0x64, 0x20, 0x63, 0x6F, 0x6C, 0x73, 0x70, 0x61, 0x6E, 0x3D,
|
||||||
0x32, 0x3E, 0x0D, 0x0A, 0x3C, 0x63, 0x65, 0x6E, 0x74, 0x65, 0x72, 0x3E, 0x3C, 0x66, 0x6F, 0x6E,
|
0x32, 0x3E, 0x0D, 0x0A, 0x3C, 0x63, 0x65, 0x6E, 0x74, 0x65, 0x72, 0x3E, 0x3C, 0x66, 0x6F, 0x6E,
|
||||||
0x74, 0x20, 0x73, 0x69, 0x7A, 0x65, 0x3D, 0x34, 0x3E, 0x3C, 0x62, 0x3E, 0x3C, 0x75, 0x3E, 0x57,
|
0x74, 0x20, 0x73, 0x69, 0x7A, 0x65, 0x3D, 0x34, 0x3E, 0x3C, 0x62, 0x3E, 0x3C, 0x75, 0x3E, 0x7B,
|
||||||
0x61, 0x74, 0x63, 0x68, 0x79, 0x20, 0x55, 0x70, 0x6C, 0x6F, 0x61, 0x64, 0x20, 0x4E, 0x65, 0x77,
|
0x25, 0x38, 0x25, 0x7D, 0x3C, 0x2F, 0x75, 0x3E, 0x3C, 0x2F, 0x62, 0x3E, 0x3C, 0x2F, 0x66, 0x6F,
|
||||||
0x20, 0x46, 0x69, 0x72, 0x6D, 0x77, 0x61, 0x72, 0x65, 0x3C, 0x2F, 0x75, 0x3E, 0x3C, 0x2F, 0x62,
|
0x6E, 0x74, 0x3E, 0x3C, 0x2F, 0x63, 0x65, 0x6E, 0x74, 0x65, 0x72, 0x3E, 0x3C, 0x62, 0x72, 0x3E,
|
||||||
0x3E, 0x3C, 0x2F, 0x66, 0x6F, 0x6E, 0x74, 0x3E, 0x3C, 0x2F, 0x63, 0x65, 0x6E, 0x74, 0x65, 0x72,
|
0x3C, 0x2F, 0x74, 0x64, 0x3E, 0x3C, 0x2F, 0x74, 0x72, 0x3E, 0x0D, 0x0A, 0x3C, 0x74, 0x64, 0x20,
|
||||||
0x3E, 0x3C, 0x62, 0x72, 0x3E, 0x3C, 0x2F, 0x74, 0x64, 0x3E, 0x3C, 0x2F, 0x74, 0x72, 0x3E, 0x0D,
|
0x61, 0x6C, 0x69, 0x67, 0x6E, 0x3D, 0x27, 0x6C, 0x65, 0x66, 0x74, 0x27, 0x3E, 0x3C, 0x66, 0x6F,
|
||||||
0x0A, 0x3C, 0x74, 0x64, 0x20, 0x61, 0x6C, 0x69, 0x67, 0x6E, 0x3D, 0x27, 0x6C, 0x65, 0x66, 0x74,
|
0x6E, 0x74, 0x20, 0x73, 0x69, 0x7A, 0x65, 0x20, 0x3D, 0x20, 0x32, 0x3E, 0x3C, 0x69, 0x6E, 0x70,
|
||||||
0x27, 0x3E, 0x3C, 0x66, 0x6F, 0x6E, 0x74, 0x20, 0x73, 0x69, 0x7A, 0x65, 0x20, 0x3D, 0x20, 0x32,
|
0x75, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3D, 0x27, 0x66, 0x69, 0x6C, 0x65, 0x27, 0x20, 0x6E,
|
||||||
0x3E, 0x3C, 0x69, 0x6E, 0x70, 0x75, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3D, 0x27, 0x66, 0x69,
|
0x61, 0x6D, 0x65, 0x3D, 0x27, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x27, 0x20, 0x61, 0x63, 0x63,
|
||||||
0x6C, 0x65, 0x27, 0x20, 0x6E, 0x61, 0x6D, 0x65, 0x3D, 0x27, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
|
0x65, 0x70, 0x74, 0x3D, 0x27, 0x2E, 0x62, 0x69, 0x6E, 0x27, 0x3E, 0x3C, 0x2F, 0x66, 0x6F, 0x6E,
|
||||||
0x27, 0x20, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x3D, 0x27, 0x2E, 0x62, 0x69, 0x6E, 0x27, 0x3E,
|
0x74, 0x3E, 0x3C, 0x2F, 0x74, 0x64, 0x3E, 0x3C, 0x74, 0x64, 0x20, 0x61, 0x6C, 0x69, 0x67, 0x6E,
|
||||||
0x3C, 0x2F, 0x66, 0x6F, 0x6E, 0x74, 0x3E, 0x3C, 0x2F, 0x74, 0x64, 0x3E, 0x3C, 0x74, 0x64, 0x20,
|
0x3D, 0x22, 0x72, 0x69, 0x67, 0x68, 0x74, 0x22, 0x3E, 0x3C, 0x66, 0x6F, 0x6E, 0x74, 0x20, 0x73,
|
||||||
0x61, 0x6C, 0x69, 0x67, 0x6E, 0x3D, 0x22, 0x72, 0x69, 0x67, 0x68, 0x74, 0x22, 0x3E, 0x3C, 0x66,
|
0x69, 0x7A, 0x65, 0x20, 0x3D, 0x32, 0x3E, 0x3C, 0x69, 0x6E, 0x70, 0x75, 0x74, 0x20, 0x74, 0x79,
|
||||||
0x6F, 0x6E, 0x74, 0x20, 0x73, 0x69, 0x7A, 0x65, 0x20, 0x3D, 0x32, 0x3E, 0x3C, 0x69, 0x6E, 0x70,
|
0x70, 0x65, 0x3D, 0x27, 0x73, 0x75, 0x62, 0x6D, 0x69, 0x74, 0x27, 0x20, 0x76, 0x61, 0x6C, 0x75,
|
||||||
0x75, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3D, 0x27, 0x73, 0x75, 0x62, 0x6D, 0x69, 0x74, 0x27,
|
0x65, 0x3D, 0x27, 0x7B, 0x25, 0x39, 0x25, 0x7D, 0x27, 0x3E, 0x3C, 0x62, 0x72, 0x3E, 0x3C, 0x2F,
|
||||||
0x20, 0x76, 0x61, 0x6C, 0x75, 0x65, 0x3D, 0x27, 0x55, 0x70, 0x6C, 0x6F, 0x61, 0x64, 0x27, 0x3E,
|
0x66, 0x6F, 0x6E, 0x74, 0x3E, 0x3C, 0x2F, 0x74, 0x64, 0x3E, 0x3C, 0x2F, 0x74, 0x72, 0x3E, 0x0D,
|
||||||
0x3C, 0x62, 0x72, 0x3E, 0x3C, 0x2F, 0x66, 0x6F, 0x6E, 0x74, 0x3E, 0x3C, 0x2F, 0x74, 0x64, 0x3E,
|
0x0A, 0x3C, 0x74, 0x72, 0x3E, 0x3C, 0x74, 0x64, 0x20, 0x63, 0x6F, 0x6C, 0x73, 0x70, 0x61, 0x6E,
|
||||||
0x3C, 0x2F, 0x74, 0x72, 0x3E, 0x0D, 0x0A, 0x3C, 0x74, 0x72, 0x3E, 0x3C, 0x74, 0x64, 0x20, 0x63,
|
0x3D, 0x32, 0x3E, 0x3C, 0x62, 0x72, 0x3E, 0x3C, 0x63, 0x65, 0x6E, 0x74, 0x65, 0x72, 0x3E, 0x3C,
|
||||||
0x6F, 0x6C, 0x73, 0x70, 0x61, 0x6E, 0x3D, 0x32, 0x3E, 0x3C, 0x62, 0x72, 0x3E, 0x3C, 0x63, 0x65,
|
0x64, 0x69, 0x76, 0x20, 0x69, 0x64, 0x3D, 0x27, 0x70, 0x72, 0x67, 0x27, 0x3E, 0x7B, 0x25, 0x31,
|
||||||
0x6E, 0x74, 0x65, 0x72, 0x3E, 0x3C, 0x64, 0x69, 0x76, 0x20, 0x69, 0x64, 0x3D, 0x27, 0x70, 0x72,
|
0x30, 0x25, 0x7D, 0x2E, 0x2E, 0x2E, 0x3C, 0x2F, 0x64, 0x69, 0x76, 0x3E, 0x3C, 0x2F, 0x63, 0x65,
|
||||||
0x67, 0x27, 0x3E, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6E, 0x67, 0x2E, 0x2E, 0x2E, 0x3C, 0x2F, 0x64,
|
0x6E, 0x74, 0x65, 0x72, 0x3E, 0x3C, 0x2F, 0x74, 0x64, 0x3E, 0x3C, 0x2F, 0x74, 0x72, 0x3E, 0x3C,
|
||||||
0x69, 0x76, 0x3E, 0x3C, 0x2F, 0x63, 0x65, 0x6E, 0x74, 0x65, 0x72, 0x3E, 0x3C, 0x2F, 0x74, 0x64,
|
0x2F, 0x74, 0x61, 0x62, 0x6C, 0x65, 0x3E, 0x3C, 0x2F, 0x66, 0x6F, 0x72, 0x6D, 0x3E, 0x3C, 0x2F,
|
||||||
0x3E, 0x3C, 0x2F, 0x74, 0x72, 0x3E, 0x3C, 0x2F, 0x74, 0x61, 0x62, 0x6C, 0x65, 0x3E, 0x3C, 0x2F,
|
0x62, 0x6F, 0x64, 0x79, 0x3E, 0x0D, 0x0A, 0x3C, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3E, 0x0D,
|
||||||
0x66, 0x6F, 0x72, 0x6D, 0x3E, 0x3C, 0x2F, 0x62, 0x6F, 0x64, 0x79, 0x3E, 0x0D, 0x0A, 0x3C, 0x73,
|
0x0A, 0x24, 0x28, 0x27, 0x66, 0x6F, 0x72, 0x6D, 0x27, 0x29, 0x2E, 0x73, 0x75, 0x62, 0x6D, 0x69,
|
||||||
0x63, 0x72, 0x69, 0x70, 0x74, 0x3E, 0x0D, 0x0A, 0x24, 0x28, 0x27, 0x66, 0x6F, 0x72, 0x6D, 0x27,
|
0x74, 0x28, 0x66, 0x75, 0x6E, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x28, 0x65, 0x29, 0x7B, 0x0D, 0x0A,
|
||||||
0x29, 0x2E, 0x73, 0x75, 0x62, 0x6D, 0x69, 0x74, 0x28, 0x66, 0x75, 0x6E, 0x63, 0x74, 0x69, 0x6F,
|
0x65, 0x2E, 0x70, 0x72, 0x65, 0x76, 0x65, 0x6E, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6C, 0x74,
|
||||||
0x6E, 0x28, 0x65, 0x29, 0x7B, 0x0D, 0x0A, 0x65, 0x2E, 0x70, 0x72, 0x65, 0x76, 0x65, 0x6E, 0x74,
|
0x28, 0x29, 0x3B, 0x0D, 0x0A, 0x69, 0x66, 0x28, 0x21, 0x24, 0x28, 0x27, 0x66, 0x6F, 0x72, 0x6D,
|
||||||
0x44, 0x65, 0x66, 0x61, 0x75, 0x6C, 0x74, 0x28, 0x29, 0x3B, 0x0D, 0x0A, 0x69, 0x66, 0x28, 0x21,
|
0x20, 0x69, 0x6E, 0x70, 0x75, 0x74, 0x5B, 0x74, 0x79, 0x70, 0x65, 0x3D, 0x66, 0x69, 0x6C, 0x65,
|
||||||
0x24, 0x28, 0x27, 0x66, 0x6F, 0x72, 0x6D, 0x20, 0x69, 0x6E, 0x70, 0x75, 0x74, 0x5B, 0x74, 0x79,
|
0x5D, 0x27, 0x29, 0x2E, 0x76, 0x61, 0x6C, 0x28, 0x29, 0x29, 0x20, 0x7B, 0x20, 0x61, 0x6C, 0x65,
|
||||||
0x70, 0x65, 0x3D, 0x66, 0x69, 0x6C, 0x65, 0x5D, 0x27, 0x29, 0x2E, 0x76, 0x61, 0x6C, 0x28, 0x29,
|
0x72, 0x74, 0x28, 0x27, 0x7B, 0x25, 0x31, 0x31, 0x25, 0x7D, 0x27, 0x29, 0x3B, 0x20, 0x72, 0x65,
|
||||||
0x29, 0x20, 0x7B, 0x20, 0x61, 0x6C, 0x65, 0x72, 0x74, 0x28, 0x27, 0x59, 0x6F, 0x75, 0x20, 0x6D,
|
0x74, 0x75, 0x72, 0x6E, 0x20, 0x66, 0x61, 0x6C, 0x73, 0x65, 0x3B, 0x20, 0x7D, 0x0D, 0x0A, 0x76,
|
||||||
0x75, 0x73, 0x74, 0x20, 0x73, 0x65, 0x6C, 0x65, 0x63, 0x74, 0x20, 0x61, 0x20, 0x66, 0x69, 0x72,
|
0x61, 0x72, 0x20, 0x66, 0x6F, 0x72, 0x6D, 0x20, 0x3D, 0x20, 0x24, 0x28, 0x27, 0x23, 0x75, 0x70,
|
||||||
0x6D, 0x77, 0x61, 0x72, 0x65, 0x20, 0x5B, 0x62, 0x69, 0x6E, 0x5D, 0x20, 0x74, 0x6F, 0x20, 0x75,
|
0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x66, 0x6F, 0x72, 0x6D, 0x27, 0x29, 0x5B, 0x30, 0x5D, 0x3B, 0x0D,
|
||||||
0x70, 0x6C, 0x6F, 0x61, 0x64, 0x21, 0x27, 0x29, 0x3B, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6E,
|
0x0A, 0x76, 0x61, 0x72, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x3D, 0x20, 0x6E, 0x65, 0x77, 0x20,
|
||||||
0x20, 0x66, 0x61, 0x6C, 0x73, 0x65, 0x3B, 0x20, 0x7D, 0x0D, 0x0A, 0x76, 0x61, 0x72, 0x20, 0x66,
|
0x46, 0x6F, 0x72, 0x6D, 0x44, 0x61, 0x74, 0x61, 0x28, 0x66, 0x6F, 0x72, 0x6D, 0x29, 0x3B, 0x0D,
|
||||||
0x6F, 0x72, 0x6D, 0x20, 0x3D, 0x20, 0x24, 0x28, 0x27, 0x23, 0x75, 0x70, 0x6C, 0x6F, 0x61, 0x64,
|
0x0A, 0x24, 0x2E, 0x61, 0x6A, 0x61, 0x78, 0x28, 0x7B, 0x0D, 0x0A, 0x75, 0x72, 0x6C, 0x3A, 0x20,
|
||||||
0x5F, 0x66, 0x6F, 0x72, 0x6D, 0x27, 0x29, 0x5B, 0x30, 0x5D, 0x3B, 0x0D, 0x0A, 0x76, 0x61, 0x72,
|
0x27, 0x2F, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x27, 0x2C, 0x0D, 0x0A, 0x74, 0x79, 0x70, 0x65,
|
||||||
0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x3D, 0x20, 0x6E, 0x65, 0x77, 0x20, 0x46, 0x6F, 0x72, 0x6D,
|
0x3A, 0x20, 0x27, 0x50, 0x4F, 0x53, 0x54, 0x27, 0x2C, 0x0D, 0x0A, 0x64, 0x61, 0x74, 0x61, 0x3A,
|
||||||
0x44, 0x61, 0x74, 0x61, 0x28, 0x66, 0x6F, 0x72, 0x6D, 0x29, 0x3B, 0x0D, 0x0A, 0x24, 0x2E, 0x61,
|
0x20, 0x64, 0x61, 0x74, 0x61, 0x2C, 0x0D, 0x0A, 0x63, 0x6F, 0x6E, 0x74, 0x65, 0x6E, 0x74, 0x54,
|
||||||
0x6A, 0x61, 0x78, 0x28, 0x7B, 0x0D, 0x0A, 0x75, 0x72, 0x6C, 0x3A, 0x20, 0x27, 0x2F, 0x75, 0x70,
|
0x79, 0x70, 0x65, 0x3A, 0x20, 0x66, 0x61, 0x6C, 0x73, 0x65, 0x2C, 0x0D, 0x0A, 0x70, 0x72, 0x6F,
|
||||||
0x64, 0x61, 0x74, 0x65, 0x27, 0x2C, 0x0D, 0x0A, 0x74, 0x79, 0x70, 0x65, 0x3A, 0x20, 0x27, 0x50,
|
0x63, 0x65, 0x73, 0x73, 0x44, 0x61, 0x74, 0x61, 0x3A, 0x66, 0x61, 0x6C, 0x73, 0x65, 0x2C, 0x0D,
|
||||||
0x4F, 0x53, 0x54, 0x27, 0x2C, 0x0D, 0x0A, 0x64, 0x61, 0x74, 0x61, 0x3A, 0x20, 0x64, 0x61, 0x74,
|
0x0A, 0x78, 0x68, 0x72, 0x3A, 0x20, 0x66, 0x75, 0x6E, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x28, 0x29,
|
||||||
0x61, 0x2C, 0x0D, 0x0A, 0x63, 0x6F, 0x6E, 0x74, 0x65, 0x6E, 0x74, 0x54, 0x79, 0x70, 0x65, 0x3A,
|
0x20, 0x7B, 0x0D, 0x0A, 0x76, 0x61, 0x72, 0x20, 0x78, 0x68, 0x72, 0x20, 0x3D, 0x20, 0x6E, 0x65,
|
||||||
0x20, 0x66, 0x61, 0x6C, 0x73, 0x65, 0x2C, 0x0D, 0x0A, 0x70, 0x72, 0x6F, 0x63, 0x65, 0x73, 0x73,
|
0x77, 0x20, 0x77, 0x69, 0x6E, 0x64, 0x6F, 0x77, 0x2E, 0x58, 0x4D, 0x4C, 0x48, 0x74, 0x74, 0x70,
|
||||||
0x44, 0x61, 0x74, 0x61, 0x3A, 0x66, 0x61, 0x6C, 0x73, 0x65, 0x2C, 0x0D, 0x0A, 0x78, 0x68, 0x72,
|
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x28, 0x29, 0x3B, 0x0D, 0x0A, 0x78, 0x68, 0x72, 0x2E,
|
||||||
0x3A, 0x20, 0x66, 0x75, 0x6E, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x28, 0x29, 0x20, 0x7B, 0x0D, 0x0A,
|
0x75, 0x70, 0x6C, 0x6F, 0x61, 0x64, 0x2E, 0x61, 0x64, 0x64, 0x45, 0x76, 0x65, 0x6E, 0x74, 0x4C,
|
||||||
0x76, 0x61, 0x72, 0x20, 0x78, 0x68, 0x72, 0x20, 0x3D, 0x20, 0x6E, 0x65, 0x77, 0x20, 0x77, 0x69,
|
0x69, 0x73, 0x74, 0x65, 0x6E, 0x65, 0x72, 0x28, 0x27, 0x70, 0x72, 0x6F, 0x67, 0x72, 0x65, 0x73,
|
||||||
0x6E, 0x64, 0x6F, 0x77, 0x2E, 0x58, 0x4D, 0x4C, 0x48, 0x74, 0x74, 0x70, 0x52, 0x65, 0x71, 0x75,
|
0x73, 0x27, 0x2C, 0x20, 0x66, 0x75, 0x6E, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x28, 0x65, 0x76, 0x74,
|
||||||
0x65, 0x73, 0x74, 0x28, 0x29, 0x3B, 0x0D, 0x0A, 0x78, 0x68, 0x72, 0x2E, 0x75, 0x70, 0x6C, 0x6F,
|
0x29, 0x20, 0x7B, 0x0D, 0x0A, 0x69, 0x66, 0x20, 0x28, 0x65, 0x76, 0x74, 0x2E, 0x6C, 0x65, 0x6E,
|
||||||
0x61, 0x64, 0x2E, 0x61, 0x64, 0x64, 0x45, 0x76, 0x65, 0x6E, 0x74, 0x4C, 0x69, 0x73, 0x74, 0x65,
|
0x67, 0x74, 0x68, 0x43, 0x6F, 0x6D, 0x70, 0x75, 0x74, 0x61, 0x62, 0x6C, 0x65, 0x29, 0x20, 0x7B,
|
||||||
0x6E, 0x65, 0x72, 0x28, 0x27, 0x70, 0x72, 0x6F, 0x67, 0x72, 0x65, 0x73, 0x73, 0x27, 0x2C, 0x20,
|
0x0D, 0x0A, 0x76, 0x61, 0x72, 0x20, 0x70, 0x65, 0x72, 0x20, 0x3D, 0x20, 0x65, 0x76, 0x74, 0x2E,
|
||||||
0x66, 0x75, 0x6E, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x28, 0x65, 0x76, 0x74, 0x29, 0x20, 0x7B, 0x0D,
|
0x6C, 0x6F, 0x61, 0x64, 0x65, 0x64, 0x20, 0x2F, 0x20, 0x65, 0x76, 0x74, 0x2E, 0x74, 0x6F, 0x74,
|
||||||
0x0A, 0x69, 0x66, 0x20, 0x28, 0x65, 0x76, 0x74, 0x2E, 0x6C, 0x65, 0x6E, 0x67, 0x74, 0x68, 0x43,
|
0x61, 0x6C, 0x3B, 0x0D, 0x0A, 0x24, 0x28, 0x27, 0x23, 0x70, 0x72, 0x67, 0x27, 0x29, 0x2E, 0x68,
|
||||||
0x6F, 0x6D, 0x70, 0x75, 0x74, 0x61, 0x62, 0x6C, 0x65, 0x29, 0x20, 0x7B, 0x0D, 0x0A, 0x76, 0x61,
|
0x74, 0x6D, 0x6C, 0x28, 0x27, 0x7B, 0x25, 0x31, 0x32, 0x25, 0x7D, 0x3A, 0x20, 0x27, 0x20, 0x2B,
|
||||||
0x72, 0x20, 0x70, 0x65, 0x72, 0x20, 0x3D, 0x20, 0x65, 0x76, 0x74, 0x2E, 0x6C, 0x6F, 0x61, 0x64,
|
0x20, 0x4D, 0x61, 0x74, 0x68, 0x2E, 0x72, 0x6F, 0x75, 0x6E, 0x64, 0x28, 0x70, 0x65, 0x72, 0x2A,
|
||||||
0x65, 0x64, 0x20, 0x2F, 0x20, 0x65, 0x76, 0x74, 0x2E, 0x74, 0x6F, 0x74, 0x61, 0x6C, 0x3B, 0x0D,
|
0x31, 0x30, 0x30, 0x29, 0x20, 0x2B, 0x20, 0x27, 0x25, 0x27, 0x29, 0x3B, 0x0D, 0x0A, 0x7D, 0x0D,
|
||||||
0x0A, 0x24, 0x28, 0x27, 0x23, 0x70, 0x72, 0x67, 0x27, 0x29, 0x2E, 0x68, 0x74, 0x6D, 0x6C, 0x28,
|
0x0A, 0x7D, 0x2C, 0x20, 0x66, 0x61, 0x6C, 0x73, 0x65, 0x29, 0x3B, 0x0D, 0x0A, 0x72, 0x65, 0x74,
|
||||||
0x27, 0x50, 0x72, 0x6F, 0x67, 0x72, 0x65, 0x73, 0x73, 0x3A, 0x20, 0x27, 0x20, 0x2B, 0x20, 0x4D,
|
0x75, 0x72, 0x6E, 0x20, 0x78, 0x68, 0x72, 0x3B, 0x0D, 0x0A, 0x7D, 0x2C, 0x0D, 0x0A, 0x73, 0x75,
|
||||||
0x61, 0x74, 0x68, 0x2E, 0x72, 0x6F, 0x75, 0x6E, 0x64, 0x28, 0x70, 0x65, 0x72, 0x2A, 0x31, 0x30,
|
0x63, 0x63, 0x65, 0x73, 0x73, 0x3A, 0x66, 0x75, 0x6E, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x28, 0x64,
|
||||||
0x30, 0x29, 0x20, 0x2B, 0x20, 0x27, 0x25, 0x27, 0x29, 0x3B, 0x0D, 0x0A, 0x7D, 0x0D, 0x0A, 0x7D,
|
0x2C, 0x20, 0x73, 0x29, 0x20, 0x7B, 0x0D, 0x0A, 0x63, 0x6F, 0x6E, 0x73, 0x6F, 0x6C, 0x65, 0x2E,
|
||||||
0x2C, 0x20, 0x66, 0x61, 0x6C, 0x73, 0x65, 0x29, 0x3B, 0x0D, 0x0A, 0x72, 0x65, 0x74, 0x75, 0x72,
|
0x6C, 0x6F, 0x67, 0x28, 0x27, 0x7B, 0x25, 0x31, 0x33, 0x25, 0x7D, 0x21, 0x27, 0x29, 0x0D, 0x0A,
|
||||||
0x6E, 0x20, 0x78, 0x68, 0x72, 0x3B, 0x0D, 0x0A, 0x7D, 0x2C, 0x0D, 0x0A, 0x73, 0x75, 0x63, 0x63,
|
0x7D, 0x2C, 0x0D, 0x0A, 0x65, 0x72, 0x72, 0x6F, 0x72, 0x3A, 0x20, 0x66, 0x75, 0x6E, 0x63, 0x74,
|
||||||
0x65, 0x73, 0x73, 0x3A, 0x66, 0x75, 0x6E, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x28, 0x64, 0x2C, 0x20,
|
0x69, 0x6F, 0x6E, 0x20, 0x28, 0x61, 0x2C, 0x20, 0x62, 0x2C, 0x20, 0x63, 0x29, 0x20, 0x7B, 0x0D,
|
||||||
0x73, 0x29, 0x20, 0x7B, 0x0D, 0x0A, 0x63, 0x6F, 0x6E, 0x73, 0x6F, 0x6C, 0x65, 0x2E, 0x6C, 0x6F,
|
0x0A, 0x7D, 0x0D, 0x0A, 0x7D, 0x29, 0x3B, 0x0D, 0x0A, 0x7D, 0x29, 0x3B, 0x0D, 0x0A, 0x3C, 0x2F,
|
||||||
0x67, 0x28, 0x27, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x21, 0x27, 0x29, 0x0D, 0x0A, 0x7D,
|
0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3E, 0x3C, 0x2F, 0x68, 0x74, 0x6D, 0x6C, 0x3E, 0x00
|
||||||
0x2C, 0x0D, 0x0A, 0x65, 0x72, 0x72, 0x6F, 0x72, 0x3A, 0x20, 0x66, 0x75, 0x6E, 0x63, 0x74, 0x69,
|
|
||||||
0x6F, 0x6E, 0x20, 0x28, 0x61, 0x2C, 0x20, 0x62, 0x2C, 0x20, 0x63, 0x29, 0x20, 0x7B, 0x0D, 0x0A,
|
|
||||||
0x7D, 0x0D, 0x0A, 0x7D, 0x29, 0x3B, 0x0D, 0x0A, 0x7D, 0x29, 0x3B, 0x0D, 0x0A, 0x3C, 0x2F, 0x73,
|
|
||||||
0x63, 0x72, 0x69, 0x70, 0x74, 0x3E, 0x3C, 0x2F, 0x68, 0x74, 0x6D, 0x6C, 0x3E, 0x00
|
|
||||||
};
|
};
|
||||||
|
|
||||||
static const char wifiIndexA[] = {
|
static const char wifiIndexA[] = {
|
||||||
0x3C, 0x68, 0x74, 0x6D, 0x6C, 0x3E, 0x3C, 0x62, 0x6F, 0x64, 0x79, 0x20, 0x62, 0x67, 0x63, 0x6F,
|
0x3C, 0x68, 0x74, 0x6D, 0x6C, 0x20, 0x6C, 0x61, 0x6E, 0x67, 0x3D, 0x22, 0x7B, 0x25, 0x4C, 0x41,
|
||||||
|
0x4E, 0x47, 0x25, 0x7D, 0x22, 0x3E, 0x3C, 0x62, 0x6F, 0x64, 0x79, 0x20, 0x62, 0x67, 0x63, 0x6F,
|
||||||
0x6C, 0x6F, 0x72, 0x3D, 0x22, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x22, 0x20, 0x66, 0x67, 0x63,
|
0x6C, 0x6F, 0x72, 0x3D, 0x22, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x22, 0x20, 0x66, 0x67, 0x63,
|
||||||
0x6F, 0x6C, 0x6F, 0x72, 0x20, 0x3D, 0x22, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x22, 0x3E, 0x3C,
|
0x6F, 0x6C, 0x6F, 0x72, 0x20, 0x3D, 0x22, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x22, 0x3E, 0x3C,
|
||||||
0x73, 0x74, 0x79, 0x6C, 0x65, 0x3E, 0x0D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x61,
|
0x73, 0x74, 0x79, 0x6C, 0x65, 0x3E, 0x0D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x61,
|
||||||
@ -348,12 +336,10 @@ static const char wifiIndexA[] = {
|
|||||||
0x3D, 0x27, 0x63, 0x65, 0x6E, 0x74, 0x65, 0x72, 0x27, 0x3E, 0x3C, 0x74, 0x72, 0x3E, 0x3C, 0x74,
|
0x3D, 0x27, 0x63, 0x65, 0x6E, 0x74, 0x65, 0x72, 0x27, 0x3E, 0x3C, 0x74, 0x72, 0x3E, 0x3C, 0x74,
|
||||||
0x64, 0x20, 0x63, 0x6F, 0x6C, 0x73, 0x70, 0x61, 0x6E, 0x3D, 0x35, 0x3E, 0x3C, 0x63, 0x65, 0x6E,
|
0x64, 0x20, 0x63, 0x6F, 0x6C, 0x73, 0x70, 0x61, 0x6E, 0x3D, 0x35, 0x3E, 0x3C, 0x63, 0x65, 0x6E,
|
||||||
0x74, 0x65, 0x72, 0x3E, 0x3C, 0x66, 0x6F, 0x6E, 0x74, 0x20, 0x73, 0x69, 0x7A, 0x65, 0x3D, 0x34,
|
0x74, 0x65, 0x72, 0x3E, 0x3C, 0x66, 0x6F, 0x6E, 0x74, 0x20, 0x73, 0x69, 0x7A, 0x65, 0x3D, 0x34,
|
||||||
0x3E, 0x3C, 0x62, 0x3E, 0x3C, 0x75, 0x3E, 0x57, 0x61, 0x74, 0x63, 0x68, 0x79, 0x20, 0x41, 0x64,
|
0x3E, 0x3C, 0x62, 0x3E, 0x3C, 0x75, 0x3E, 0x7B, 0x25, 0x31, 0x34, 0x25, 0x7D, 0x3C, 0x2F, 0x75,
|
||||||
0x64, 0x69, 0x74, 0x69, 0x6F, 0x6E, 0x61, 0x6C, 0x20, 0x57, 0x69, 0x46, 0x69, 0x20, 0x41, 0x63,
|
0x3E, 0x3C, 0x2F, 0x62, 0x3E, 0x3C, 0x2F, 0x66, 0x6F, 0x6E, 0x74, 0x3E, 0x3C, 0x2F, 0x63, 0x65,
|
||||||
0x63, 0x65, 0x73, 0x73, 0x20, 0x50, 0x6F, 0x69, 0x6E, 0x74, 0x20, 0x53, 0x65, 0x74, 0x74, 0x69,
|
0x6E, 0x74, 0x65, 0x72, 0x3E, 0x3C, 0x62, 0x72, 0x3E, 0x3C, 0x2F, 0x74, 0x64, 0x3E, 0x3C, 0x2F,
|
||||||
0x6E, 0x67, 0x73, 0x3C, 0x2F, 0x75, 0x3E, 0x3C, 0x2F, 0x62, 0x3E, 0x3C, 0x2F, 0x66, 0x6F, 0x6E,
|
0x74, 0x72, 0x3E, 0x00
|
||||||
0x74, 0x3E, 0x3C, 0x2F, 0x63, 0x65, 0x6E, 0x74, 0x65, 0x72, 0x3E, 0x3C, 0x62, 0x72, 0x3E, 0x3C,
|
|
||||||
0x2F, 0x74, 0x64, 0x3E, 0x3C, 0x2F, 0x74, 0x72, 0x3E, 0x00
|
|
||||||
};
|
};
|
||||||
|
|
||||||
static const char wifiIndexB[] = {
|
static const char wifiIndexB[] = {
|
||||||
@ -369,23 +355,23 @@ static const char wifiIndexB[] = {
|
|||||||
|
|
||||||
static const char wifiIndexC[] = {
|
static const char wifiIndexC[] = {
|
||||||
0x3C, 0x74, 0x64, 0x20, 0x61, 0x6C, 0x69, 0x67, 0x6E, 0x3D, 0x27, 0x6C, 0x65, 0x66, 0x74, 0x27,
|
0x3C, 0x74, 0x64, 0x20, 0x61, 0x6C, 0x69, 0x67, 0x6E, 0x3D, 0x27, 0x6C, 0x65, 0x66, 0x74, 0x27,
|
||||||
0x3E, 0x3C, 0x66, 0x6F, 0x6E, 0x74, 0x20, 0x73, 0x69, 0x7A, 0x65, 0x3D, 0x32, 0x3E, 0x50, 0x41,
|
0x3E, 0x3C, 0x66, 0x6F, 0x6E, 0x74, 0x20, 0x73, 0x69, 0x7A, 0x65, 0x3D, 0x32, 0x3E, 0x7B, 0x25,
|
||||||
0x53, 0x53, 0x3A, 0x3C, 0x69, 0x6E, 0x70, 0x75, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3D, 0x27,
|
0x31, 0x35, 0x25, 0x7D, 0x3A, 0x3C, 0x69, 0x6E, 0x70, 0x75, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65,
|
||||||
0x70, 0x61, 0x73, 0x73, 0x77, 0x6F, 0x72, 0x64, 0x27, 0x20, 0x6E, 0x61, 0x6D, 0x65, 0x3D, 0x27,
|
0x3D, 0x27, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6F, 0x72, 0x64, 0x27, 0x20, 0x6E, 0x61, 0x6D, 0x65,
|
||||||
0x50, 0x41, 0x23, 0x27, 0x20, 0x69, 0x64, 0x3D, 0x27, 0x50, 0x41, 0x23, 0x27, 0x20, 0x73, 0x69,
|
0x3D, 0x27, 0x50, 0x41, 0x23, 0x27, 0x20, 0x69, 0x64, 0x3D, 0x27, 0x50, 0x41, 0x23, 0x27, 0x20,
|
||||||
0x7A, 0x65, 0x3D, 0x36, 0x33, 0x20, 0x6D, 0x61, 0x78, 0x6C, 0x65, 0x6E, 0x67, 0x74, 0x68, 0x3D,
|
0x73, 0x69, 0x7A, 0x65, 0x3D, 0x36, 0x33, 0x20, 0x6D, 0x61, 0x78, 0x6C, 0x65, 0x6E, 0x67, 0x74,
|
||||||
0x36, 0x33, 0x20, 0x76, 0x61, 0x6C, 0x75, 0x65, 0x3D, 0x27, 0x24, 0x27, 0x3E, 0x3C, 0x2F, 0x69,
|
0x68, 0x3D, 0x36, 0x33, 0x20, 0x76, 0x61, 0x6C, 0x75, 0x65, 0x3D, 0x27, 0x24, 0x27, 0x3E, 0x3C,
|
||||||
0x6E, 0x70, 0x75, 0x74, 0x3E, 0x3C, 0x2F, 0x66, 0x6F, 0x6E, 0x74, 0x3E, 0x3C, 0x2F, 0x74, 0x64,
|
0x2F, 0x69, 0x6E, 0x70, 0x75, 0x74, 0x3E, 0x3C, 0x2F, 0x66, 0x6F, 0x6E, 0x74, 0x3E, 0x3C, 0x2F,
|
||||||
|
0x74, 0x64, 0x3E, 0x3C, 0x74, 0x64, 0x20, 0x76, 0x61, 0x6C, 0x69, 0x67, 0x6E, 0x3D, 0x27, 0x62,
|
||||||
|
0x6F, 0x74, 0x74, 0x6F, 0x6D, 0x27, 0x20, 0x61, 0x6C, 0x69, 0x67, 0x6E, 0x3D, 0x27, 0x6C, 0x65,
|
||||||
|
0x66, 0x74, 0x27, 0x3E, 0x3C, 0x6C, 0x61, 0x62, 0x65, 0x6C, 0x20, 0x6F, 0x6E, 0x63, 0x6C, 0x69,
|
||||||
|
0x63, 0x6B, 0x3D, 0x22, 0x74, 0x6F, 0x67, 0x67, 0x6C, 0x65, 0x28, 0x27, 0x50, 0x41, 0x23, 0x27,
|
||||||
|
0x29, 0x22, 0x3E, 0x3F, 0x3C, 0x2F, 0x6C, 0x61, 0x62, 0x65, 0x6C, 0x3E, 0x3C, 0x2F, 0x74, 0x64,
|
||||||
0x3E, 0x3C, 0x74, 0x64, 0x20, 0x76, 0x61, 0x6C, 0x69, 0x67, 0x6E, 0x3D, 0x27, 0x62, 0x6F, 0x74,
|
0x3E, 0x3C, 0x74, 0x64, 0x20, 0x76, 0x61, 0x6C, 0x69, 0x67, 0x6E, 0x3D, 0x27, 0x62, 0x6F, 0x74,
|
||||||
0x74, 0x6F, 0x6D, 0x27, 0x20, 0x61, 0x6C, 0x69, 0x67, 0x6E, 0x3D, 0x27, 0x6C, 0x65, 0x66, 0x74,
|
0x74, 0x6F, 0x6D, 0x27, 0x20, 0x61, 0x6C, 0x69, 0x67, 0x6E, 0x3D, 0x27, 0x6C, 0x65, 0x66, 0x74,
|
||||||
0x27, 0x3E, 0x3C, 0x6C, 0x61, 0x62, 0x65, 0x6C, 0x20, 0x6F, 0x6E, 0x63, 0x6C, 0x69, 0x63, 0x6B,
|
0x27, 0x3E, 0x3C, 0x66, 0x6F, 0x6E, 0x74, 0x20, 0x73, 0x69, 0x7A, 0x65, 0x3D, 0x32, 0x3E, 0x3C,
|
||||||
0x3D, 0x22, 0x74, 0x6F, 0x67, 0x67, 0x6C, 0x65, 0x28, 0x27, 0x50, 0x41, 0x23, 0x27, 0x29, 0x22,
|
0x73, 0x65, 0x6C, 0x65, 0x63, 0x74, 0x20, 0x6E, 0x61, 0x6D, 0x65, 0x3D, 0x22, 0x54, 0x58, 0x23,
|
||||||
0x3E, 0x3F, 0x3C, 0x2F, 0x6C, 0x61, 0x62, 0x65, 0x6C, 0x3E, 0x3C, 0x2F, 0x74, 0x64, 0x3E, 0x3C,
|
0x22, 0x20, 0x69, 0x64, 0x3D, 0x22, 0x54, 0x58, 0x23, 0x22, 0x3E, 0x00
|
||||||
0x74, 0x64, 0x20, 0x76, 0x61, 0x6C, 0x69, 0x67, 0x6E, 0x3D, 0x27, 0x62, 0x6F, 0x74, 0x74, 0x6F,
|
|
||||||
0x6D, 0x27, 0x20, 0x61, 0x6C, 0x69, 0x67, 0x6E, 0x3D, 0x27, 0x6C, 0x65, 0x66, 0x74, 0x27, 0x3E,
|
|
||||||
0x3C, 0x66, 0x6F, 0x6E, 0x74, 0x20, 0x73, 0x69, 0x7A, 0x65, 0x3D, 0x32, 0x3E, 0x3C, 0x73, 0x65,
|
|
||||||
0x6C, 0x65, 0x63, 0x74, 0x20, 0x6E, 0x61, 0x6D, 0x65, 0x3D, 0x22, 0x54, 0x58, 0x23, 0x22, 0x20,
|
|
||||||
0x69, 0x64, 0x3D, 0x22, 0x54, 0x58, 0x23, 0x22, 0x3E, 0x00
|
|
||||||
};
|
};
|
||||||
|
|
||||||
static const char wifiIndexC1[] = {
|
static const char wifiIndexC1[] = {
|
||||||
@ -403,7 +389,7 @@ static const char wifiIndexD[] = {
|
|||||||
0x27, 0x20, 0x76, 0x61, 0x6C, 0x69, 0x67, 0x6E, 0x3D, 0x27, 0x62, 0x6F, 0x74, 0x74, 0x6F, 0x6D,
|
0x27, 0x20, 0x76, 0x61, 0x6C, 0x69, 0x67, 0x6E, 0x3D, 0x27, 0x62, 0x6F, 0x74, 0x74, 0x6F, 0x6D,
|
||||||
0x27, 0x3E, 0x3C, 0x66, 0x6F, 0x6E, 0x74, 0x20, 0x73, 0x69, 0x7A, 0x65, 0x3D, 0x32, 0x3E, 0x3C,
|
0x27, 0x3E, 0x3C, 0x66, 0x6F, 0x6E, 0x74, 0x20, 0x73, 0x69, 0x7A, 0x65, 0x3D, 0x32, 0x3E, 0x3C,
|
||||||
0x69, 0x6E, 0x70, 0x75, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3D, 0x27, 0x73, 0x75, 0x62, 0x6D,
|
0x69, 0x6E, 0x70, 0x75, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3D, 0x27, 0x73, 0x75, 0x62, 0x6D,
|
||||||
0x69, 0x74, 0x27, 0x20, 0x76, 0x61, 0x6C, 0x75, 0x65, 0x3D, 0x27, 0x53, 0x74, 0x6F, 0x72, 0x65,
|
0x69, 0x74, 0x27, 0x20, 0x76, 0x61, 0x6C, 0x75, 0x65, 0x3D, 0x27, 0x7B, 0x25, 0x36, 0x25, 0x7D,
|
||||||
0x27, 0x3E, 0x3C, 0x62, 0x72, 0x3E, 0x3C, 0x2F, 0x66, 0x6F, 0x6E, 0x74, 0x3E, 0x3C, 0x2F, 0x74,
|
0x27, 0x3E, 0x3C, 0x62, 0x72, 0x3E, 0x3C, 0x2F, 0x66, 0x6F, 0x6E, 0x74, 0x3E, 0x3C, 0x2F, 0x74,
|
||||||
0x64, 0x3E, 0x3C, 0x2F, 0x74, 0x72, 0x3E, 0x3C, 0x2F, 0x74, 0x61, 0x62, 0x6C, 0x65, 0x3E, 0x3C,
|
0x64, 0x3E, 0x3C, 0x2F, 0x74, 0x72, 0x3E, 0x3C, 0x2F, 0x74, 0x61, 0x62, 0x6C, 0x65, 0x3E, 0x3C,
|
||||||
0x2F, 0x66, 0x6F, 0x72, 0x6D, 0x3E, 0x3C, 0x2F, 0x62, 0x6F, 0x64, 0x79, 0x3E, 0x3C, 0x2F, 0x68,
|
0x2F, 0x66, 0x6F, 0x72, 0x6D, 0x3E, 0x3C, 0x2F, 0x62, 0x6F, 0x64, 0x79, 0x3E, 0x3C, 0x2F, 0x68,
|
||||||
@ -411,7 +397,8 @@ static const char wifiIndexD[] = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
static const char wifiDone[] = {
|
static const char wifiDone[] = {
|
||||||
0x3C, 0x68, 0x74, 0x6D, 0x6C, 0x3E, 0x3C, 0x62, 0x6F, 0x64, 0x79, 0x20, 0x62, 0x67, 0x63, 0x6F,
|
0x3C, 0x68, 0x74, 0x6D, 0x6C, 0x20, 0x6C, 0x61, 0x6E, 0x67, 0x3D, 0x22, 0x7B, 0x25, 0x4C, 0x41,
|
||||||
|
0x4E, 0x47, 0x25, 0x7D, 0x22, 0x3E, 0x3C, 0x62, 0x6F, 0x64, 0x79, 0x20, 0x62, 0x67, 0x63, 0x6F,
|
||||||
0x6C, 0x6F, 0x72, 0x3D, 0x22, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x22, 0x20, 0x66, 0x67, 0x63,
|
0x6C, 0x6F, 0x72, 0x3D, 0x22, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x22, 0x20, 0x66, 0x67, 0x63,
|
||||||
0x6F, 0x6C, 0x6F, 0x72, 0x20, 0x3D, 0x22, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x22, 0x3E, 0x3C,
|
0x6F, 0x6C, 0x6F, 0x72, 0x20, 0x3D, 0x22, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x22, 0x3E, 0x3C,
|
||||||
0x73, 0x74, 0x79, 0x6C, 0x65, 0x3E, 0x0D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x61,
|
0x73, 0x74, 0x79, 0x6C, 0x65, 0x3E, 0x0D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x61,
|
||||||
@ -448,16 +435,12 @@ static const char wifiDone[] = {
|
|||||||
0x25, 0x27, 0x20, 0x61, 0x6C, 0x69, 0x67, 0x6E, 0x3D, 0x27, 0x63, 0x65, 0x6E, 0x74, 0x65, 0x72,
|
0x25, 0x27, 0x20, 0x61, 0x6C, 0x69, 0x67, 0x6E, 0x3D, 0x27, 0x63, 0x65, 0x6E, 0x74, 0x65, 0x72,
|
||||||
0x27, 0x3E, 0x3C, 0x74, 0x72, 0x3E, 0x3C, 0x74, 0x64, 0x3E, 0x3C, 0x63, 0x65, 0x6E, 0x74, 0x65,
|
0x27, 0x3E, 0x3C, 0x74, 0x72, 0x3E, 0x3C, 0x74, 0x64, 0x3E, 0x3C, 0x63, 0x65, 0x6E, 0x74, 0x65,
|
||||||
0x72, 0x3E, 0x3C, 0x66, 0x6F, 0x6E, 0x74, 0x20, 0x73, 0x69, 0x7A, 0x65, 0x3D, 0x34, 0x3E, 0x3C,
|
0x72, 0x3E, 0x3C, 0x66, 0x6F, 0x6E, 0x74, 0x20, 0x73, 0x69, 0x7A, 0x65, 0x3D, 0x34, 0x3E, 0x3C,
|
||||||
0x62, 0x3E, 0x3C, 0x75, 0x3E, 0x57, 0x61, 0x74, 0x63, 0x68, 0x79, 0x20, 0x41, 0x64, 0x64, 0x69,
|
0x62, 0x3E, 0x3C, 0x75, 0x3E, 0x7B, 0x25, 0x31, 0x34, 0x25, 0x7D, 0x3C, 0x2F, 0x75, 0x3E, 0x3C,
|
||||||
0x74, 0x69, 0x6F, 0x6E, 0x61, 0x6C, 0x20, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x20, 0x50, 0x6F,
|
0x2F, 0x62, 0x3E, 0x3C, 0x2F, 0x66, 0x6F, 0x6E, 0x74, 0x3E, 0x3C, 0x2F, 0x63, 0x65, 0x6E, 0x74,
|
||||||
0x69, 0x6E, 0x74, 0x20, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6E, 0x67, 0x73, 0x3C, 0x2F, 0x75, 0x3E,
|
0x65, 0x72, 0x3E, 0x3C, 0x62, 0x72, 0x3E, 0x3C, 0x2F, 0x74, 0x64, 0x3E, 0x3C, 0x2F, 0x74, 0x72,
|
||||||
0x3C, 0x2F, 0x62, 0x3E, 0x3C, 0x2F, 0x66, 0x6F, 0x6E, 0x74, 0x3E, 0x3C, 0x2F, 0x63, 0x65, 0x6E,
|
0x3E, 0x3C, 0x74, 0x64, 0x3E, 0x3C, 0x66, 0x6F, 0x6E, 0x74, 0x20, 0x73, 0x69, 0x7A, 0x65, 0x3D,
|
||||||
0x74, 0x65, 0x72, 0x3E, 0x3C, 0x62, 0x72, 0x3E, 0x3C, 0x2F, 0x74, 0x64, 0x3E, 0x3C, 0x2F, 0x74,
|
0x33, 0x3E, 0x7B, 0x25, 0x31, 0x36, 0x25, 0x7D, 0x2E, 0x3C, 0x62, 0x72, 0x3E, 0x3C, 0x2F, 0x66,
|
||||||
0x72, 0x3E, 0x3C, 0x74, 0x64, 0x3E, 0x3C, 0x66, 0x6F, 0x6E, 0x74, 0x20, 0x73, 0x69, 0x7A, 0x65,
|
0x6F, 0x6E, 0x74, 0x3E, 0x3C, 0x2F, 0x74, 0x64, 0x3E, 0x3C, 0x2F, 0x74, 0x72, 0x3E, 0x3C, 0x2F,
|
||||||
0x3D, 0x33, 0x3E, 0x57, 0x61, 0x74, 0x63, 0x68, 0x79, 0x20, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69,
|
0x74, 0x61, 0x62, 0x6C, 0x65, 0x3E, 0x3C, 0x2F, 0x62, 0x6F, 0x64, 0x79, 0x3E, 0x3C, 0x2F, 0x68,
|
||||||
0x6F, 0x6E, 0x61, 0x6C, 0x20, 0x41, 0x50, 0x73, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64,
|
0x74, 0x6D, 0x6C, 0x3E, 0x00
|
||||||
0x21, 0x20, 0x20, 0x4F, 0x54, 0x41, 0x20, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x20, 0x4F,
|
|
||||||
0x66, 0x66, 0x2E, 0x3C, 0x62, 0x72, 0x3E, 0x3C, 0x2F, 0x66, 0x6F, 0x6E, 0x74, 0x3E, 0x3C, 0x2F,
|
|
||||||
0x74, 0x64, 0x3E, 0x3C, 0x2F, 0x74, 0x72, 0x3E, 0x3C, 0x2F, 0x74, 0x61, 0x62, 0x6C, 0x65, 0x3E,
|
|
||||||
0x3C, 0x2F, 0x62, 0x6F, 0x64, 0x79, 0x3E, 0x3C, 0x2F, 0x68, 0x74, 0x6D, 0x6C, 0x3E, 0x00
|
|
||||||
};
|
};
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user