mirror of
https://git.mirrors.martin98.com/https://github.com/luc-github/ESP3D.git
synced 2025-08-04 17:30:42 +08:00
Add new embedded page
This commit is contained in:
parent
fa61393141
commit
2876055a8c
5
embedded/.gitignore
vendored
Normal file
5
embedded/.gitignore
vendored
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
|
||||||
|
node_modules
|
||||||
|
.vscode
|
||||||
|
dist/*.map
|
||||||
|
dist/*.tmp
|
@ -1,14 +0,0 @@
|
|||||||
cd %~dp0
|
|
||||||
cmd.exe /c npm install
|
|
||||||
cmd.exe /c npm audit fix
|
|
||||||
cmd.exe /c npm audit
|
|
||||||
cmd.exe /c gulp package
|
|
||||||
cmd.exe /c bin2c -o embedded.h -m tool.html.gz
|
|
||||||
cat header.txt > out.h
|
|
||||||
cat embedded.h >> out.h
|
|
||||||
cat footer.txt >> out.h
|
|
||||||
sed -i "s/] =/] PROGMEM =/g" out.h
|
|
||||||
cat out.h > embedded.h
|
|
||||||
cat out.h > ../esp3d/src/modules/http/embedded.h
|
|
||||||
rm -f out.h
|
|
||||||
pause
|
|
68
embedded/config/buildheader.js
Normal file
68
embedded/config/buildheader.js
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
let path = require("path");
|
||||||
|
const fs = require("fs");
|
||||||
|
const child_process = require("child_process");
|
||||||
|
const chalk = require("chalk");
|
||||||
|
|
||||||
|
let distPath = path.normalize(__dirname + "/../dist/");
|
||||||
|
let srcPath = path.normalize(__dirname + "/../src/");
|
||||||
|
let headerPath = path.normalize(
|
||||||
|
__dirname + "/../../esp3d/src/modules/http/embedded.h"
|
||||||
|
);
|
||||||
|
|
||||||
|
console.log(chalk.yellow("Converting bin to text file"));
|
||||||
|
//Cleaning files
|
||||||
|
if (fs.existsSync(distPath + "out.tmp")) fs.rmSync(distPath + "out.tmp");
|
||||||
|
if (fs.existsSync(distPath + "embedded.h")) fs.rmSync(distPath + "embedded.h");
|
||||||
|
|
||||||
|
//Convert bin2C
|
||||||
|
child_process.execSync(
|
||||||
|
"bin2c -o " + distPath + "out.tmp" + " -m " + distPath + "index.html.gz"
|
||||||
|
);
|
||||||
|
|
||||||
|
//Check conversion
|
||||||
|
if (fs.existsSync(distPath + "out.tmp")) {
|
||||||
|
console.log(chalk.green("[ok]"));
|
||||||
|
} else {
|
||||||
|
console.log(chalk.red("[error]Conversion failed"));
|
||||||
|
console.log(
|
||||||
|
chalk.red(
|
||||||
|
"Be sure bin2c executable is in your path (https://github.com/AraHaan/bin2c)"
|
||||||
|
)
|
||||||
|
);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
//Format header file
|
||||||
|
console.log(chalk.yellow("Building header"));
|
||||||
|
fs.writeFileSync(
|
||||||
|
distPath + "embedded.h",
|
||||||
|
fs.readFileSync(srcPath + "header.txt")
|
||||||
|
);
|
||||||
|
let bin2cfile = fs.readFileSync(distPath + "out.tmp").toString();
|
||||||
|
let newfile = bin2cfile
|
||||||
|
.replace("] ", "] PROGMEM ")
|
||||||
|
.replace(/define.*dist_index_html_gz/, "define tool_html_gz")
|
||||||
|
.replace(/char.*dist_index_html_gz/, "char tool_html_gz");
|
||||||
|
fs.appendFileSync(distPath + "embedded.h", newfile);
|
||||||
|
fs.appendFileSync(
|
||||||
|
distPath + "embedded.h",
|
||||||
|
fs.readFileSync(srcPath + "footer.txt")
|
||||||
|
);
|
||||||
|
|
||||||
|
//Check format result
|
||||||
|
if (fs.existsSync(distPath + "embedded.h")) {
|
||||||
|
console.log(chalk.green("[ok]"));
|
||||||
|
} else {
|
||||||
|
console.log(chalk.red("[error]Conversion failed"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
//Move file to src
|
||||||
|
console.log(chalk.yellow("Overwriting header in sources"));
|
||||||
|
fs.writeFileSync(headerPath, fs.readFileSync(distPath + "embedded.h"));
|
||||||
|
if (fs.existsSync(headerPath)) {
|
||||||
|
console.log(chalk.green("[ok]"));
|
||||||
|
} else {
|
||||||
|
console.log(chalk.red("[error]Overwriting failed"));
|
||||||
|
return;
|
||||||
|
}
|
616
embedded/config/server.js
Normal file
616
embedded/config/server.js
Normal file
@ -0,0 +1,616 @@
|
|||||||
|
const express = require("express");
|
||||||
|
const chalk = require("chalk");
|
||||||
|
let path = require("path");
|
||||||
|
const fs = require("fs");
|
||||||
|
const port = 8080;
|
||||||
|
/*
|
||||||
|
* Web Server for development
|
||||||
|
* Web Socket server for development
|
||||||
|
*/
|
||||||
|
const wscolor = chalk.cyan;
|
||||||
|
const expresscolor = chalk.green;
|
||||||
|
const commandcolor = chalk.white;
|
||||||
|
const WebSocket = require("ws");
|
||||||
|
let currentID = 0;
|
||||||
|
const app = express();
|
||||||
|
const fileUpload = require("express-fileupload");
|
||||||
|
let serverpath = path.normalize(__dirname + "/../server/public/");
|
||||||
|
|
||||||
|
let WebSocketServer = require("ws").Server,
|
||||||
|
wss = new WebSocketServer({ port: 81 });
|
||||||
|
app.use(fileUpload({ preserveExtension: true, debug: false }));
|
||||||
|
app.listen(port, () =>
|
||||||
|
console.log(expresscolor(`[express] Listening on port ${port}!`))
|
||||||
|
);
|
||||||
|
|
||||||
|
//app.use(express.urlencoded({ extended: false }));
|
||||||
|
|
||||||
|
function SendBinary(text) {
|
||||||
|
const array = new Uint8Array(text.length);
|
||||||
|
for (let i = 0; i < array.length; ++i) {
|
||||||
|
array[i] = text.charCodeAt(i);
|
||||||
|
}
|
||||||
|
wss.clients.forEach(function each(client) {
|
||||||
|
if (client.readyState === WebSocket.OPEN) {
|
||||||
|
client.send(array);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
app.post("/login", function (req, res) {
|
||||||
|
res.send("");
|
||||||
|
return;
|
||||||
|
});
|
||||||
|
|
||||||
|
app.get("/config", function (req, res) {
|
||||||
|
res.send(
|
||||||
|
"chip id: 56398\nCPU Freq: 240 Mhz<br/>" +
|
||||||
|
"CPU Temp: 58.3 C<br/>" +
|
||||||
|
"free mem: 212.36 KB<br/>" +
|
||||||
|
"SDK: v3.2.3-14-gd3e562907<br/>" +
|
||||||
|
"flash size: 4.00 MB<br/>" +
|
||||||
|
"size for update: 1.87 MB<br/>" +
|
||||||
|
"FS type: LittleFS<br/>" +
|
||||||
|
"FS usage: 104.00 KB/192.00 KB<br/>" +
|
||||||
|
"baud: 115200<br/>" +
|
||||||
|
"sleep mode: none<br/>" +
|
||||||
|
"wifi: ON<br/>" +
|
||||||
|
"hostname: esp3d<br/>" +
|
||||||
|
"HTTP port: 80<br/>" +
|
||||||
|
"Telnet port: 23<br/>" +
|
||||||
|
"WebDav port: 8383<br/>" +
|
||||||
|
"sta: ON<br/>" +
|
||||||
|
"mac: 80:7D:3A:C4:4E:DC<br/>" +
|
||||||
|
"SSID: WIFI_OFFICE_A2G<br/>" +
|
||||||
|
"signal: 100 %<br/>" +
|
||||||
|
"phy mode: 11n<br/>" +
|
||||||
|
"channel: 11<br/>" +
|
||||||
|
"ip mode: dhcp<br/>" +
|
||||||
|
"ip: 192.168.1.61<br/>" +
|
||||||
|
"gw: 192.168.1.1<br/>" +
|
||||||
|
"msk: 255.255.255.0<br/>" +
|
||||||
|
"DNS: 192.168.1.1<br/>" +
|
||||||
|
"ap: OFF<br/>" +
|
||||||
|
"mac: 80:7D:3A:C4:4E:DD<br/>" +
|
||||||
|
"serial: ON<br/>" +
|
||||||
|
"notification: OFF<br/>" +
|
||||||
|
"Target Fw: repetier<br/>" +
|
||||||
|
"FW ver: 3.0.0.a91<br/>" +
|
||||||
|
"FW arch: ESP32 "
|
||||||
|
);
|
||||||
|
return;
|
||||||
|
});
|
||||||
|
|
||||||
|
app.get("/command", function (req, res) {
|
||||||
|
console.log(commandcolor(`[server]/command params: ${req.query.cmd}`));
|
||||||
|
let url = req.query.cmd;
|
||||||
|
if (url.startsWith("[ESP800]")) {
|
||||||
|
res.json({
|
||||||
|
FWVersion: "3.0.0.a28",
|
||||||
|
FWTarget: 40,
|
||||||
|
SDConnection: "none",
|
||||||
|
Authentication: "Disabled",
|
||||||
|
WebCommunication: "Synchronous",
|
||||||
|
WebSocketIP: "localhost",
|
||||||
|
WebSocketport: "81",
|
||||||
|
Hostname: "esp3d",
|
||||||
|
WiFiMode: "STA",
|
||||||
|
WebUpdate: "Enabled",
|
||||||
|
Filesystem: "SPIFFS",
|
||||||
|
Time: "none",
|
||||||
|
Cam_ID: "4",
|
||||||
|
Cam_name: "ESP32 Cam",
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (url.indexOf("ESP111") != -1) {
|
||||||
|
res.send("192.168.1.111");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (url.indexOf("ESP420") != -1) {
|
||||||
|
res.json({
|
||||||
|
Status: [
|
||||||
|
{ id: "chip id", value: "38078" },
|
||||||
|
{ id: "CPU Freq", value: "240 Mhz" },
|
||||||
|
{ id: "CPU Temp", value: "50.6 C" },
|
||||||
|
{ id: "free mem", value: "217.50 KB" },
|
||||||
|
{ id: "SDK", value: "v3.3.1-61-g367c3c09c" },
|
||||||
|
{ id: "flash size", value: "4.00 MB" },
|
||||||
|
{ id: "size for update", value: "1.87 MB" },
|
||||||
|
{ id: "FS type", value: "SPIFFS" },
|
||||||
|
{ id: "FS usage", value: "39.95 KB/169.38 KB" },
|
||||||
|
{ id: "baud", value: "115200" },
|
||||||
|
{ id: "sleep mode", value: "none" },
|
||||||
|
{ id: "wifi", value: "ON" },
|
||||||
|
{ id: "hostname", value: "esp3d" },
|
||||||
|
{ id: "HTTP port", value: "80" },
|
||||||
|
{ id: "Telnet port", value: "23" },
|
||||||
|
{ id: "Ftp ports", value: "21, 20, 55600" },
|
||||||
|
{ id: "sta", value: "ON" },
|
||||||
|
{ id: "mac", value: "30:AE:A4:21:BE:94" },
|
||||||
|
{ id: "SSID", value: "WIFI_OFFICE_B2G" },
|
||||||
|
{ id: "signal", value: "100 %" },
|
||||||
|
{ id: "phy mode", value: "11n" },
|
||||||
|
{ id: "channel", value: "2" },
|
||||||
|
{ id: "ip mode", value: "dhcp" },
|
||||||
|
{ id: "ip", value: "192.168.1.43" },
|
||||||
|
{ id: "gw", value: "192.168.1.1" },
|
||||||
|
{ id: "msk", value: "255.255.255.0" },
|
||||||
|
{ id: "DNS", value: "192.168.1.1" },
|
||||||
|
{ id: "ap", value: "OFF" },
|
||||||
|
{ id: "mac", value: "30:AE:A4:21:BE:95" },
|
||||||
|
{ id: "serial", value: "ON" },
|
||||||
|
{ id: "notification", value: "OFF" },
|
||||||
|
{ id: "FW ver", value: "3.0.0.a28" },
|
||||||
|
{ id: "FW arch", value: "ESP32" },
|
||||||
|
],
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (url.indexOf("ESP410") != -1) {
|
||||||
|
res.json({
|
||||||
|
AP_LIST: [
|
||||||
|
{
|
||||||
|
SSID: "HP-Setup>71-M277 LaserJet",
|
||||||
|
SIGNAL: "92",
|
||||||
|
IS_PROTECTED: "0",
|
||||||
|
},
|
||||||
|
{ SSID: "WIFI_OFFICE_B2G", SIGNAL: "88", IS_PROTECTED: "1" },
|
||||||
|
{ SSID: "NETGEAR70", SIGNAL: "66", IS_PROTECTED: "1" },
|
||||||
|
{ SSID: "ZenFone6'luc", SIGNAL: "48", IS_PROTECTED: "1" },
|
||||||
|
{ SSID: "Livebox-EF01", SIGNAL: "20", IS_PROTECTED: "1" },
|
||||||
|
{ SSID: "orange", SIGNAL: "20", IS_PROTECTED: "0" },
|
||||||
|
],
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (url.indexOf("ESP400") != -1) {
|
||||||
|
res.json({
|
||||||
|
Settings: [
|
||||||
|
{
|
||||||
|
F: "network/network",
|
||||||
|
P: "130",
|
||||||
|
T: "S",
|
||||||
|
V: "esp3d",
|
||||||
|
H: "hostname",
|
||||||
|
S: "32",
|
||||||
|
M: "1",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
F: "network/network",
|
||||||
|
P: "0",
|
||||||
|
T: "B",
|
||||||
|
V: "1",
|
||||||
|
H: "radio mode",
|
||||||
|
O: [{ none: "0" }, { sta: "1" }, { ap: "2" }],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
F: "network/sta",
|
||||||
|
P: "1",
|
||||||
|
T: "S",
|
||||||
|
V: "WIFI_OFFICE_B2G",
|
||||||
|
S: "32",
|
||||||
|
H: "SSID",
|
||||||
|
M: "1",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
F: "network/sta",
|
||||||
|
P: "34",
|
||||||
|
T: "S",
|
||||||
|
N: "1",
|
||||||
|
V: "********",
|
||||||
|
S: "64",
|
||||||
|
H: "pwd",
|
||||||
|
M: "8",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
F: "network/sta",
|
||||||
|
P: "99",
|
||||||
|
T: "B",
|
||||||
|
V: "1",
|
||||||
|
H: "ip mode",
|
||||||
|
O: [{ dhcp: "1" }, { static: "0" }],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
F: "network/sta",
|
||||||
|
P: "100",
|
||||||
|
T: "A",
|
||||||
|
V: "192.168.0.1",
|
||||||
|
H: "ip",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
F: "network/sta",
|
||||||
|
P: "108",
|
||||||
|
T: "A",
|
||||||
|
V: "192.168.0.1",
|
||||||
|
H: "gw",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
F: "network/sta",
|
||||||
|
P: "104",
|
||||||
|
T: "A",
|
||||||
|
V: "255.255.255.0",
|
||||||
|
H: "msk",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
F: "network/ap",
|
||||||
|
P: "218",
|
||||||
|
T: "S",
|
||||||
|
V: "ESP3D",
|
||||||
|
S: "32",
|
||||||
|
H: "SSID",
|
||||||
|
M: "1",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
F: "network/ap",
|
||||||
|
P: "251",
|
||||||
|
T: "S",
|
||||||
|
N: "1",
|
||||||
|
V: "********",
|
||||||
|
S: "64",
|
||||||
|
H: "pwd",
|
||||||
|
M: "8",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
F: "network/ap",
|
||||||
|
P: "316",
|
||||||
|
T: "A",
|
||||||
|
V: "192.168.0.1",
|
||||||
|
H: "ip",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
F: "network/ap",
|
||||||
|
P: "118",
|
||||||
|
T: "B",
|
||||||
|
V: "11",
|
||||||
|
H: "channel",
|
||||||
|
O: [
|
||||||
|
{ 1: "1" },
|
||||||
|
{ 2: "2" },
|
||||||
|
{ 3: "3" },
|
||||||
|
{ 4: "4" },
|
||||||
|
{ 5: "5" },
|
||||||
|
{ 6: "6" },
|
||||||
|
{ 7: "7" },
|
||||||
|
{ 8: "8" },
|
||||||
|
{ 9: "9" },
|
||||||
|
{ 10: "10" },
|
||||||
|
{ 11: "11" },
|
||||||
|
{ 12: "12" },
|
||||||
|
{ 13: "13" },
|
||||||
|
{ 14: "14" },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
F: "service/http",
|
||||||
|
P: "328",
|
||||||
|
T: "B",
|
||||||
|
V: "1",
|
||||||
|
H: "enable",
|
||||||
|
O: [{ no: "0" }, { yes: "1" }],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
F: "service/http",
|
||||||
|
P: "121",
|
||||||
|
T: "I",
|
||||||
|
V: "80",
|
||||||
|
H: "port",
|
||||||
|
S: "65001",
|
||||||
|
M: "1",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
F: "service/telnetp",
|
||||||
|
P: "329",
|
||||||
|
T: "B",
|
||||||
|
V: "1",
|
||||||
|
H: "enable",
|
||||||
|
O: [{ no: "0" }, { yes: "1" }],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
F: "service/telnetp",
|
||||||
|
P: "125",
|
||||||
|
T: "I",
|
||||||
|
V: "23",
|
||||||
|
H: "port",
|
||||||
|
S: "65001",
|
||||||
|
M: "1",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
F: "service/ftp",
|
||||||
|
P: "1021",
|
||||||
|
T: "B",
|
||||||
|
V: "1",
|
||||||
|
H: "enable",
|
||||||
|
O: [{ no: "0" }, { yes: "1" }],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
F: "service/ftp",
|
||||||
|
P: "1009",
|
||||||
|
T: "I",
|
||||||
|
V: "21",
|
||||||
|
H: "control port",
|
||||||
|
S: "65001",
|
||||||
|
M: "1",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
F: "service/ftp",
|
||||||
|
P: "1013",
|
||||||
|
T: "I",
|
||||||
|
V: "20",
|
||||||
|
H: "active port",
|
||||||
|
S: "65001",
|
||||||
|
M: "1",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
F: "service/ftp",
|
||||||
|
P: "1017",
|
||||||
|
T: "I",
|
||||||
|
V: "55600",
|
||||||
|
H: "passive port",
|
||||||
|
S: "65001",
|
||||||
|
M: "1",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
F: "service/notification",
|
||||||
|
P: "1004",
|
||||||
|
T: "B",
|
||||||
|
V: "1",
|
||||||
|
H: "auto notif",
|
||||||
|
O: [{ no: "0" }, { yes: "1" }],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
F: "service/notification",
|
||||||
|
P: "116",
|
||||||
|
T: "B",
|
||||||
|
V: "0",
|
||||||
|
H: "notification",
|
||||||
|
O: [{ none: "0" }, { pushover: "1" }, { email: "2" }, { line: "3" }],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
F: "service/notification",
|
||||||
|
P: "332",
|
||||||
|
T: "S",
|
||||||
|
V: "********",
|
||||||
|
S: "63",
|
||||||
|
H: "t1",
|
||||||
|
M: "0",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
F: "service/notification",
|
||||||
|
P: "396",
|
||||||
|
T: "S",
|
||||||
|
V: "********",
|
||||||
|
S: "63",
|
||||||
|
H: "t2",
|
||||||
|
M: "0",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
F: "service/notification",
|
||||||
|
P: "855",
|
||||||
|
T: "S",
|
||||||
|
V: " ",
|
||||||
|
S: "127",
|
||||||
|
H: "ts",
|
||||||
|
M: "0",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
F: "system/system",
|
||||||
|
P: "461",
|
||||||
|
T: "B",
|
||||||
|
V: "40",
|
||||||
|
H: "targetfw",
|
||||||
|
O: [
|
||||||
|
{ repetier: "50" },
|
||||||
|
{ marlin: "20" },
|
||||||
|
{ marlinkimbra: "35" },
|
||||||
|
{ smoothieware: "40" },
|
||||||
|
{ grbl: "10" },
|
||||||
|
{ unknown: "0" },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
F: "system/system",
|
||||||
|
P: "112",
|
||||||
|
T: "I",
|
||||||
|
V: "115200",
|
||||||
|
H: "baud",
|
||||||
|
O: [
|
||||||
|
{ 9600: "9600" },
|
||||||
|
{ 19200: "19200" },
|
||||||
|
{ 38400: "38400" },
|
||||||
|
{ 57600: "57600" },
|
||||||
|
{ 74880: "74880" },
|
||||||
|
{ 115200: "115200" },
|
||||||
|
{ 230400: "230400" },
|
||||||
|
{ 250000: "250000" },
|
||||||
|
{ 500000: "500000" },
|
||||||
|
{ 921600: "921600" },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
F: "system/system",
|
||||||
|
P: "320",
|
||||||
|
T: "I",
|
||||||
|
V: "10000",
|
||||||
|
H: "bootdelay",
|
||||||
|
S: "40000",
|
||||||
|
M: "0",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
F: "system/system",
|
||||||
|
P: "129",
|
||||||
|
T: "F",
|
||||||
|
V: "255",
|
||||||
|
H: "outputmsg",
|
||||||
|
O: [{ M117: "16" }, { serial: "1" }, { telnet: "2" }],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
SendBinary("ok\n");
|
||||||
|
res.send("");
|
||||||
|
});
|
||||||
|
|
||||||
|
function fileSizeString(size) {
|
||||||
|
let s;
|
||||||
|
if (size < 1024) return size + " B";
|
||||||
|
if (size < 1024 * 1024) return (size / 1024).toFixed(2) + " KB";
|
||||||
|
if (size < 1024 * 1024 * 1024)
|
||||||
|
return (size / (1024 * 1024)).toFixed(2) + " MB";
|
||||||
|
if (size < 1024 * 1024 * 1024 * 1024)
|
||||||
|
return (size / (1024 * 1024 * 1024)).toFixed(2) + " GB";
|
||||||
|
return "X B";
|
||||||
|
}
|
||||||
|
|
||||||
|
function filesList(mypath) {
|
||||||
|
let res = '{"files":[';
|
||||||
|
let nb = 0;
|
||||||
|
let total = 1.31 * 1024 * 1024;
|
||||||
|
let totalused = getTotalSize(serverpath);
|
||||||
|
let currentpath = path.normalize(serverpath + mypath);
|
||||||
|
console.log("[path]" + currentpath);
|
||||||
|
fs.readdirSync(currentpath).forEach((fileelement) => {
|
||||||
|
let fullpath = path.normalize(currentpath + "/" + fileelement);
|
||||||
|
let fst = fs.statSync(fullpath);
|
||||||
|
let fsize = -1;
|
||||||
|
|
||||||
|
if (fst.isFile()) {
|
||||||
|
fsize = fileSizeString(fst.size);
|
||||||
|
}
|
||||||
|
if (nb > 0) res += ",";
|
||||||
|
res += '{"name":"' + fileelement + '","size":"' + fsize + '"}';
|
||||||
|
nb++;
|
||||||
|
});
|
||||||
|
res +=
|
||||||
|
'],"path":"' +
|
||||||
|
mypath +
|
||||||
|
'","occupation":"' +
|
||||||
|
((100 * totalused) / total).toFixed(0) +
|
||||||
|
'","status":"ok","total":"' +
|
||||||
|
fileSizeString(total) +
|
||||||
|
'","used":"' +
|
||||||
|
fileSizeString(totalused) +
|
||||||
|
'"}';
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
|
const getAllFiles = function (dirPath, arrayOfFiles) {
|
||||||
|
let files = fs.readdirSync(dirPath);
|
||||||
|
|
||||||
|
arrayOfFiles = arrayOfFiles || [];
|
||||||
|
|
||||||
|
files.forEach(function (file) {
|
||||||
|
if (fs.statSync(dirPath + "/" + file).isDirectory()) {
|
||||||
|
arrayOfFiles = getAllFiles(dirPath + "/" + file, arrayOfFiles);
|
||||||
|
} else {
|
||||||
|
arrayOfFiles.push(dirPath + "/" + file);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
return arrayOfFiles;
|
||||||
|
};
|
||||||
|
|
||||||
|
const getTotalSize = function (directoryPath) {
|
||||||
|
const arrayOfFiles = getAllFiles(directoryPath);
|
||||||
|
|
||||||
|
let totalSize = 0;
|
||||||
|
|
||||||
|
arrayOfFiles.forEach(function (filePath) {
|
||||||
|
totalSize += fs.statSync(filePath).size;
|
||||||
|
});
|
||||||
|
|
||||||
|
return totalSize;
|
||||||
|
};
|
||||||
|
|
||||||
|
function deleteFolderRecursive(path) {
|
||||||
|
if (fs.existsSync(path) && fs.lstatSync(path).isDirectory()) {
|
||||||
|
fs.readdirSync(path).forEach(function (file, index) {
|
||||||
|
let curPath = path + "/" + file;
|
||||||
|
|
||||||
|
if (fs.lstatSync(curPath).isDirectory()) {
|
||||||
|
// recurse
|
||||||
|
deleteFolderRecursive(curPath);
|
||||||
|
} else {
|
||||||
|
// delete file
|
||||||
|
fs.unlinkSync(curPath);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
console.log(`[server]Deleting directory "${path}"...`);
|
||||||
|
if (fs.existsSync(path)) fs.rmdirSync(path);
|
||||||
|
} else console.log(`[server]No directory "${path}"...`);
|
||||||
|
}
|
||||||
|
|
||||||
|
app.all("/updatefw", function (req, res) {
|
||||||
|
res.send("ok");
|
||||||
|
});
|
||||||
|
|
||||||
|
app.all("/files", function (req, res) {
|
||||||
|
let mypath = req.query.path;
|
||||||
|
let url = req.originalUrl;
|
||||||
|
let filepath = path.normalize(serverpath + mypath + "/" + req.query.filename);
|
||||||
|
if (url.indexOf("action=deletedir") != -1) {
|
||||||
|
console.log("[server]delete directory " + filepath);
|
||||||
|
deleteFolderRecursive(filepath);
|
||||||
|
fs.readdirSync(mypath);
|
||||||
|
} else if (url.indexOf("action=delete") != -1) {
|
||||||
|
fs.unlinkSync(filepath);
|
||||||
|
console.log("[server]delete file " + filepath);
|
||||||
|
}
|
||||||
|
if (url.indexOf("action=createdir") != -1) {
|
||||||
|
fs.mkdirSync(filepath);
|
||||||
|
console.log("[server]new directory " + filepath);
|
||||||
|
}
|
||||||
|
if (typeof mypath == "undefined") {
|
||||||
|
if (typeof req.body.path == "undefined") {
|
||||||
|
console.log("[server]path is not defined");
|
||||||
|
mypath = "/";
|
||||||
|
} else {
|
||||||
|
mypath = (req.body.path == "/" ? "" : req.body.path) + "/";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
console.log("[server]path is " + mypath);
|
||||||
|
if (!req.files || Object.keys(req.files).length === 0) {
|
||||||
|
return res.send(filesList(mypath));
|
||||||
|
}
|
||||||
|
let myFile = req.files.myfiles;
|
||||||
|
if (typeof myFile.length == "undefined") {
|
||||||
|
let fullpath = path.normalize(serverpath + mypath + myFile.name);
|
||||||
|
console.log("[server]one file:" + fullpath);
|
||||||
|
myFile.mv(fullpath, function (err) {
|
||||||
|
if (err) return res.status(500).send(err);
|
||||||
|
res.send(filesList(mypath));
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
console.log(myFile.length + " files");
|
||||||
|
for (let i = 0; i < myFile.length; i++) {
|
||||||
|
let fullpath = path.normalize(serverpath + mypath + myFile[i].name);
|
||||||
|
console.log(fullpath);
|
||||||
|
myFile[i].mv(fullpath).then(() => {
|
||||||
|
if (i == myFile.length - 1) res.send(filesList(mypath));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
wss.on("connection", (socket, request) => {
|
||||||
|
console.log(wscolor("[ws] New connection"));
|
||||||
|
console.log(wscolor(`[ws] currentID:${currentID}`));
|
||||||
|
socket.send(`currentID:${currentID}`);
|
||||||
|
wss.clients.forEach(function each(client) {
|
||||||
|
if (client.readyState === WebSocket.OPEN) {
|
||||||
|
client.send(`activeID:${currentID}`);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
currentID++;
|
||||||
|
socket.on("message", (message) => {
|
||||||
|
console.log(wscolor("[ws] received: %s", message));
|
||||||
|
});
|
||||||
|
});
|
||||||
|
wss.on("error", (error) => {
|
||||||
|
console.log(wscolor("[ws] Error: %s", error));
|
||||||
|
});
|
52
embedded/config/webpack.dev.js
Normal file
52
embedded/config/webpack.dev.js
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
const path = require("path");
|
||||||
|
const HtmlWebpackPlugin = require("html-webpack-plugin");
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
mode: "development", // this will trigger some webpack default stuffs for dev
|
||||||
|
entry: path.resolve(__dirname, "../src/index.js"), // if not set, default path to './src/index.js'. Accepts an object with multiple key-value pairs, with key as your custom bundle filename(substituting the [name]), and value as the corresponding file path
|
||||||
|
output: {
|
||||||
|
filename: "[name].bundle.js", // [name] will take whatever the input filename is. defaults to 'main' if only a single entry value
|
||||||
|
path: path.resolve(__dirname, "../dist"), // the folder containing you final dist/build files. Default to './dist'
|
||||||
|
},
|
||||||
|
devServer: {
|
||||||
|
historyApiFallback: true, // to make our SPA works after a full reload, so that it serves 'index.html' when 404 response
|
||||||
|
open: true,
|
||||||
|
contentBase: path.resolve(__dirname, "./dist"),
|
||||||
|
inline: true,
|
||||||
|
port: 8088,
|
||||||
|
proxy: {
|
||||||
|
context: () => true,
|
||||||
|
target: "http://localhost:8080",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
stats: "minimal", // default behaviour spit out way too much info. adjust to your need.
|
||||||
|
devtool: "source-map", // a sourcemap type. map to original source with line number
|
||||||
|
plugins: [
|
||||||
|
new HtmlWebpackPlugin({
|
||||||
|
template: path.join(__dirname, "../src/index.html"),
|
||||||
|
inlineSource: ".(js|css)$",
|
||||||
|
inject: true,
|
||||||
|
}),
|
||||||
|
], // automatically creates a 'index.html' for us with our <link>, <style>, <script> tags inserted! Visit https://github.com/jantimon/html-webpack-plugin for more options
|
||||||
|
module: {
|
||||||
|
rules: [
|
||||||
|
{
|
||||||
|
test: /\.js$/,
|
||||||
|
exclude: /(node_modules)/,
|
||||||
|
use: {
|
||||||
|
loader: "babel-loader",
|
||||||
|
options: {
|
||||||
|
presets: ["@babel/preset-env"],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.css$/, // run the loaders below only on .css files
|
||||||
|
// this are the loaders. they interpret files, in this case css. they run from right to left sequence.
|
||||||
|
// css-loader: "interprets @import and url() like import/require() and will resolve them."
|
||||||
|
// style-loader: "Adds CSS to the DOM by injecting a <style> tag". this is fine for development.
|
||||||
|
use: ["style-loader", "css-loader"],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
};
|
90
embedded/config/webpack.prod.js
Normal file
90
embedded/config/webpack.prod.js
Normal file
@ -0,0 +1,90 @@
|
|||||||
|
const path = require("path");
|
||||||
|
const MiniCssExtractPlugin = require("mini-css-extract-plugin");
|
||||||
|
const { CleanWebpackPlugin } = require("clean-webpack-plugin");
|
||||||
|
const HtmlWebpackPlugin = require("html-webpack-plugin");
|
||||||
|
const HtmlMinimizerPlugin = require("html-minimizer-webpack-plugin");
|
||||||
|
const HtmlInlineScriptPlugin = require("html-inline-script-webpack-plugin");
|
||||||
|
const HTMLInlineCSSWebpackPlugin = require("html-inline-css-webpack-plugin")
|
||||||
|
.default;
|
||||||
|
const Compression = require("compression-webpack-plugin");
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
mode: "production", // this trigger webpack out-of-box prod optimizations
|
||||||
|
entry: path.resolve(__dirname, "../src/index.js"),
|
||||||
|
output: {
|
||||||
|
filename: `[name].[hash].js`, // [hash] is useful for cache busting!
|
||||||
|
path: path.resolve(__dirname, "../dist"),
|
||||||
|
},
|
||||||
|
module: {
|
||||||
|
rules: [
|
||||||
|
{
|
||||||
|
test: /\.css$/,
|
||||||
|
use: [MiniCssExtractPlugin.loader, "css-loader"],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
test: /\.js$/,
|
||||||
|
exclude: /node_modules/,
|
||||||
|
use: [
|
||||||
|
{
|
||||||
|
loader: "babel-loader",
|
||||||
|
options: {
|
||||||
|
presets: [
|
||||||
|
[
|
||||||
|
"@babel/preset-env",
|
||||||
|
{
|
||||||
|
useBuiltIns: "usage",
|
||||||
|
debug: false,
|
||||||
|
corejs: 3,
|
||||||
|
targets: {"chrome": "88"},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
plugins: [
|
||||||
|
// always deletes the dist folder first in each build run.
|
||||||
|
new CleanWebpackPlugin(),
|
||||||
|
new MiniCssExtractPlugin({
|
||||||
|
filename: "[name].css",
|
||||||
|
chunkFilename: "[id].css",
|
||||||
|
}),
|
||||||
|
new HtmlWebpackPlugin({
|
||||||
|
template: path.join(__dirname, "../src/index.html"),
|
||||||
|
inlineSource: ".(js|css)$",
|
||||||
|
inject: true,
|
||||||
|
}),
|
||||||
|
|
||||||
|
new HtmlInlineScriptPlugin([/\.(js)$/]),
|
||||||
|
new HTMLInlineCSSWebpackPlugin(),
|
||||||
|
new Compression({
|
||||||
|
test: /\.(html)$/,
|
||||||
|
filename: "[path][base].gz",
|
||||||
|
algorithm: "gzip",
|
||||||
|
exclude: /.map$/,
|
||||||
|
deleteOriginalAssets: "keep-source-map",
|
||||||
|
}),
|
||||||
|
],
|
||||||
|
optimization: {
|
||||||
|
minimize: true,
|
||||||
|
minimizer: [
|
||||||
|
new HtmlMinimizerPlugin({
|
||||||
|
minimizerOptions: {
|
||||||
|
collapseWhitespace: true,
|
||||||
|
minifyCSS: true,
|
||||||
|
minifyJS: true,
|
||||||
|
},
|
||||||
|
minify: (data, minimizerOptions) => {
|
||||||
|
const htmlMinifier = require("html-minifier-terser");
|
||||||
|
const [[filename, input]] = Object.entries(data);
|
||||||
|
|
||||||
|
return htmlMinifier.minify(input, minimizerOptions);
|
||||||
|
},
|
||||||
|
}),
|
||||||
|
],
|
||||||
|
},
|
||||||
|
devtool: "source-map", // supposedly the ideal type without bloating bundle size
|
||||||
|
};
|
@ -1,502 +0,0 @@
|
|||||||
/*
|
|
||||||
embedded.h - ESP3D data file
|
|
||||||
|
|
||||||
Copyright (c) 2014 Luc Lebosse. All rights reserved.
|
|
||||||
|
|
||||||
This code is free software; you can redistribute it and/or
|
|
||||||
modify it under the terms of the GNU Lesser General Public
|
|
||||||
License as published by the Free Software Foundation; either
|
|
||||||
version 2.1 of the License, or (at your option) any later version.
|
|
||||||
|
|
||||||
This code is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
Lesser General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public
|
|
||||||
License along with this code; if not, write to the Free Software
|
|
||||||
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
||||||
*/
|
|
||||||
|
|
||||||
//data generated by https://github.com/AraHaan/bin2c
|
|
||||||
//bin2c Conversion Tool v0.14.0 - Windows - [FINAL].
|
|
||||||
#ifndef __embedded_h
|
|
||||||
#define __embedded_h
|
|
||||||
/* Generated by bin2c, do not edit manually */
|
|
||||||
|
|
||||||
/* Contents of file tool.html.gz */
|
|
||||||
#define tool_html_gz_size 7528
|
|
||||||
const unsigned char tool_html_gz[7528] PROGMEM = {
|
|
||||||
0x1F, 0x8B, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xED, 0x3C, 0x6B, 0x73, 0xDB, 0x38,
|
|
||||||
0x92, 0x7F, 0x85, 0xE1, 0xD6, 0x5A, 0xE2, 0x89, 0x94, 0xF9, 0xD0, 0x5B, 0x96, 0xB3, 0x99, 0xC4,
|
|
||||||
0x99, 0xF8, 0x2A, 0x4E, 0x52, 0x71, 0xB2, 0xB9, 0xAD, 0x4C, 0xCA, 0x45, 0x89, 0x90, 0xC5, 0x0B,
|
|
||||||
0x45, 0xCA, 0x24, 0x64, 0xD9, 0x71, 0x7C, 0xBF, 0xFD, 0xBA, 0x1B, 0x20, 0x09, 0xEA, 0x65, 0x7B,
|
|
||||||
0x76, 0x6A, 0x77, 0x3E, 0xEC, 0x66, 0x6D, 0x92, 0x40, 0xA3, 0xD1, 0x68, 0xF4, 0x1B, 0xF0, 0x1C,
|
|
||||||
0xCD, 0xF8, 0x3C, 0x3A, 0x3E, 0x9A, 0x31, 0x3F, 0x38, 0x3E, 0xCA, 0xF8, 0x6D, 0xC4, 0x8E, 0xB1,
|
|
||||||
0xE5, 0x6E, 0x9A, 0xC4, 0xDC, 0x9A, 0xFA, 0xF3, 0x30, 0xBA, 0x1D, 0x64, 0x7E, 0x9C, 0x59, 0x19,
|
|
||||||
0x4B, 0xC3, 0xE9, 0xD0, 0x9A, 0x67, 0x16, 0x67, 0x37, 0xDC, 0xCA, 0xC2, 0x1F, 0xCC, 0xF2, 0x83,
|
|
||||||
0xFF, 0x5D, 0x66, 0x7C, 0xE0, 0xD8, 0xF6, 0x5F, 0x87, 0xD6, 0x8A, 0x8D, 0xBF, 0x87, 0x7C, 0x47,
|
|
||||||
0x2F, 0xA1, 0xC3, 0x56, 0xF8, 0x5C, 0xDC, 0xDC, 0x8F, 0x93, 0xE0, 0xB6, 0x32, 0x85, 0xFE, 0x86,
|
|
||||||
0x45, 0xD7, 0x8C, 0x87, 0x13, 0x5F, 0x7B, 0xC7, 0x96, 0x4C, 0x37, 0x8B, 0x6F, 0xF3, 0x45, 0x1A,
|
|
||||||
0xFA, 0x91, 0xA9, 0xD0, 0xA0, 0xE0, 0x6A, 0x2D, 0x6E, 0x86, 0x51, 0x18, 0x33, 0x6B, 0xC6, 0xC2,
|
|
||||||
0xCB, 0x19, 0xCC, 0xD5, 0x6C, 0xB9, 0xBD, 0x76, 0xD7, 0x69, 0x79, 0xC3, 0x49, 0x12, 0x25, 0xE9,
|
|
||||||
0xE0, 0x2F, 0x9E, 0xE7, 0x0D, 0xC7, 0xFE, 0xE4, 0xFB, 0x65, 0x9A, 0x2C, 0xE3, 0xC0, 0x92, 0xAD,
|
|
||||||
0xD3, 0xE9, 0xF4, 0x9E, 0xFB, 0xE3, 0x88, 0xDD, 0x8D, 0x93, 0x34, 0x60, 0xE9, 0xC0, 0x1E, 0x8A,
|
|
||||||
0x17, 0x2B, 0x5B, 0xF8, 0x93, 0x30, 0xBE, 0x84, 0x86, 0xB9, 0x7F, 0x63, 0xAD, 0xC2, 0x80, 0xCF,
|
|
||||||
0x68, 0x05, 0xF7, 0x3C, 0xB8, 0x5B, 0xCD, 0x42, 0xCE, 0x08, 0x82, 0x0D, 0xE2, 0x64, 0x95, 0xFA,
|
|
||||||
0x8B, 0xE1, 0xC2, 0x0F, 0x02, 0x04, 0x77, 0xE7, 0xF3, 0x7B, 0x3E, 0xBB, 0xA3, 0xC5, 0xFB, 0x51,
|
|
||||||
0x78, 0x19, 0x0F, 0x22, 0x36, 0xE5, 0xF7, 0x4D, 0x9A, 0xE4, 0x98, 0xE3, 0x7A, 0x8F, 0x79, 0x7A,
|
|
||||||
0xCC, 0x03, 0x73, 0xA3, 0x69, 0x56, 0x34, 0xD1, 0x26, 0x54, 0xA1, 0x8A, 0xA6, 0xD9, 0x5D, 0x3E,
|
|
||||||
0x55, 0x6F, 0xF7, 0x9A, 0xAF, 0x59, 0x8A, 0x2C, 0x8B, 0x24, 0x09, 0x3C, 0x59, 0xE4, 0xCB, 0x82,
|
|
||||||
0xD7, 0x81, 0xB3, 0xB8, 0xD1, 0xB2, 0x24, 0x0A, 0x03, 0xED, 0x2F, 0x41, 0x10, 0x48, 0xDA, 0xAC,
|
|
||||||
0x8C, 0xA7, 0xE1, 0x82, 0x05, 0x05, 0x41, 0x83, 0x98, 0xCF, 0xAC, 0x64, 0x6A, 0xF1, 0xDB, 0x05,
|
|
||||||
0xAB, 0x27, 0x41, 0x60, 0xDC, 0x6D, 0x61, 0x5F, 0x1F, 0xFF, 0xDD, 0xFB, 0x77, 0x8B, 0x24, 0x0B,
|
|
||||||
0x79, 0x98, 0xC4, 0x83, 0x94, 0x45, 0x3E, 0x0F, 0xAF, 0xD9, 0x30, 0x08, 0xB3, 0x45, 0xE4, 0xDF,
|
|
||||||
0x0E, 0xC6, 0x51, 0x32, 0xF9, 0x5E, 0xB0, 0x07, 0x37, 0x5D, 0x73, 0xDA, 0x40, 0x39, 0x71, 0x28,
|
|
||||||
0x60, 0x93, 0x24, 0xF5, 0x69, 0x60, 0x9C, 0xC4, 0x2C, 0xDF, 0xAB, 0xC9, 0x64, 0x72, 0xDF, 0xF4,
|
|
||||||
0x27, 0x88, 0xE7, 0xAE, 0xDC, 0xA8, 0x2D, 0xDB, 0x67, 0xDB, 0x76, 0x0E, 0xA8, 0xF9, 0xA6, 0x3F,
|
|
||||||
0x98, 0x26, 0x93, 0x65, 0x06, 0xCF, 0x59, 0x02, 0x1C, 0x50, 0x86, 0xDE, 0x37, 0x17, 0x7E, 0xCC,
|
|
||||||
0xA2, 0xBB, 0xB9, 0x9F, 0x5E, 0x86, 0xB1, 0x35, 0x4E, 0x38, 0x4F, 0xE6, 0x03, 0x17, 0x88, 0xD9,
|
|
||||||
0x2E, 0x13, 0x92, 0x5B, 0x6B, 0x9C, 0xCA, 0x79, 0x98, 0xFA, 0x41, 0xB8, 0xCC, 0x06, 0x28, 0x73,
|
|
||||||
0xB9, 0xB0, 0x8F, 0x93, 0x1B, 0x2B, 0x9B, 0xF9, 0x41, 0xB2, 0x1A, 0xD8, 0x1A, 0x8E, 0xC2, 0x9F,
|
|
||||||
0xF4, 0x72, 0xEC, 0xD7, 0x6D, 0x13, 0xFF, 0x35, 0xED, 0xB6, 0x31, 0x7C, 0x0C, 0x90, 0xA4, 0xD4,
|
|
||||||
0x22, 0xC5, 0x28, 0xB8, 0x06, 0x0C, 0xCB, 0x3B, 0x50, 0x10, 0xA0, 0xED, 0x6E, 0x93, 0xA3, 0xFB,
|
|
||||||
0x05, 0xBD, 0x8D, 0xFF, 0xF2, 0x15, 0xC8, 0x46, 0x65, 0x4D, 0x20, 0x17, 0x56, 0x8A, 0x62, 0x94,
|
|
||||||
0xAF, 0xCE, 0x43, 0xDE, 0x94, 0x7D, 0x28, 0xC5, 0x5B, 0xBA, 0x24, 0x27, 0xD7, 0x25, 0x6A, 0x9A,
|
|
||||||
0xA4, 0x73, 0x98, 0x24, 0xE6, 0x69, 0x12, 0xDD, 0x55, 0x25, 0x41, 0x68, 0x92, 0xBF, 0xE4, 0xC9,
|
|
||||||
0x50, 0xCA, 0xAD, 0x87, 0x8C, 0xCC, 0x97, 0xD3, 0xC1, 0xD5, 0xB8, 0xD0, 0xF0, 0x24, 0xE5, 0x6E,
|
|
||||||
0xB7, 0xDB, 0xBB, 0x36, 0xB2, 0x6C, 0x0D, 0xE7, 0xFE, 0x25, 0x13, 0x72, 0xB6, 0xB9, 0xBD, 0x20,
|
|
||||||
0x72, 0x8F, 0xDB, 0xDE, 0x30, 0xCE, 0x18, 0xD7, 0x76, 0xEC, 0x5F, 0xB7, 0xBA, 0xCB, 0x0F, 0xC2,
|
|
||||||
0x5A, 0x89, 0xC5, 0x53, 0x30, 0x68, 0x42, 0x77, 0xD4, 0xCD, 0xD1, 0x98, 0x9F, 0x31, 0x0B, 0x64,
|
|
||||||
0x35, 0x59, 0x72, 0xAD, 0xE9, 0xB4, 0x33, 0xB3, 0xC4, 0xBB, 0xD1, 0x57, 0x65, 0xB8, 0xD0, 0x82,
|
|
||||||
0xBB, 0xEA, 0x56, 0x77, 0x3A, 0xFE, 0x94, 0xF5, 0x87, 0x30, 0x02, 0x39, 0x09, 0x56, 0xED, 0x77,
|
|
||||||
0x2C, 0xCD, 0xB4, 0xA1, 0xB3, 0x97, 0x77, 0x38, 0xB6, 0x6B, 0x3A, 0xDD, 0xB6, 0xE9, 0x7A, 0x9E,
|
|
||||||
0xD9, 0xEC, 0x18, 0x92, 0x06, 0xE4, 0xF5, 0x62, 0x4D, 0xCF, 0x84, 0xF8, 0x8E, 0x79, 0x5C, 0x88,
|
|
||||||
0x42, 0x18, 0xD3, 0x7E, 0x0A, 0x89, 0xA8, 0x02, 0xDB, 0x62, 0xE7, 0x57, 0x62, 0xAB, 0x5B, 0xB6,
|
|
||||||
0x3D, 0x54, 0x6C, 0xE9, 0x84, 0xC5, 0x9C, 0xA5, 0xEB, 0xE6, 0x6D, 0x1E, 0x06, 0x41, 0xC4, 0x84,
|
|
||||||
0x4B, 0x4A, 0x96, 0x93, 0x99, 0x85, 0x16, 0x01, 0xF8, 0x39, 0xF7, 0xE3, 0x70, 0xB1, 0x8C, 0xC8,
|
|
||||||
0xBE, 0x0C, 0x77, 0xF7, 0x4C, 0x96, 0x69, 0x06, 0x2C, 0x5A, 0x24, 0x21, 0x21, 0x7F, 0xA4, 0xC4,
|
|
||||||
0xD0, 0xBE, 0x2D, 0xFC, 0x14, 0x28, 0x1A, 0xEE, 0xF1, 0x07, 0x4F, 0x94, 0xE7, 0x2D, 0x22, 0x38,
|
|
||||||
0x4F, 0x7E, 0x58, 0xCB, 0x0C, 0x3D, 0x12, 0x8B, 0xD8, 0x84, 0x0B, 0x72, 0x70, 0xAD, 0x1B, 0x8D,
|
|
||||||
0xEB, 0x0D, 0xC4, 0x73, 0x6B, 0x91, 0xC2, 0x32, 0xD2, 0xDB, 0xFD, 0x86, 0xD4, 0xF3, 0xBA, 0xFE,
|
|
||||||
0xB8, 0xBB, 0x66, 0x1E, 0x5C, 0xD6, 0x09, 0xFC, 0x56, 0x05, 0x8B, 0x34, 0xB6, 0x66, 0xA5, 0x4D,
|
|
||||||
0x58, 0xDD, 0x4A, 0x13, 0x19, 0xE0, 0x4A, 0xD3, 0x60, 0xCB, 0xC8, 0xC1, 0xE6, 0xC8, 0x0D, 0xD3,
|
|
||||||
0xBD, 0x85, 0x58, 0xB7, 0xD7, 0xB1, 0xFB, 0xF6, 0x1A, 0xB1, 0x8E, 0xEB, 0x8E, 0x5B, 0x36, 0x11,
|
|
||||||
0x1B, 0xCE, 0x2F, 0xEF, 0xE4, 0xA6, 0xCE, 0xFC, 0x78, 0xDD, 0x6C, 0x77, 0x0A, 0xEB, 0xA5, 0xEA,
|
|
||||||
0x3F, 0x39, 0x09, 0x31, 0x56, 0x92, 0xB0, 0xC5, 0x9E, 0xD8, 0xF8, 0x6F, 0x6D, 0xDE, 0xCE, 0x04,
|
|
||||||
0xFF, 0xFD, 0x6E, 0x75, 0x42, 0xF9, 0xB8, 0x4C, 0xD9, 0xED, 0x53, 0xCC, 0x46, 0x65, 0x20, 0x51,
|
|
||||||
0x4D, 0x64, 0xEE, 0x5F, 0xB6, 0x67, 0x4B, 0x25, 0xCC, 0x61, 0x1F, 0x5A, 0xE6, 0xBF, 0x73, 0x45,
|
|
||||||
0x11, 0x10, 0x05, 0x1A, 0xF2, 0xDD, 0x2C, 0x5F, 0x07, 0xD5, 0x78, 0x80, 0x3C, 0x7F, 0xD9, 0x59,
|
|
||||||
0x91, 0x1A, 0xEC, 0x0B, 0xE3, 0xC5, 0x92, 0x7F, 0xC5, 0xD8, 0x65, 0x34, 0x0D, 0x23, 0xF6, 0x6D,
|
|
||||||
0x30, 0xC8, 0xD7, 0x83, 0x9F, 0xD6, 0x72, 0x11, 0x25, 0x7E, 0x60, 0x8D, 0x97, 0x60, 0x73, 0xFE,
|
|
||||||
0x63, 0x96, 0xFE, 0xB5, 0x66, 0x69, 0xB8, 0x57, 0xB9, 0xDB, 0xE3, 0x89, 0x1D, 0xB0, 0x35, 0x25,
|
|
||||||
0x6B, 0x75, 0xC6, 0xBD, 0xC0, 0x7F, 0xD2, 0xA6, 0x4A, 0x2F, 0xF8, 0x9F, 0xAD, 0xFD, 0xF3, 0x6C,
|
|
||||||
0xAD, 0xE7, 0x8C, 0xED, 0x60, 0x3D, 0x06, 0x75, 0xC6, 0x9D, 0xA0, 0xD7, 0x7E, 0xDA, 0xD6, 0x0A,
|
|
||||||
0x6D, 0xFF, 0xCF, 0xD6, 0xFE, 0xC9, 0xB7, 0xD6, 0xED, 0xF4, 0xFD, 0xF1, 0x24, 0x4F, 0x5C, 0xA6,
|
|
||||||
0x49, 0x02, 0x1C, 0xD9, 0x93, 0xB7, 0x38, 0x5D, 0xBB, 0xB7, 0x0D, 0xF7, 0x23, 0x52, 0x97, 0x8D,
|
|
||||||
0x04, 0xE4, 0xDF, 0x30, 0xE5, 0x3C, 0x09, 0xFC, 0x32, 0xD9, 0x21, 0x96, 0x15, 0x59, 0xF1, 0x34,
|
|
||||||
0xBC, 0x61, 0xC1, 0xF0, 0x07, 0xC4, 0xEC, 0x01, 0xBB, 0xC1, 0x32, 0x02, 0x48, 0xA2, 0xA4, 0x4A,
|
|
||||||
0xE0, 0xB2, 0x31, 0x15, 0xC5, 0x1C, 0x0B, 0x44, 0x16, 0x1B, 0xEC, 0x61, 0x59, 0x71, 0xC8, 0xF3,
|
|
||||||
0x24, 0x7A, 0x47, 0xC9, 0x9F, 0x46, 0xE0, 0x52, 0x29, 0x83, 0xDA, 0x9A, 0x11, 0x6F, 0xB6, 0xAA,
|
|
||||||
0xEE, 0xB6, 0x65, 0x48, 0x52, 0x29, 0x5D, 0x00, 0x81, 0xBB, 0xDB, 0x91, 0xE5, 0x39, 0x76, 0x35,
|
|
||||||
0x03, 0xAC, 0x64, 0x87, 0x6A, 0xA7, 0xD0, 0xB5, 0x9D, 0x63, 0x65, 0xF7, 0xAE, 0xE1, 0x03, 0xB7,
|
|
||||||
0xE4, 0x63, 0x11, 0x85, 0x2A, 0x79, 0x32, 0xE6, 0x1B, 0x0E, 0x0A, 0xBE, 0x5D, 0x89, 0x1A, 0x5C,
|
|
||||||
0x63, 0xB8, 0x59, 0x73, 0x10, 0xCA, 0x2F, 0x58, 0x93, 0x6F, 0xFA, 0x16, 0x76, 0xFC, 0x65, 0xCA,
|
|
||||||
0xF0, 0x5F, 0xCE, 0x07, 0xCC, 0xA8, 0x15, 0x29, 0x71, 0xE5, 0x84, 0xB9, 0x90, 0x50, 0x34, 0xB4,
|
|
||||||
0x55, 0x48, 0x5C, 0xFC, 0xB7, 0x2B, 0x49, 0x7E, 0x22, 0xFB, 0x2A, 0xB9, 0xE8, 0x14, 0xFF, 0xE5,
|
|
||||||
0xE4, 0x55, 0x2B, 0x01, 0xB6, 0xA4, 0x2E, 0xEF, 0x5D, 0x17, 0xF1, 0x4E, 0x4E, 0xBD, 0x14, 0x9A,
|
|
||||||
0x56, 0xB3, 0xCD, 0xE6, 0x4F, 0x5F, 0xCA, 0x26, 0x39, 0xFF, 0xE4, 0x6E, 0xDF, 0x37, 0x67, 0x61,
|
|
||||||
0xC0, 0x2E, 0x42, 0x5E, 0xD1, 0x90, 0xFB, 0xBF, 0xCD, 0x59, 0x10, 0xFA, 0x5A, 0x7D, 0x0E, 0x36,
|
|
||||||
0x5B, 0x48, 0x7C, 0xB7, 0x03, 0x3B, 0x6E, 0xDC, 0xAD, 0xC9, 0xA8, 0xE8, 0x6B, 0xF7, 0x10, 0x53,
|
|
||||||
0x3E, 0x28, 0x9B, 0xA4, 0x8C, 0xC5, 0x1A, 0x84, 0xBA, 0x30, 0xBE, 0xA8, 0xD1, 0x75, 0x3B, 0xDD,
|
|
||||||
0x9D, 0xE3, 0xA9, 0x7E, 0x77, 0x7F, 0x74, 0x28, 0xCA, 0x9B, 0x47, 0x3C, 0xE4, 0xF0, 0x38, 0x39,
|
|
||||||
0xFF, 0xE0, 0xBD, 0xD2, 0x78, 0x92, 0x44, 0xDA, 0x02, 0x2C, 0xF4, 0xD1, 0xA1, 0x68, 0x3E, 0x3A,
|
|
||||||
0x14, 0xA5, 0x50, 0xAA, 0x86, 0x1D, 0x05, 0xE1, 0xB5, 0x36, 0x89, 0xFC, 0x2C, 0x1B, 0xE9, 0x64,
|
|
||||||
0x5A, 0x74, 0x18, 0x8D, 0x55, 0x33, 0x8D, 0x10, 0x8F, 0x74, 0xC4, 0x8C, 0x6D, 0x29, 0xFC, 0xC0,
|
|
||||||
0x20, 0x3F, 0x07, 0x16, 0x19, 0x85, 0xAE, 0xCD, 0x52, 0x36, 0x1D, 0xE9, 0x33, 0xCE, 0x17, 0xD9,
|
|
||||||
0xE0, 0xF0, 0x70, 0xB5, 0x5A, 0x35, 0x2F, 0x43, 0x3E, 0x5B, 0x8E, 0x9B, 0x93, 0x64, 0x7E, 0x18,
|
|
||||||
0x2D, 0x27, 0x96, 0xF8, 0x3C, 0x24, 0x62, 0x0E, 0x39, 0x2C, 0xEC, 0xD0, 0x6B, 0xDA, 0xBA, 0xC6,
|
|
||||||
0x41, 0xA2, 0x19, 0x1F, 0xE9, 0x17, 0x10, 0xEA, 0xC6, 0xDF, 0x61, 0x86, 0xEC, 0xFA, 0xB2, 0x98,
|
|
||||||
0x93, 0xCD, 0x01, 0x31, 0x6D, 0xB3, 0xFC, 0xB8, 0x0E, 0xD9, 0xEA, 0x97, 0xE4, 0x66, 0xA4, 0x63,
|
|
||||||
0x38, 0xED, 0x78, 0x36, 0xFC, 0x72, 0x6D, 0x1B, 0x46, 0x5D, 0x0A, 0x0F, 0x83, 0x19, 0xFA, 0x48,
|
|
||||||
0xA7, 0x57, 0xD0, 0x18, 0x56, 0x6F, 0xDB, 0x26, 0x02, 0x18, 0xC0, 0x4A, 0x3F, 0x62, 0x75, 0xC7,
|
|
||||||
0xD4, 0x2C, 0xC7, 0x00, 0xF0, 0x85, 0xCF, 0x67, 0x5A, 0x30, 0xD2, 0xCF, 0x3A, 0x88, 0xC2, 0xE9,
|
|
||||||
0xB6, 0xAE, 0x3C, 0x0F, 0x30, 0x76, 0x5B, 0x9A, 0xD5, 0x8E, 0xBC, 0x1E, 0x40, 0xB5, 0xDD, 0xA8,
|
|
||||||
0x0D, 0x8F, 0xAB, 0x56, 0x1F, 0x7E, 0xB7, 0xB4, 0x3E, 0xF4, 0x78, 0x7D, 0x6C, 0x72, 0x23, 0xC7,
|
|
||||||
0x6B, 0x69, 0x3D, 0xFB, 0xAA, 0xE3, 0x68, 0x56, 0xAB, 0xA7, 0x39, 0x36, 0x74, 0x39, 0x76, 0x3B,
|
|
||||||
0xB2, 0x7A, 0x36, 0xBC, 0x78, 0xAD, 0xC8, 0x03, 0x24, 0x57, 0x2E, 0x80, 0xB6, 0x5A, 0x9A, 0x07,
|
|
||||||
0xC3, 0xFB, 0x5E, 0x04, 0xA0, 0x9D, 0x08, 0x70, 0x02, 0x92, 0xDE, 0x15, 0xF6, 0x78, 0x1A, 0xFC,
|
|
||||||
0xEE, 0x7A, 0x57, 0x30, 0xC4, 0xC3, 0x49, 0xE1, 0xA3, 0x15, 0x59, 0x12, 0x02, 0x5E, 0x00, 0xFE,
|
|
||||||
0x0A, 0x3E, 0x01, 0xB2, 0x8F, 0x13, 0x13, 0x12, 0x0B, 0x11, 0x47, 0x72, 0x96, 0x2B, 0x9C, 0xDB,
|
|
||||||
0x42, 0x1A, 0x4A, 0x02, 0x88, 0x30, 0x27, 0x42, 0x6C, 0xDE, 0x15, 0xCE, 0x6E, 0x21, 0x15, 0x92,
|
|
||||||
0x74, 0x8B, 0x68, 0xB7, 0xC4, 0xE2, 0x1C, 0xED, 0x0A, 0x69, 0x10, 0xF3, 0x22, 0xB9, 0x16, 0xAD,
|
|
||||||
0x1F, 0x3F, 0xDA, 0x04, 0x03, 0x20, 0x38, 0xC2, 0xBD, 0x42, 0x02, 0x60, 0xFD, 0x88, 0x45, 0x20,
|
|
||||||
0xF1, 0xC4, 0x3C, 0x56, 0xCF, 0xB9, 0xB2, 0x3A, 0xB6, 0x86, 0x54, 0x20, 0x05, 0x48, 0x40, 0x0F,
|
|
||||||
0xF7, 0xA4, 0x85, 0x74, 0x02, 0x42, 0x98, 0xBA, 0x85, 0x84, 0xF4, 0x34, 0x24, 0xDD, 0xD5, 0x3A,
|
|
||||||
0x11, 0xCD, 0x0B, 0xEB, 0xB7, 0x3A, 0x5A, 0x0B, 0xD6, 0xD9, 0x01, 0x76, 0xC3, 0xFA, 0x61, 0x62,
|
|
||||||
0x78, 0x03, 0x16, 0x51, 0x67, 0x04, 0x80, 0x57, 0x8E, 0x87, 0x68, 0xC5, 0x48, 0x4F, 0x13, 0x9C,
|
|
||||||
0xC5, 0x25, 0xB7, 0xBA, 0x1A, 0x2C, 0x18, 0x66, 0xA2, 0xD9, 0x1C, 0x18, 0x09, 0x3D, 0x11, 0x52,
|
|
||||||
0x09, 0x33, 0xC1, 0x7C, 0x82, 0x46, 0xE8, 0x8D, 0x68, 0x05, 0xD0, 0x8C, 0x6C, 0xC6, 0x35, 0xFD,
|
|
||||||
0xA0, 0x8D, 0xEE, 0x01, 0x43, 0xAF, 0xAC, 0x5E, 0x1F, 0x57, 0x4A, 0xAC, 0xEE, 0x78, 0x1C, 0x7E,
|
|
||||||
0x88, 0x21, 0xCD, 0x36, 0x2F, 0xDF, 0xF2, 0x4E, 0x7C, 0xC2, 0x03, 0x3A, 0x44, 0xBB, 0x55, 0xBE,
|
|
||||||
0x89, 0xAE, 0x1F, 0x20, 0x4B, 0x87, 0x28, 0x4C, 0xF0, 0xB8, 0x84, 0x1F, 0x10, 0xDE, 0x63, 0xED,
|
|
||||||
0x08, 0x42, 0x9B, 0xB8, 0xD0, 0x8F, 0x3C, 0x83, 0xD3, 0x8F, 0x5F, 0x87, 0xE9, 0x7C, 0x05, 0x21,
|
|
||||||
0x10, 0x80, 0x01, 0x00, 0x40, 0xFB, 0xF0, 0x83, 0xCA, 0xF4, 0xCF, 0x2B, 0x94, 0xF5, 0xE5, 0xE4,
|
|
||||||
0x97, 0xCF, 0xA7, 0x7F, 0x32, 0xB5, 0xB2, 0xFB, 0xAD, 0xAB, 0x9E, 0x8B, 0x18, 0x3B, 0x76, 0x13,
|
|
||||||
0xA5, 0xCF, 0x45, 0xD6, 0xB6, 0x80, 0xF9, 0xED, 0x3E, 0x77, 0x9C, 0x0E, 0xB6, 0xF5, 0xB0, 0xAD,
|
|
||||||
0xDF, 0xC2, 0xD7, 0x3E, 0xEC, 0x40, 0x8F, 0x1E, 0x2D, 0xB7, 0xE8, 0x42, 0xD1, 0x6B, 0x77, 0x89,
|
|
||||||
0xE1, 0xC5, 0x1B, 0x0A, 0x2E, 0x75, 0x5A, 0x9D, 0x9E, 0x1C, 0x68, 0x15, 0x28, 0x2C, 0x15, 0xB1,
|
|
||||||
0x95, 0xCF, 0x06, 0xDB, 0xD5, 0x2F, 0x48, 0x90, 0x1F, 0x6E, 0x01, 0x41, 0x00, 0x34, 0x4C, 0x8C,
|
|
||||||
0x22, 0x64, 0xFD, 0x1C, 0x7F, 0x5F, 0x4C, 0x99, 0x23, 0xD4, 0x88, 0x88, 0xFC, 0x49, 0xA4, 0x52,
|
|
||||||
0x17, 0xD0, 0xDE, 0x6F, 0x6B, 0x3C, 0x1F, 0xAB, 0xE0, 0x93, 0x53, 0x08, 0x2E, 0xE0, 0xAC, 0x3F,
|
|
||||||
0xCE, 0x7A, 0xBD, 0x1E, 0xF4, 0xF5, 0x49, 0xC5, 0x51, 0xCB, 0x1D, 0x90, 0x57, 0x97, 0x13, 0x81,
|
|
||||||
0x64, 0x39, 0xDA, 0x5D, 0x94, 0x67, 0x20, 0xAA, 0x8F, 0x16, 0xC2, 0x71, 0x51, 0xDF, 0x80, 0x37,
|
|
||||||
0x2E, 0x00, 0xE1, 0x2F, 0xFC, 0x12, 0x2F, 0xF8, 0x84, 0x1E, 0x78, 0xBD, 0xC2, 0x49, 0x34, 0x17,
|
|
||||||
0x04, 0xD4, 0x01, 0xB6, 0x6B, 0x4E, 0x5F, 0x6B, 0xD1, 0x74, 0x40, 0x73, 0x17, 0x97, 0x0E, 0x10,
|
|
||||||
0x56, 0x17, 0x90, 0x75, 0xD0, 0xA0, 0x75, 0x10, 0x6B, 0x0F, 0x8C, 0x88, 0x83, 0x32, 0xDF, 0xD1,
|
|
||||||
0x84, 0xA9, 0xB1, 0x71, 0x2F, 0xE0, 0x09, 0x24, 0x5E, 0xB9, 0x68, 0x89, 0x40, 0x51, 0xBB, 0x60,
|
|
||||||
0x14, 0x1C, 0x8E, 0x03, 0x7B, 0x2E, 0xEF, 0x8B, 0x8D, 0x71, 0x60, 0x75, 0x68, 0x3C, 0x7A, 0xB8,
|
|
||||||
0x38, 0xCF, 0x23, 0xC6, 0xE2, 0x64, 0xF2, 0xC3, 0x6D, 0x51, 0x3F, 0x75, 0xD3, 0x88, 0x1E, 0x6A,
|
|
||||||
0x4C, 0xD7, 0x16, 0x4F, 0xC0, 0xD8, 0x85, 0x89, 0xAE, 0x1C, 0xD0, 0x64, 0x60, 0x99, 0xD6, 0xCA,
|
|
||||||
0xF9, 0xDA, 0x82, 0xDE, 0x2B, 0xAB, 0x4F, 0xF6, 0x18, 0x89, 0x82, 0x95, 0xF4, 0xFA, 0x3F, 0xCE,
|
|
||||||
0x5A, 0x60, 0x0A, 0xBA, 0x6E, 0x17, 0xAC, 0x0A, 0x5A, 0x13, 0x69, 0x15, 0xE9, 0x87, 0x76, 0xD4,
|
|
||||||
0xC3, 0x59, 0x68, 0xF3, 0x69, 0xBC, 0x07, 0x43, 0x71, 0x27, 0x70, 0x59, 0x0E, 0x58, 0x12, 0x5C,
|
|
||||||
0x9A, 0xA7, 0x79, 0x24, 0x27, 0x8E, 0xC3, 0x3D, 0xDC, 0x14, 0xA7, 0x1B, 0x01, 0x2E, 0xB0, 0x27,
|
|
||||||
0x30, 0x29, 0xF2, 0x1F, 0x49, 0x44, 0xC2, 0x81, 0x8A, 0x8E, 0x7C, 0x25, 0xEB, 0x89, 0x06, 0x14,
|
|
||||||
0x8C, 0x05, 0x90, 0x03, 0x93, 0x12, 0xB5, 0x96, 0x0B, 0xAC, 0xB6, 0xB9, 0xE5, 0xB9, 0xC8, 0xCF,
|
|
||||||
0x27, 0x29, 0xFF, 0x29, 0x66, 0x4B, 0x53, 0x48, 0x79, 0x7E, 0x8F, 0xF6, 0xEF, 0x73, 0xA5, 0xAB,
|
|
||||||
0xF0, 0x7B, 0xF8, 0xE7, 0xD0, 0x77, 0xA7, 0xDB, 0xBD, 0xC2, 0xBD, 0xB3, 0x41, 0xEA, 0x80, 0x75,
|
|
||||||
0xAD, 0x36, 0x8A, 0x47, 0xAF, 0x25, 0x84, 0x0F, 0x8C, 0xA9, 0xEB, 0x91, 0xD0, 0xE1, 0x7E, 0xB5,
|
|
||||||
0x85, 0x32, 0xB6, 0xB8, 0xA5, 0xBC, 0x2A, 0x00, 0x96, 0x32, 0xCE, 0x2A, 0xB1, 0xD1, 0xAB, 0x78,
|
|
||||||
0x13, 0x00, 0xD4, 0x8F, 0xE3, 0xE4, 0x30, 0xC2, 0x86, 0xC8, 0x8A, 0x97, 0xB2, 0xB3, 0x1C, 0x91,
|
|
||||||
0x63, 0xF9, 0x71, 0xD6, 0x06, 0xDD, 0xE9, 0xB7, 0xC0, 0x93, 0xB9, 0xE4, 0x14, 0x40, 0x81, 0xAC,
|
|
||||||
0xB6, 0xB4, 0xF3, 0x96, 0x8B, 0xEA, 0x00, 0x42, 0x2E, 0x65, 0x8C, 0xE4, 0x4B, 0xB8, 0x0C, 0x69,
|
|
||||||
0x61, 0x50, 0xFE, 0x50, 0x3D, 0x41, 0x53, 0x5D, 0x7A, 0xCC, 0x1C, 0xCF, 0xB9, 0xF2, 0x10, 0x8F,
|
|
||||||
0x06, 0x02, 0xE6, 0x38, 0x57, 0x1D, 0xEC, 0x70, 0x49, 0xED, 0x7B, 0x82, 0xA4, 0xDE, 0x95, 0x8B,
|
|
||||||
0x3C, 0xF7, 0x08, 0x97, 0x83, 0x33, 0x38, 0xF4, 0xEA, 0xC2, 0x14, 0x84, 0x0B, 0x26, 0xEE, 0x62,
|
|
||||||
0x4C, 0x00, 0x6B, 0x45, 0xD9, 0x05, 0x6F, 0xE9, 0x90, 0xBB, 0x22, 0x2D, 0x43, 0x26, 0x91, 0xD4,
|
|
||||||
0x93, 0x1D, 0xC4, 0x49, 0x09, 0x85, 0x85, 0xCA, 0xEA, 0x74, 0x91, 0x29, 0x42, 0x17, 0xD1, 0xC4,
|
|
||||||
0x91, 0x72, 0x40, 0x1F, 0xD0, 0xDF, 0x42, 0xAD, 0x01, 0x82, 0x35, 0x6A, 0x44, 0xEA, 0x39, 0x11,
|
|
||||||
0x65, 0x01, 0xF8, 0xCC, 0x81, 0x28, 0x44, 0xEC, 0x99, 0xD6, 0xE3, 0x1E, 0x51, 0xEA, 0xA1, 0xC1,
|
|
||||||
0x68, 0xF5, 0xB8, 0x8B, 0x73, 0x75, 0x91, 0x87, 0x60, 0xCC, 0x6D, 0x20, 0x0F, 0xAD, 0x01, 0x6C,
|
|
||||||
0x70, 0xCF, 0xD3, 0x38, 0x59, 0x09, 0xB0, 0x81, 0xC0, 0x21, 0x84, 0xF2, 0x88, 0xFD, 0x1D, 0x50,
|
|
||||||
0xA8, 0x1E, 0xB6, 0xA0, 0xED, 0x01, 0x9F, 0xDB, 0x05, 0x34, 0xB6, 0x3D, 0x03, 0x6A, 0x6C, 0xA0,
|
|
||||||
0xC0, 0xA6, 0x85, 0x74, 0x0B, 0xFA, 0x85, 0x59, 0x82, 0xDF, 0xD7, 0x04, 0x40, 0xAB, 0xD1, 0x8A,
|
|
||||||
0x46, 0x5E, 0x40, 0xCE, 0xB0, 0x97, 0x46, 0x53, 0x13, 0xF6, 0x75, 0x49, 0x8D, 0x61, 0xA4, 0x18,
|
|
||||||
0xE8, 0xD8, 0x04, 0x48, 0x4D, 0xD2, 0xDE, 0xC1, 0xCF, 0x93, 0xF4, 0xF3, 0x0D, 0x8B, 0x16, 0x5B,
|
|
||||||
0x54, 0x53, 0xA3, 0x48, 0x7A, 0xA4, 0x97, 0xE1, 0xB5, 0x5E, 0xF6, 0x25, 0xF1, 0x24, 0x0A, 0x27,
|
|
||||||
0xDF, 0x47, 0xFA, 0xC7, 0xB7, 0x75, 0x63, 0xA8, 0x6B, 0x21, 0xA8, 0x42, 0x94, 0x40, 0x82, 0x16,
|
|
||||||
0x42, 0x54, 0xAE, 0xE7, 0x43, 0xAF, 0xC3, 0x2C, 0x1C, 0x87, 0x51, 0xC8, 0x6F, 0x07, 0x90, 0x21,
|
|
||||||
0x04, 0x2C, 0xD6, 0x37, 0xF5, 0xBD, 0xAA, 0xAF, 0x4D, 0xAF, 0xA2, 0xB1, 0x4D, 0xF7, 0x0F, 0xD7,
|
|
||||||
0xD9, 0x69, 0x18, 0x45, 0x72, 0xF9, 0x3A, 0x29, 0x70, 0x1F, 0xC3, 0x23, 0xDB, 0xBE, 0x76, 0x69,
|
|
||||||
0x9F, 0x7B, 0xD2, 0xBA, 0x43, 0xE4, 0x27, 0x82, 0x1D, 0x92, 0x7D, 0x6C, 0x99, 0x59, 0x30, 0x33,
|
|
||||||
0xC4, 0x50, 0x2E, 0xED, 0x65, 0xCB, 0x11, 0xDE, 0xB5, 0x4D, 0x41, 0xB2, 0x73, 0x0D, 0x22, 0x89,
|
|
||||||
0xBB, 0x8D, 0x10, 0x2D, 0x12, 0xDB, 0xAE, 0x70, 0xFC, 0x7D, 0x12, 0x52, 0x21, 0xB9, 0x36, 0xEE,
|
|
||||||
0x77, 0x87, 0xA6, 0x41, 0xA0, 0xB2, 0x95, 0x97, 0xC0, 0x33, 0x20, 0xE7, 0x8A, 0x30, 0x50, 0x1B,
|
|
||||||
0x8D, 0x17, 0xC2, 0x88, 0xA3, 0xC5, 0x60, 0x9C, 0xBB, 0x68, 0xE3, 0x56, 0x01, 0x48, 0xF3, 0x83,
|
|
||||||
0xDB, 0x90, 0x0B, 0x12, 0x02, 0xE2, 0x3A, 0x68, 0xE9, 0x3D, 0xD4, 0x6D, 0xD4, 0x4C, 0x90, 0xCE,
|
|
||||||
0x19, 0x90, 0xAA, 0x49, 0x65, 0x44, 0x89, 0x23, 0x0B, 0x41, 0x2A, 0x23, 0xE5, 0x91, 0x56, 0xFA,
|
|
||||||
0x43, 0x3F, 0x54, 0x84, 0x67, 0x9B, 0x60, 0x28, 0xE5, 0x36, 0x4A, 0x09, 0x69, 0x73, 0x85, 0xF5,
|
|
||||||
0x3E, 0x04, 0x29, 0x98, 0x86, 0x97, 0xDB, 0x8C, 0x33, 0xCA, 0x20, 0x4A, 0xCB, 0xEB, 0x2F, 0x7F,
|
|
||||||
0x3F, 0xF9, 0x78, 0x7E, 0xFA, 0xFE, 0x9D, 0xBE, 0x45, 0x24, 0x37, 0xC4, 0xF1, 0x10, 0xB3, 0xAF,
|
|
||||||
0x43, 0x71, 0x5F, 0xE2, 0xE8, 0x10, 0x32, 0xB6, 0xAD, 0x69, 0x9B, 0xA8, 0xFA, 0x1D, 0x1F, 0xCD,
|
|
||||||
0x5C, 0x9A, 0xE2, 0xEC, 0xFC, 0x57, 0x44, 0x35, 0x73, 0x8B, 0x96, 0xD3, 0x78, 0x9A, 0x28, 0xAD,
|
|
||||||
0x87, 0xF9, 0x80, 0xED, 0x18, 0x35, 0x99, 0xD6, 0x0A, 0xF1, 0x7E, 0xF9, 0xFE, 0xDD, 0xF9, 0xFB,
|
|
||||||
0xB7, 0x27, 0xFA, 0x26, 0x5C, 0x7E, 0x6E, 0xAF, 0x97, 0x6A, 0x01, 0x29, 0xE7, 0x65, 0xC4, 0x5E,
|
|
||||||
0x26, 0x31, 0xE4, 0xD9, 0xAC, 0x0E, 0xC2, 0x27, 0x5F, 0x77, 0xCC, 0x44, 0x85, 0x80, 0xEA, 0x74,
|
|
||||||
0x9F, 0x4E, 0x3E, 0x9E, 0x9D, 0xBE, 0x7B, 0xF1, 0x36, 0xCF, 0x46, 0xCB, 0x04, 0x94, 0xCA, 0xA9,
|
|
||||||
0xF9, 0x70, 0xF5, 0x70, 0x58, 0xD7, 0xB0, 0x3A, 0x02, 0xAE, 0x72, 0x11, 0x31, 0x0E, 0x1B, 0x94,
|
|
||||||
0x4C, 0xA7, 0xB0, 0x03, 0x58, 0x76, 0xA5, 0xBD, 0x02, 0x45, 0xF2, 0xA3, 0x25, 0x7C, 0x88, 0x09,
|
|
||||||
0x26, 0xCB, 0x0C, 0xB2, 0xF9, 0x8B, 0xC9, 0x3C, 0xB8, 0xE0, 0xD8, 0x09, 0x89, 0xFB, 0x84, 0xCD,
|
|
||||||
0x92, 0x08, 0x32, 0xFD, 0x91, 0x7E, 0xCE, 0x20, 0xF3, 0x7E, 0x99, 0xCC, 0xE7, 0x90, 0x81, 0x37,
|
|
||||||
0x9B, 0x4D, 0x5D, 0x71, 0xD8, 0xA2, 0x4E, 0xAB, 0x68, 0xB1, 0xA6, 0x1C, 0xF1, 0x29, 0x2C, 0x40,
|
|
||||||
0x14, 0x2F, 0x69, 0x0E, 0x89, 0x07, 0x0D, 0xC5, 0x31, 0xB6, 0x1E, 0x1D, 0x0A, 0x1C, 0x0A, 0x52,
|
|
||||||
0xB1, 0x26, 0x41, 0xEB, 0x64, 0xC6, 0x26, 0xDF, 0xC7, 0xC9, 0x8D, 0x82, 0x0B, 0xD7, 0x95, 0x4D,
|
|
||||||
0x60, 0x89, 0x11, 0xF0, 0x92, 0xA8, 0x9F, 0x27, 0x71, 0xC8, 0x93, 0xF4, 0x82, 0xC5, 0xC8, 0x9C,
|
|
||||||
0x8B, 0x12, 0x00, 0xC4, 0x09, 0xC7, 0xB3, 0x40, 0x22, 0x62, 0x81, 0x2E, 0x4D, 0xDF, 0xF1, 0x8B,
|
|
||||||
0x02, 0xA8, 0x90, 0xAF, 0x0D, 0xD9, 0xC2, 0x9D, 0x91, 0xF2, 0x9D, 0x97, 0xE3, 0x2C, 0xAC, 0xD3,
|
|
||||||
0x0E, 0xC6, 0x29, 0xF3, 0xBF, 0x5B, 0xAB, 0x24, 0x0D, 0xD0, 0x92, 0xA4, 0x4C, 0xF0, 0x10, 0x98,
|
|
||||||
0x27, 0xCB, 0x10, 0x85, 0xD1, 0xC3, 0x72, 0x47, 0x7E, 0xFB, 0xA1, 0x8D, 0xD5, 0x13, 0xAC, 0x5F,
|
|
||||||
0x54, 0x1A, 0x36, 0x4F, 0x28, 0xB1, 0xB2, 0x57, 0x4C, 0x77, 0x2B, 0x8A, 0x5C, 0xD5, 0xE9, 0xFD,
|
|
||||||
0xF8, 0x76, 0x35, 0x63, 0x29, 0x23, 0xC3, 0x9E, 0x16, 0x4A, 0xA0, 0xFE, 0xDE, 0x2F, 0xBE, 0xAF,
|
|
||||||
0x4F, 0xDF, 0x9E, 0x9C, 0xFF, 0xE3, 0xFC, 0xD3, 0xC9, 0xD9, 0x3E, 0x09, 0x3E, 0x7E, 0x0D, 0xAD,
|
|
||||||
0x33, 0xED, 0x75, 0x18, 0xB1, 0xEC, 0x36, 0xE3, 0x6C, 0xBE, 0x4F, 0x60, 0xF5, 0xEA, 0xBE, 0x61,
|
|
||||||
0x31, 0x5F, 0xCC, 0x45, 0x65, 0x7D, 0x51, 0x5F, 0xD6, 0xB5, 0xD8, 0x9F, 0x23, 0x57, 0x6E, 0xB1,
|
|
||||||
0x31, 0xFB, 0xFA, 0x4D, 0xD7, 0xE6, 0xCB, 0x88, 0x87, 0x0B, 0x62, 0x95, 0x7C, 0xC3, 0x1D, 0xAA,
|
|
||||||
0x48, 0xF5, 0x86, 0x54, 0x89, 0x19, 0x84, 0xD8, 0x88, 0x39, 0x2A, 0xA7, 0x06, 0x6B, 0x62, 0x87,
|
|
||||||
0x53, 0x91, 0x5B, 0x92, 0x02, 0xFF, 0x99, 0x60, 0xF5, 0xE3, 0x83, 0x78, 0x9C, 0x2D, 0x86, 0xE2,
|
|
||||||
0x37, 0xEC, 0x61, 0x72, 0x99, 0xB2, 0x2C, 0xDB, 0xED, 0xAC, 0x24, 0xE9, 0x8B, 0xF4, 0x52, 0x4C,
|
|
||||||
0x49, 0x2F, 0xB0, 0x9B, 0x54, 0x12, 0x12, 0x1B, 0x21, 0x50, 0x80, 0x52, 0xA4, 0xE2, 0x67, 0x8B,
|
|
||||||
0x51, 0xDA, 0xC5, 0xBA, 0x8A, 0x56, 0xE7, 0x0E, 0x90, 0x9C, 0xEC, 0x53, 0x58, 0x51, 0x55, 0x37,
|
|
||||||
0xA9, 0x68, 0xB5, 0x28, 0xCC, 0x78, 0xCD, 0xAC, 0xF9, 0x51, 0x54, 0x53, 0xD8, 0xF0, 0x91, 0x4D,
|
|
||||||
0x81, 0xDA, 0x99, 0xE2, 0xC6, 0xD5, 0x59, 0x91, 0xCE, 0x02, 0xDB, 0x4B, 0x90, 0x76, 0xCE, 0x82,
|
|
||||||
0x30, 0x45, 0x7D, 0xDB, 0xE3, 0xB0, 0x5B, 0x76, 0xE9, 0xAD, 0xF1, 0xBD, 0xE2, 0xAA, 0x5B, 0xF8,
|
|
||||||
0x7F, 0x80, 0x4F, 0x41, 0x0E, 0x34, 0x68, 0x6B, 0xEB, 0xDA, 0x2D, 0xF2, 0x4E, 0xCF, 0x47, 0x7B,
|
|
||||||
0xCA, 0x68, 0x17, 0xDE, 0x53, 0x00, 0x72, 0xE1, 0x71, 0x4B, 0x0F, 0xE1, 0xA9, 0xE5, 0xF1, 0x03,
|
|
||||||
0x7A, 0xA3, 0x1C, 0x0F, 0x82, 0xDE, 0x12, 0xBA, 0x3C, 0x6C, 0x68, 0x2B, 0x31, 0x43, 0xFB, 0x41,
|
|
||||||
0x3C, 0x68, 0x0C, 0x11, 0x8F, 0x23, 0x08, 0x72, 0xE1, 0x51, 0x1C, 0xBA, 0x40, 0x6B, 0x4F, 0x7E,
|
|
||||||
0xAE, 0x24, 0x46, 0xF0, 0xA5, 0x39, 0x12, 0x3A, 0xBF, 0xD1, 0x8F, 0x1B, 0xC0, 0x40, 0xC0, 0x51,
|
|
||||||
0xF8, 0x46, 0xA1, 0x84, 0x55, 0x9E, 0xCA, 0x80, 0x09, 0xB9, 0x4A, 0xB2, 0x03, 0xB1, 0x47, 0xC1,
|
|
||||||
0xC9, 0x10, 0xDC, 0x50, 0x2E, 0x8D, 0xEA, 0xE8, 0x8A, 0x25, 0x12, 0x35, 0x48, 0x39, 0x42, 0x7C,
|
|
||||||
0x54, 0x2E, 0xF3, 0x15, 0x06, 0xA7, 0x34, 0x27, 0x28, 0x55, 0xA2, 0xB2, 0x49, 0x52, 0x35, 0x53,
|
|
||||||
0xF7, 0xF7, 0x13, 0x88, 0x0D, 0xE0, 0x9E, 0x61, 0xFB, 0xF1, 0x3B, 0x10, 0xEC, 0xE2, 0xE3, 0x1C,
|
|
||||||
0x96, 0x9D, 0x7F, 0x08, 0x53, 0x71, 0x7E, 0xC1, 0xC3, 0x39, 0xAC, 0xF3, 0x53, 0x58, 0x82, 0x55,
|
|
||||||
0x64, 0x65, 0xAD, 0xAD, 0x08, 0x0E, 0x67, 0xC5, 0x1A, 0x24, 0x19, 0xE4, 0xD7, 0x72, 0x93, 0x70,
|
|
||||||
0x81, 0x62, 0x49, 0x70, 0xA2, 0xF0, 0xBA, 0xDF, 0x9F, 0xCB, 0xF2, 0xB7, 0x50, 0xBD, 0x8C, 0xFB,
|
|
||||||
0x7C, 0x99, 0xE9, 0xDB, 0xCC, 0xDE, 0xA3, 0x8C, 0xDF, 0x97, 0xCF, 0x1F, 0x5E, 0xBD, 0xF8, 0xB4,
|
|
||||||
0xD7, 0x79, 0x17, 0x45, 0x2A, 0xED, 0xF3, 0x22, 0x00, 0xE1, 0x7F, 0xC0, 0xF2, 0x6D, 0x75, 0xCA,
|
|
||||||
0x1B, 0x86, 0x70, 0xB5, 0xD3, 0x0C, 0x6E, 0x38, 0xBF, 0x27, 0x98, 0x3E, 0xF8, 0x50, 0x34, 0x5F,
|
|
||||||
0x58, 0xB7, 0x4D, 0x9B, 0x87, 0x8B, 0x50, 0xA7, 0x79, 0x8A, 0xC1, 0x9B, 0xAE, 0x0A, 0x93, 0x87,
|
|
||||||
0xAF, 0xDB, 0x8D, 0x5E, 0x81, 0xB9, 0x08, 0xEA, 0xE6, 0xD9, 0xE5, 0xBE, 0xE0, 0xFF, 0x23, 0x83,
|
|
||||||
0x7D, 0x4C, 0x39, 0x70, 0xDB, 0x84, 0x70, 0x03, 0x6F, 0xBA, 0x69, 0x2B, 0x3F, 0xE4, 0x10, 0x60,
|
|
||||||
0x34, 0x73, 0x8F, 0x5C, 0xA0, 0x9A, 0x24, 0x4B, 0x8C, 0xCD, 0x94, 0x58, 0x70, 0x47, 0x1C, 0x58,
|
|
||||||
0x6E, 0x53, 0x91, 0x84, 0x60, 0xAD, 0xBF, 0x50, 0x36, 0x3A, 0x2C, 0xA8, 0x6E, 0x7C, 0xE5, 0xFC,
|
|
||||||
0x60, 0x5B, 0x97, 0x38, 0x36, 0x82, 0x9E, 0x99, 0x77, 0x7C, 0x0A, 0xA4, 0xF3, 0x70, 0x1A, 0x4E,
|
|
||||||
0xE8, 0x10, 0x18, 0x02, 0x47, 0x6F, 0x8B, 0xCC, 0x95, 0xC7, 0x39, 0x32, 0xC6, 0x3D, 0xAE, 0x64,
|
|
||||||
0x5B, 0xA2, 0x5B, 0x04, 0x61, 0x45, 0x9E, 0x72, 0xFC, 0x39, 0x03, 0xB5, 0x95, 0xCB, 0xD3, 0xF6,
|
|
||||||
0x85, 0x75, 0x6A, 0x0C, 0x47, 0x8B, 0x5C, 0x96, 0xE1, 0x46, 0x79, 0xE7, 0xB2, 0x64, 0xD5, 0x2C,
|
|
||||||
0x7D, 0x3C, 0x11, 0x1F, 0xA0, 0x0F, 0xA3, 0x9A, 0x27, 0x10, 0xB2, 0x90, 0x43, 0x24, 0x31, 0x8B,
|
|
||||||
0xFD, 0xC4, 0x8C, 0xB7, 0xC5, 0xD7, 0xEA, 0x01, 0xD7, 0x5A, 0x18, 0x91, 0x4B, 0xFA, 0xC3, 0x01,
|
|
||||||
0xE6, 0xDB, 0x8F, 0xE8, 0x9D, 0xA4, 0xBC, 0x9F, 0x2F, 0xC7, 0xF3, 0x90, 0x6F, 0xB5, 0x10, 0x10,
|
|
||||||
0xF3, 0x85, 0x0B, 0x7E, 0x7C, 0xED, 0xA7, 0xDA, 0x2A, 0xBB, 0xC8, 0x92, 0x65, 0x3A, 0x61, 0xE6,
|
|
||||||
0xCD, 0x3C, 0xC2, 0x1A, 0x93, 0x08, 0x23, 0xCC, 0xC9, 0x32, 0xC5, 0x03, 0x7A, 0xB4, 0xD2, 0x90,
|
|
||||||
0xBD, 0xE8, 0x26, 0x2C, 0x61, 0x86, 0xDB, 0x2E, 0x36, 0x7D, 0xF4, 0xCC, 0x31, 0x57, 0x6C, 0xBC,
|
|
||||||
0x24, 0x95, 0xC2, 0x8F, 0x69, 0x11, 0x1F, 0xC9, 0xAE, 0x2C, 0x81, 0x48, 0x93, 0x5F, 0x2C, 0x92,
|
|
||||||
0x94, 0x8F, 0x6C, 0xA5, 0xE1, 0xF4, 0x03, 0x84, 0xDB, 0xA6, 0x9F, 0xDD, 0xC6, 0x93, 0x0B, 0x68,
|
|
||||||
0x85, 0xD8, 0x7C, 0xBE, 0x8C, 0x15, 0xAC, 0x28, 0xA9, 0x17, 0xC8, 0x45, 0xDD, 0x04, 0xC9, 0xBD,
|
|
||||||
0x80, 0x88, 0xBD, 0x8A, 0x90, 0xF4, 0x05, 0x62, 0x59, 0x68, 0x64, 0xD9, 0xE2, 0x82, 0xA5, 0x29,
|
|
||||||
0xC4, 0xBC, 0x73, 0xD0, 0x3E, 0x18, 0x87, 0x83, 0xCA, 0xC6, 0x49, 0x12, 0x30, 0x98, 0x1A, 0x79,
|
|
||||||
0x28, 0xD6, 0x84, 0x74, 0x80, 0xD8, 0xCE, 0xB1, 0x1D, 0x20, 0x81, 0xD1, 0x10, 0x99, 0xFA, 0xD1,
|
|
||||||
0x05, 0xE9, 0x65, 0x44, 0xCB, 0xC8, 0xDB, 0x50, 0x6E, 0x47, 0xAF, 0x7E, 0x3D, 0x39, 0xAD, 0x97,
|
|
||||||
0x69, 0x87, 0x61, 0xAE, 0x32, 0x50, 0x67, 0x1C, 0x7A, 0x26, 0x63, 0xED, 0x64, 0x09, 0xFC, 0xE2,
|
|
||||||
0xA3, 0xAF, 0xDF, 0x86, 0xD3, 0x65, 0x4C, 0xF7, 0x23, 0xB4, 0xB5, 0x3C, 0xE7, 0x4E, 0xC5, 0xD8,
|
|
||||||
0x24, 0xA1, 0x68, 0xCA, 0x33, 0xC1, 0xD1, 0x3A, 0x01, 0xCF, 0x75, 0x3C, 0x25, 0xD4, 0x07, 0x3A,
|
|
||||||
0x5D, 0xEE, 0xD8, 0x46, 0xE0, 0x7A, 0xCB, 0x7D, 0x31, 0x2D, 0xD1, 0xCA, 0x8C, 0xBB, 0x94, 0xF1,
|
|
||||||
0x65, 0x1A, 0x6B, 0x41, 0x32, 0x59, 0xCE, 0x61, 0xBB, 0x9A, 0x90, 0x6B, 0x9E, 0x44, 0x0C, 0x5F,
|
|
||||||
0x7F, 0xB9, 0x3D, 0x0D, 0x00, 0xA2, 0x1C, 0xB2, 0x25, 0x1D, 0xB9, 0x0B, 0xA7, 0x75, 0xFB, 0x48,
|
|
||||||
0xAC, 0x7B, 0x2D, 0x1B, 0x32, 0x9A, 0x24, 0x56, 0xCD, 0x88, 0xC5, 0x97, 0x7C, 0x66, 0xDC, 0x55,
|
|
||||||
0x59, 0x70, 0x21, 0x8C, 0x6B, 0x7D, 0xDF, 0xD0, 0x86, 0xFE, 0x5B, 0xAC, 0x1B, 0x43, 0x14, 0x3A,
|
|
||||||
0x36, 0x8A, 0xD9, 0x4A, 0xFB, 0x9F, 0xB3, 0xB7, 0x6F, 0x40, 0xE0, 0x3E, 0xB2, 0xAB, 0x25, 0x98,
|
|
||||||
0xC1, 0x21, 0x6B, 0x26, 0x31, 0x04, 0x59, 0xC1, 0x2D, 0xBA, 0x36, 0x36, 0x99, 0xF9, 0x31, 0xEC,
|
|
||||||
0x68, 0x4E, 0x2D, 0xD0, 0xD6, 0x1A, 0x8D, 0x58, 0x93, 0x00, 0xCE, 0x11, 0xE0, 0xE0, 0x00, 0xB2,
|
|
||||||
0x76, 0x6C, 0x12, 0x9E, 0xF0, 0xE0, 0x60, 0x3B, 0x45, 0x38, 0x24, 0x5B, 0xC0, 0x76, 0xB0, 0x4F,
|
|
||||||
0xA0, 0xE7, 0xC6, 0xBD, 0x09, 0xD3, 0x2C, 0x58, 0x5C, 0xD7, 0x7F, 0x3D, 0xF9, 0xA4, 0x9B, 0x98,
|
|
||||||
0x97, 0xD3, 0xDA, 0x9F, 0x03, 0xB1, 0x23, 0xBD, 0xC1, 0x62, 0x94, 0x9A, 0xCF, 0x1F, 0x4F, 0xF7,
|
|
||||||
0xAE, 0xC4, 0x30, 0x9F, 0xD9, 0x06, 0x20, 0xCA, 0x18, 0x32, 0xCD, 0xDC, 0x07, 0x0A, 0xD2, 0x72,
|
|
||||||
0x5F, 0xB2, 0x3C, 0xF6, 0xAF, 0xC7, 0x3E, 0x44, 0x90, 0x77, 0x82, 0x09, 0xBA, 0xE2, 0x33, 0x61,
|
|
||||||
0xBB, 0x47, 0x8A, 0xCE, 0x35, 0x41, 0x44, 0x42, 0x5E, 0x07, 0xCD, 0x33, 0xCC, 0x98, 0x14, 0x30,
|
|
||||||
0x1C, 0x39, 0x43, 0xB0, 0x3D, 0x75, 0xD6, 0xC0, 0x71, 0x81, 0xB4, 0x06, 0x35, 0x11, 0x83, 0xD6,
|
|
||||||
0xB4, 0xC2, 0x0A, 0xFC, 0xA6, 0xAB, 0xAA, 0x5B, 0x3B, 0xAC, 0x0D, 0xB5, 0xDD, 0x91, 0xF0, 0x6F,
|
|
||||||
0xFA, 0xF1, 0x21, 0xF9, 0x11, 0x7D, 0x18, 0x1E, 0x71, 0xB9, 0xB9, 0x96, 0x33, 0x34, 0x76, 0xCC,
|
|
||||||
0xB2, 0x63, 0x12, 0xBD, 0x51, 0x8F, 0x1B, 0x23, 0xFE, 0x35, 0xFC, 0xD6, 0x40, 0x8A, 0x1B, 0xFA,
|
|
||||||
0x43, 0x93, 0xEA, 0x0D, 0x01, 0x5C, 0x78, 0x4C, 0x49, 0x85, 0x19, 0x36, 0x1A, 0x43, 0x29, 0xC3,
|
|
||||||
0x44, 0x82, 0xEA, 0xDE, 0xF4, 0x92, 0x91, 0x60, 0xAD, 0xB3, 0xD9, 0x05, 0x96, 0xD6, 0xEA, 0xB9,
|
|
||||||
0xCC, 0xEB, 0x4A, 0x14, 0x5E, 0x73, 0x5B, 0xB5, 0x3C, 0xFE, 0xA5, 0xF7, 0x3C, 0x0A, 0xAF, 0x51,
|
|
||||||
0xC1, 0xCC, 0xC5, 0x13, 0x96, 0x5E, 0xAD, 0x88, 0x9F, 0x6B, 0x6D, 0xB7, 0x06, 0x71, 0x6F, 0xCD,
|
|
||||||
0x81, 0x07, 0x44, 0xCA, 0xB5, 0x4E, 0x0D, 0x23, 0x65, 0x7C, 0xE4, 0xE8, 0xDA, 0x25, 0xBA, 0x6E,
|
|
||||||
0x4D, 0xDA, 0xF6, 0x1A, 0x46, 0xC0, 0x83, 0x94, 0x05, 0xC3, 0x9A, 0x76, 0xB8, 0x89, 0x6B, 0xFB,
|
|
||||||
0x68, 0xB7, 0x3A, 0x9A, 0xC2, 0xE7, 0xEA, 0x78, 0xCF, 0x16, 0xE3, 0x7B, 0x3B, 0x68, 0xE9, 0x74,
|
|
||||||
0x4B, 0x6C, 0x10, 0x80, 0x3C, 0x40, 0x8D, 0x5B, 0xC5, 0xE6, 0xD8, 0x02, 0x1D, 0x3E, 0x25, 0xBE,
|
|
||||||
0x9E, 0x8A, 0xAF, 0xF5, 0x38, 0x74, 0x6E, 0x7F, 0xEB, 0x70, 0xEF, 0xC1, 0xC5, 0xB5, 0xC4, 0xF8,
|
|
||||||
0x96, 0x27, 0xC8, 0xE9, 0x0A, 0x6A, 0xBA, 0x05, 0x36, 0x05, 0x59, 0xE7, 0x61, 0x6C, 0x9D, 0x3F,
|
|
||||||
0x14, 0x5B, 0xEF, 0x0F, 0xC1, 0x46, 0x09, 0x90, 0x22, 0xA9, 0x78, 0xFD, 0xE4, 0xF7, 0x0A, 0xAA,
|
|
||||||
0xDB, 0x82, 0xFF, 0xD7, 0x8A, 0xA3, 0x95, 0xDA, 0x59, 0xD7, 0xF4, 0xB4, 0xB7, 0xAE, 0xD9, 0xD3,
|
|
||||||
0xDE, 0x76, 0x4D, 0xC7, 0xA3, 0xDF, 0xB6, 0xF6, 0xD6, 0x91, 0x8F, 0x9E, 0xE9, 0x38, 0xE2, 0xD1,
|
|
||||||
0x16, 0x8D, 0x1D, 0x78, 0xD8, 0xF4, 0xE8, 0x9B, 0x4E, 0x97, 0x7E, 0xF7, 0xA9, 0xC9, 0x05, 0x70,
|
|
||||||
0x57, 0x3E, 0x5C, 0xD3, 0xE9, 0xD1, 0xA3, 0x47, 0x6D, 0x1D, 0xC4, 0xDA, 0xD1, 0x7E, 0xE0, 0x02,
|
|
||||||
0xD3, 0xE4, 0x3B, 0xAC, 0x90, 0xAA, 0x90, 0x35, 0x91, 0xEF, 0xD5, 0x68, 0xA5, 0x5B, 0x17, 0x2A,
|
|
||||||
0xC2, 0xFA, 0x0B, 0xCC, 0x90, 0xC1, 0x0F, 0x29, 0xE6, 0xA1, 0x31, 0x62, 0x68, 0x15, 0x4C, 0xD5,
|
|
||||||
0x20, 0xE8, 0x94, 0xF8, 0x98, 0x3A, 0x18, 0x04, 0x5D, 0x71, 0x49, 0x58, 0xA9, 0x83, 0x7C, 0xE3,
|
|
||||||
0x1C, 0xF2, 0xB9, 0xF8, 0x32, 0xAB, 0x33, 0x93, 0xE7, 0x4C, 0xAB, 0x33, 0xB0, 0xF4, 0x3C, 0x79,
|
|
||||||
0x9B, 0xAC, 0x58, 0xFA, 0x12, 0xC2, 0xE4, 0xBA, 0x61, 0x1C, 0xD5, 0xF9, 0x88, 0xAF, 0xB5, 0x3D,
|
|
||||||
0xB7, 0x9C, 0x01, 0x3F, 0x62, 0xCF, 0x9D, 0x81, 0x5D, 0x62, 0x45, 0x7F, 0xEB, 0xF3, 0xC9, 0x8C,
|
|
||||||
0x62, 0x14, 0x72, 0x16, 0x48, 0x21, 0x9A, 0x60, 0x8E, 0xCE, 0x1C, 0xC3, 0x8E, 0x21, 0x38, 0x3E,
|
|
||||||
0xF8, 0x50, 0xCB, 0x21, 0xE7, 0x04, 0x39, 0xD0, 0xC0, 0x29, 0x48, 0x17, 0xD3, 0xA8, 0xF4, 0xFF,
|
|
||||||
0x54, 0x3F, 0x3E, 0x25, 0xDC, 0x8F, 0x34, 0x71, 0x8D, 0x91, 0x46, 0x70, 0x6C, 0xD8, 0x33, 0x00,
|
|
||||||
0x22, 0xDD, 0x40, 0x85, 0x5F, 0xC2, 0xF7, 0x1E, 0xF0, 0xF7, 0x93, 0xC9, 0x72, 0x21, 0xFE, 0x74,
|
|
||||||
0x4C, 0x3B, 0x9A, 0x33, 0x88, 0x03, 0x34, 0x08, 0x04, 0x40, 0x4A, 0x6A, 0x94, 0x89, 0x08, 0x43,
|
|
||||||
0x30, 0x03, 0x31, 0x1A, 0xD5, 0xFA, 0xF0, 0x26, 0x5C, 0x4F, 0x0D, 0x11, 0x27, 0xC5, 0x48, 0xB0,
|
|
||||||
0xCA, 0xB0, 0x6B, 0x34, 0x58, 0x66, 0xDA, 0xEB, 0xFD, 0x7F, 0xD5, 0xA5, 0x2F, 0x93, 0xC9, 0xA5,
|
|
||||||
0xD1, 0x0C, 0xE3, 0x98, 0xA5, 0x6F, 0x3E, 0x9D, 0xBD, 0x1D, 0x71, 0x93, 0x98, 0x05, 0x1B, 0xF9,
|
|
||||||
0x4C, 0xF5, 0x53, 0x82, 0x8F, 0x61, 0xC5, 0x75, 0x81, 0xCB, 0xE0, 0xA7, 0x78, 0xF7, 0xEF, 0xFD,
|
|
||||||
0x14, 0x1D, 0x98, 0x59, 0xE9, 0x13, 0x1E, 0xC6, 0x35, 0x86, 0x9C, 0x3C, 0x4C, 0x9A, 0xEB, 0x91,
|
|
||||||
0x7A, 0x97, 0x7F, 0x8F, 0x9F, 0xA9, 0xB8, 0x48, 0x00, 0x61, 0x75, 0x1B, 0x7C, 0x86, 0xF3, 0x08,
|
|
||||||
0x97, 0x83, 0xDE, 0x0C, 0xFC, 0x8E, 0xA2, 0x8F, 0xA5, 0xFB, 0x01, 0xC1, 0x8B, 0x30, 0x36, 0x07,
|
|
||||||
0xED, 0xAF, 0x1D, 0x43, 0xB6, 0x8B, 0xD9, 0x57, 0x9E, 0x5C, 0xE9, 0xF7, 0xAC, 0x49, 0x92, 0xD3,
|
|
||||||
0x04, 0xFA, 0x78, 0xBD, 0x08, 0x48, 0x14, 0xE1, 0xDC, 0x90, 0xDB, 0x26, 0xA6, 0x8D, 0x26, 0xA7,
|
|
||||||
0x87, 0x71, 0x6F, 0x20, 0xD7, 0x46, 0x2A, 0x8B, 0x0E, 0x0E, 0xEA, 0x20, 0x75, 0xB6, 0x41, 0x0E,
|
|
||||||
0x1D, 0x19, 0x98, 0x60, 0xF0, 0x99, 0x8D, 0xEC, 0x61, 0x76, 0x94, 0xCF, 0x26, 0x38, 0x35, 0xCC,
|
|
||||||
0x1A, 0x0D, 0x43, 0xB7, 0x1C, 0xE0, 0xBA, 0xC0, 0x5E, 0x97, 0xFD, 0x5F, 0xB3, 0x6F, 0x4D, 0x2C,
|
|
||||||
0xCF, 0x18, 0x80, 0x8B, 0x58, 0xF9, 0xE9, 0xA3, 0x4C, 0x3D, 0xC1, 0xB8, 0xA8, 0x16, 0x45, 0x31,
|
|
||||||
0x34, 0x5B, 0x8C, 0x8B, 0x76, 0xAC, 0xC1, 0xFF, 0x4A, 0x0B, 0xE3, 0x98, 0x2E, 0x58, 0x08, 0xD3,
|
|
||||||
0x75, 0xD0, 0xCE, 0xB8, 0xF8, 0xDE, 0x11, 0x8F, 0x2E, 0xB5, 0x39, 0x68, 0x1B, 0xDE, 0x3A, 0xAE,
|
|
||||||
0xFC, 0xED, 0x68, 0x08, 0xE6, 0x3C, 0xC2, 0x5A, 0xE0, 0xA5, 0x5D, 0xED, 0xC6, 0x11, 0x3E, 0xF6,
|
|
||||||
0x16, 0x9F, 0x35, 0xED, 0xC6, 0x85, 0x07, 0x58, 0xD5, 0x5B, 0x97, 0xFC, 0xDB, 0x1A, 0x06, 0xF1,
|
|
||||||
0x69, 0x49, 0xF2, 0x9D, 0x5A, 0x6E, 0x72, 0xC4, 0xCE, 0x7C, 0x7A, 0xB5, 0x1E, 0x9A, 0x08, 0x39,
|
|
||||||
0xFA, 0x4D, 0x2F, 0xAE, 0x42, 0x2E, 0x6E, 0x68, 0xDB, 0xE5, 0x09, 0xCC, 0x6F, 0x3A, 0x4A, 0x3B,
|
|
||||||
0xD9, 0x23, 0x85, 0x83, 0xB8, 0x41, 0x8D, 0x5A, 0x71, 0x2A, 0x23, 0x0E, 0x65, 0x2A, 0x79, 0x99,
|
|
||||||
0x72, 0x06, 0x53, 0x5B, 0x1F, 0x69, 0xEA, 0x74, 0xC5, 0xB5, 0x89, 0x7F, 0x3A, 0xDC, 0xBC, 0xFC,
|
|
||||||
0x01, 0x7B, 0xB4, 0x06, 0x70, 0x70, 0xA0, 0x40, 0x6C, 0x76, 0xFF, 0xFC, 0x89, 0x62, 0xE0, 0x18,
|
|
||||||
0x26, 0x6D, 0xA0, 0x4C, 0xD0, 0xF0, 0x80, 0xE7, 0xD3, 0x2B, 0x5C, 0x21, 0xC6, 0x84, 0x8D, 0xD1,
|
|
||||||
0xDA, 0x7E, 0x4B, 0x58, 0xEA, 0x55, 0xBA, 0x66, 0x7E, 0xF6, 0x7E, 0x15, 0x7F, 0x48, 0x21, 0xB6,
|
|
||||||
0x4D, 0xF9, 0x6D, 0x5D, 0xA7, 0x72, 0x95, 0xF1, 0xBC, 0x0E, 0x82, 0x65, 0x8B, 0x21, 0x38, 0x42,
|
|
||||||
0x5D, 0x00, 0x42, 0x34, 0x24, 0x26, 0x63, 0x90, 0x83, 0x48, 0xCC, 0xF2, 0x33, 0x17, 0x1E, 0xFB,
|
|
||||||
0xAF, 0x35, 0x95, 0x29, 0xBF, 0xC9, 0xCA, 0xE7, 0x6F, 0xBA, 0xA2, 0xA8, 0xAF, 0x18, 0x9E, 0xB1,
|
|
||||||
0xD4, 0x6B, 0xFA, 0x06, 0x7F, 0xF5, 0x9A, 0x21, 0x42, 0x3E, 0x25, 0x68, 0x6B, 0x14, 0xEB, 0xC5,
|
|
||||||
0x49, 0x85, 0xAE, 0xE1, 0x2F, 0x90, 0x62, 0xBD, 0x54, 0x0B, 0x1F, 0x34, 0xC2, 0x5F, 0xD7, 0x08,
|
|
||||||
0x5F, 0x6A, 0xC4, 0x68, 0x5D, 0x23, 0xFC, 0x3F, 0x48, 0x23, 0x14, 0x6D, 0xE8, 0x0B, 0x97, 0xDA,
|
|
||||||
0x47, 0xE7, 0x08, 0x8E, 0x15, 0x7C, 0xA8, 0xFC, 0xD5, 0x46, 0x37, 0xD9, 0x42, 0xE9, 0x6F, 0xA1,
|
|
||||||
0xBE, 0xB4, 0x49, 0x69, 0x5C, 0x02, 0xC5, 0x07, 0x3A, 0x57, 0x54, 0x21, 0x8F, 0xC6, 0xB7, 0xE9,
|
|
||||||
0xB7, 0x2B, 0x34, 0x08, 0xFA, 0x1F, 0xE7, 0x5B, 0x0B, 0x41, 0xAF, 0x4A, 0xBA, 0x56, 0x48, 0x64,
|
|
||||||
0x11, 0x83, 0x6C, 0x5E, 0xF9, 0x56, 0x2D, 0xA8, 0xE2, 0x98, 0x95, 0xCD, 0xF1, 0xCB, 0xCD, 0x11,
|
|
||||||
0x01, 0xF9, 0x46, 0x47, 0x21, 0x86, 0xD5, 0x97, 0x52, 0xEC, 0xFC, 0x5D, 0x62, 0x67, 0xAA, 0x52,
|
|
||||||
0xF7, 0x74, 0x19, 0xDA, 0x4D, 0xE9, 0x13, 0xC5, 0x48, 0x38, 0xB3, 0xBC, 0x78, 0xAB, 0x7A, 0xB3,
|
|
||||||
0xE4, 0xB9, 0x0E, 0x79, 0x36, 0x56, 0x73, 0x73, 0x97, 0x87, 0x87, 0xA0, 0x2A, 0x44, 0xFC, 0x5C,
|
|
||||||
0xC7, 0x33, 0x1F, 0xAD, 0xA2, 0xE1, 0x5A, 0x98, 0x81, 0xDF, 0xCD, 0x32, 0xB5, 0x5E, 0x27, 0x6A,
|
|
||||||
0x0B, 0x5A, 0xC8, 0x01, 0x61, 0x6E, 0x6C, 0x20, 0xEB, 0x92, 0xCB, 0xD4, 0x6A, 0x6B, 0xE5, 0x9A,
|
|
||||||
0xDA, 0xF1, 0xAF, 0x89, 0xC6, 0x13, 0x4D, 0x5C, 0xC4, 0x0D, 0xCB, 0x9B, 0x40, 0xFE, 0x71, 0x4E,
|
|
||||||
0x4A, 0x59, 0x19, 0xAE, 0x3A, 0x60, 0xD1, 0x4B, 0x75, 0xF3, 0x0A, 0xA5, 0x32, 0xA9, 0x54, 0x8A,
|
|
||||||
0x01, 0x42, 0x15, 0x31, 0x0C, 0xC3, 0x53, 0xE7, 0x74, 0x5E, 0xD7, 0x5F, 0x8A, 0x17, 0x2D, 0xC0,
|
|
||||||
0x2E, 0x84, 0x49, 0xA6, 0x28, 0x75, 0x22, 0xFA, 0x00, 0x8D, 0xA9, 0x04, 0x67, 0x04, 0x04, 0x9C,
|
|
||||||
0x61, 0x1B, 0x38, 0xF3, 0xE8, 0x6E, 0x1F, 0x5A, 0x80, 0x01, 0x79, 0x4B, 0xD2, 0xDB, 0x3D, 0xB8,
|
|
||||||
0x01, 0xA6, 0x8A, 0x5E, 0x39, 0x5E, 0x91, 0xC9, 0xF1, 0x22, 0x05, 0xA7, 0x0A, 0x19, 0xF0, 0xAB,
|
|
||||||
0x1C, 0x1D, 0xD5, 0x62, 0x21, 0x02, 0x81, 0x8D, 0x8D, 0x97, 0x51, 0x04, 0xD6, 0x74, 0x0D, 0xF5,
|
|
||||||
0x24, 0xC7, 0x81, 0x22, 0x0A, 0xA6, 0x61, 0x0E, 0x01, 0x61, 0x39, 0x43, 0x98, 0xBD, 0x0D, 0xE7,
|
|
||||||
0xA0, 0x60, 0xC1, 0x49, 0x7C, 0x1D, 0xA6, 0x49, 0x8C, 0x35, 0x91, 0x62, 0xB2, 0xAF, 0x3A, 0x88,
|
|
||||||
0x20, 0x34, 0x64, 0x5E, 0xF3, 0x92, 0x0A, 0x38, 0x78, 0xBF, 0x0A, 0xE6, 0x82, 0x85, 0xC6, 0x0C,
|
|
||||||
0xFF, 0x14, 0x2F, 0xE4, 0xB7, 0x74, 0x78, 0xDA, 0xC4, 0xA0, 0x75, 0xB1, 0x28, 0x00, 0x9A, 0xFE,
|
|
||||||
0x77, 0x7F, 0xEE, 0x87, 0x58, 0xAF, 0x88, 0x13, 0x2C, 0xB5, 0x82, 0x9D, 0x12, 0x3D, 0x78, 0x4B,
|
|
||||||
0x93, 0x20, 0xC3, 0xC5, 0x2C, 0x01, 0x24, 0x2C, 0x8A, 0x94, 0x9E, 0x10, 0xAF, 0x60, 0x67, 0x4D,
|
|
||||||
0x3A, 0xF7, 0x90, 0x2D, 0xE3, 0x24, 0xF9, 0xAE, 0x36, 0xF8, 0x61, 0x8A, 0xD5, 0x33, 0x08, 0x0D,
|
|
||||||
0x65, 0x03, 0x9F, 0x81, 0xD2, 0x07, 0xE1, 0x74, 0xCA, 0x30, 0x8E, 0x10, 0xED, 0x72, 0x7E, 0x16,
|
|
||||||
0x5C, 0x42, 0xD0, 0xC1, 0x30, 0xA4, 0x6E, 0xCE, 0xB3, 0x29, 0x8F, 0x27, 0x59, 0x28, 0x67, 0x9B,
|
|
||||||
0x87, 0x93, 0x34, 0xC9, 0x92, 0x29, 0xA7, 0xEF, 0x6F, 0x18, 0xE9, 0xEA, 0x2F, 0x3E, 0x80, 0x33,
|
|
||||||
0xCA, 0x6B, 0x61, 0x86, 0x08, 0x62, 0x9E, 0x39, 0x85, 0xD9, 0xE5, 0x60, 0x76, 0x21, 0x8A, 0xCE,
|
|
||||||
0x0D, 0x2E, 0x07, 0x83, 0x0B, 0xA3, 0x2C, 0xE7, 0xD9, 0xA8, 0xA8, 0x2B, 0x45, 0x89, 0x28, 0xD9,
|
|
||||||
0x35, 0x67, 0x49, 0xC6, 0x9B, 0xA1, 0x8C, 0xF6, 0xD8, 0x57, 0xFE, 0xCD, 0xC8, 0xF1, 0xD9, 0xC3,
|
|
||||||
0x1C, 0xF1, 0x5A, 0xCD, 0x49, 0xEE, 0x17, 0x05, 0x50, 0x38, 0x5D, 0xBC, 0xA5, 0x1A, 0x64, 0x86,
|
|
||||||
0x23, 0xFD, 0x90, 0xF4, 0xFF, 0xB9, 0xF8, 0xC3, 0x23, 0x2C, 0xCE, 0x0C, 0xB7, 0xAB, 0x2A, 0x4A,
|
|
||||||
0x21, 0xED, 0x52, 0x7C, 0x89, 0x27, 0xF3, 0x10, 0x0F, 0x42, 0x24, 0x8F, 0x63, 0x45, 0xF1, 0x5E,
|
|
||||||
0x29, 0xEA, 0x70, 0x43, 0x74, 0x8A, 0xAA, 0xA6, 0xD2, 0xA1, 0x46, 0xB4, 0x66, 0xFC, 0x70, 0x21,
|
|
||||||
0x2A, 0xAE, 0x14, 0xA2, 0xEA, 0x54, 0x89, 0x8A, 0x65, 0x9A, 0xF0, 0x7C, 0x4B, 0xBE, 0xF1, 0xDF,
|
|
||||||
0xE7, 0xEF, 0xDF, 0x41, 0xF0, 0x91, 0x42, 0x92, 0x12, 0x57, 0x0B, 0x52, 0xC6, 0xA0, 0x65, 0x3B,
|
|
||||||
0xCA, 0x60, 0xBC, 0x3E, 0x34, 0xA8, 0x4F, 0x44, 0xFD, 0x10, 0xD8, 0x7C, 0x59, 0xCF, 0xBB, 0x0C,
|
|
||||||
0xF3, 0xF5, 0x97, 0x13, 0xAC, 0x6C, 0x82, 0x58, 0x1B, 0xF7, 0x48, 0x65, 0x59, 0xC7, 0x0A, 0xA9,
|
|
||||||
0x22, 0x15, 0xCB, 0x8A, 0x54, 0x95, 0xDF, 0xE2, 0x1C, 0x44, 0x0A, 0x7A, 0x69, 0x61, 0xF2, 0x73,
|
|
||||||
0x18, 0x43, 0x98, 0x59, 0x94, 0x0B, 0x1B, 0x23, 0x94, 0xBC, 0xC0, 0x27, 0x20, 0xAB, 0x87, 0xCA,
|
|
||||||
0x45, 0x51, 0x4B, 0x9C, 0xB0, 0xE4, 0x0C, 0x97, 0x86, 0x29, 0xBD, 0x04, 0x00, 0x51, 0xE2, 0x2C,
|
|
||||||
0x8F, 0x3A, 0xE4, 0xB1, 0x47, 0xC4, 0xF4, 0xA1, 0x10, 0x2D, 0xDC, 0xEB, 0xD7, 0x49, 0x3A, 0x7F,
|
|
||||||
0xE5, 0x73, 0x7F, 0xC8, 0x51, 0x45, 0x90, 0x66, 0x61, 0xD6, 0xD4, 0x54, 0xA1, 0x8C, 0x02, 0x62,
|
|
||||||
0x10, 0xC7, 0xB8, 0x14, 0xC7, 0x18, 0xC4, 0x51, 0x66, 0x1D, 0xEC, 0x6B, 0xFC, 0x0D, 0x9C, 0x8D,
|
|
||||||
0x9A, 0x6C, 0x86, 0xD2, 0x59, 0x9C, 0xEB, 0x25, 0xF2, 0xC4, 0x0C, 0x45, 0x64, 0x60, 0x96, 0xF3,
|
|
||||||
0x95, 0xE7, 0x4E, 0xC0, 0xBC, 0x4D, 0x04, 0xC6, 0x7D, 0xBD, 0x52, 0x0F, 0xDF, 0x22, 0xA2, 0x86,
|
|
||||||
0xDC, 0x80, 0x0F, 0xEF, 0xCF, 0xA9, 0x92, 0x48, 0xF8, 0x74, 0xDA, 0x88, 0xCA, 0xD0, 0xA6, 0x7C,
|
|
||||||
0x80, 0x93, 0x3E, 0xB9, 0x86, 0x59, 0xDE, 0x82, 0x65, 0x67, 0x20, 0xBB, 0xC8, 0x31, 0x71, 0x70,
|
|
||||||
0xA4, 0x9B, 0x65, 0x56, 0x41, 0x35, 0xD8, 0x7C, 0xAD, 0xA0, 0x2A, 0x8B, 0x25, 0x15, 0xBF, 0xF2,
|
|
||||||
0x7C, 0x15, 0x45, 0xC2, 0x0F, 0x58, 0x70, 0x28, 0x53, 0xCC, 0xFF, 0x82, 0xCC, 0x6F, 0xA8, 0xF2,
|
|
||||||
0x5F, 0x6C, 0x50, 0xEE, 0x2C, 0x1E, 0xDA, 0x3E, 0x0D, 0xF7, 0xAF, 0x81, 0x59, 0xF4, 0x6B, 0xFC,
|
|
||||||
0xA3, 0xAD, 0xBA, 0x6D, 0x60, 0x16, 0x78, 0x7F, 0x6F, 0x52, 0x54, 0x5A, 0x56, 0xCE, 0x9D, 0xB5,
|
|
||||||
0x25, 0x25, 0x31, 0x35, 0x2B, 0x4A, 0x41, 0x2A, 0x30, 0xAA, 0x42, 0x49, 0x91, 0xAE, 0x3F, 0x82,
|
|
||||||
0x96, 0x87, 0x84, 0x48, 0x1E, 0x98, 0x99, 0xDB, 0xE4, 0x37, 0x2F, 0xB4, 0x9A, 0xFB, 0x15, 0xAF,
|
|
||||||
0x4A, 0x5B, 0x55, 0x09, 0x8D, 0x81, 0x68, 0x96, 0xFA, 0x75, 0xBF, 0xB6, 0x5C, 0x52, 0x2B, 0x6E,
|
|
||||||
0x28, 0x95, 0x5C, 0xF5, 0xFE, 0xCD, 0x1D, 0xE8, 0xAF, 0xA0, 0x6B, 0xF7, 0x1D, 0x1C, 0xA3, 0x29,
|
|
||||||
0xEF, 0xDE, 0x80, 0xB5, 0x90, 0xF5, 0x62, 0xE5, 0xA6, 0x0C, 0xAC, 0x98, 0xC0, 0x3E, 0x25, 0x8B,
|
|
||||||
0xD1, 0xEE, 0xDE, 0x37, 0x14, 0xC3, 0x2A, 0xDA, 0x0D, 0x71, 0xDF, 0xBB, 0xE5, 0x7C, 0x0C, 0xA2,
|
|
||||||
0x44, 0xB6, 0xB4, 0xD4, 0x17, 0x14, 0x0E, 0x19, 0x1C, 0x83, 0xB3, 0x94, 0xC2, 0x74, 0xC4, 0x87,
|
|
||||||
0x06, 0x98, 0x51, 0x5B, 0x6F, 0xC4, 0x79, 0x89, 0x35, 0x2E, 0x71, 0x41, 0xFA, 0xF3, 0xE1, 0x25,
|
|
||||||
0x06, 0x44, 0x85, 0xA9, 0x40, 0x89, 0x07, 0x25, 0x65, 0x45, 0x3D, 0x16, 0x0F, 0x13, 0x5E, 0x83,
|
|
||||||
0xE7, 0xFD, 0x07, 0xC3, 0x70, 0xA3, 0xA1, 0x5B, 0x7A, 0x43, 0xA1, 0x00, 0x7B, 0xCF, 0x80, 0xE2,
|
|
||||||
0x19, 0x74, 0x41, 0x90, 0xBB, 0xB5, 0x1F, 0xD1, 0xD5, 0x8D, 0x1D, 0x9D, 0x6F, 0x92, 0x65, 0x9A,
|
|
||||||
0xED, 0xEC, 0x3D, 0x0B, 0xE3, 0x25, 0x67, 0xBB, 0xFB, 0xCF, 0x19, 0xB0, 0x2B, 0x10, 0xFD, 0xE5,
|
|
||||||
0xAA, 0xDE, 0x84, 0x01, 0x7B, 0x01, 0x7B, 0x04, 0xFA, 0x53, 0x9C, 0x26, 0xD9, 0x9B, 0xA7, 0x49,
|
|
||||||
0x07, 0x07, 0xC5, 0x31, 0x58, 0x73, 0x12, 0x25, 0x58, 0x4A, 0x32, 0x0B, 0x57, 0x47, 0x7F, 0x21,
|
|
||||||
0x35, 0xAA, 0x7E, 0x36, 0xF4, 0x3A, 0x08, 0x9B, 0x8C, 0x0E, 0x58, 0x60, 0xEC, 0x8A, 0x22, 0x99,
|
|
||||||
0x6C, 0x57, 0xEE, 0x1A, 0x19, 0x6B, 0xA7, 0x40, 0xE2, 0xD0, 0x27, 0x87, 0xCB, 0x8F, 0xE5, 0xF7,
|
|
||||||
0x42, 0xE5, 0x17, 0xEF, 0xB6, 0x03, 0x95, 0xAB, 0x2F, 0xFC, 0xC5, 0x5D, 0xCE, 0x07, 0xFD, 0xB5,
|
|
||||||
0x0F, 0xBA, 0x11, 0x60, 0x00, 0x5A, 0x9E, 0xBC, 0xE1, 0xDF, 0x75, 0x41, 0xC2, 0xF3, 0xFA, 0xCB,
|
|
||||||
0x33, 0xB5, 0x16, 0xF7, 0xFA, 0xCB, 0xFB, 0xEF, 0xF5, 0xDC, 0x0D, 0xEC, 0x72, 0xB9, 0x2C, 0x78,
|
|
||||||
0x90, 0x26, 0x79, 0x98, 0x55, 0x1E, 0x10, 0x16, 0x1A, 0xB0, 0x8F, 0x29, 0x62, 0x94, 0x51, 0x1E,
|
|
||||||
0x32, 0x96, 0xA3, 0x76, 0xB2, 0x48, 0x8E, 0x29, 0x97, 0x70, 0x0A, 0xDA, 0xF8, 0xF9, 0xB4, 0xBE,
|
|
||||||
0x27, 0xCA, 0x60, 0xA3, 0xDD, 0x27, 0x40, 0xFA, 0x57, 0x88, 0xD1, 0x7B, 0xB6, 0xFD, 0x0D, 0xB3,
|
|
||||||
0x07, 0xE8, 0x51, 0x34, 0xC4, 0x18, 0xEE, 0x38, 0xC0, 0xDC, 0x3C, 0x25, 0x7D, 0x28, 0x98, 0x00,
|
|
||||||
0x6B, 0xBF, 0x16, 0x4F, 0xE4, 0xFA, 0x27, 0xAA, 0x92, 0x95, 0xD0, 0x22, 0xF7, 0x02, 0xBB, 0xC3,
|
|
||||||
0x89, 0xE1, 0x75, 0x12, 0x06, 0x1A, 0x9A, 0x62, 0xDE, 0x7C, 0xFD, 0xE5, 0xEF, 0x2C, 0xCD, 0x60,
|
|
||||||
0x9A, 0x9F, 0x3F, 0x95, 0xD6, 0x37, 0x10, 0xB0, 0x89, 0xE2, 0x83, 0xD2, 0xF8, 0x85, 0x8D, 0xC5,
|
|
||||||
0x79, 0xD9, 0x7A, 0xEB, 0x39, 0xE9, 0x09, 0xC6, 0xA1, 0xDB, 0x7B, 0x4E, 0x3F, 0xAC, 0xB7, 0xBF,
|
|
||||||
0x54, 0x19, 0x52, 0xE9, 0x2C, 0xEF, 0xD0, 0x55, 0x9A, 0x5F, 0x54, 0x78, 0xF6, 0x1C, 0x16, 0x6E,
|
|
||||||
0x0F, 0x8A, 0xBD, 0xCE, 0xAF, 0xC4, 0x56, 0x84, 0xEF, 0x1A, 0x5D, 0x56, 0xB1, 0x3A, 0x53, 0x7F,
|
|
||||||
0x87, 0x62, 0xFF, 0xAC, 0x32, 0x03, 0x88, 0x8B, 0x7A, 0x24, 0x0D, 0x3E, 0x19, 0x12, 0x89, 0x0C,
|
|
||||||
0xAD, 0x72, 0x40, 0x90, 0xC5, 0x82, 0x01, 0x50, 0x39, 0xC8, 0x06, 0xB8, 0xE2, 0x88, 0x18, 0x80,
|
|
||||||
0xC2, 0xD7, 0xE1, 0x19, 0xBC, 0xAE, 0x9F, 0x67, 0xAF, 0x71, 0xA6, 0x7A, 0xBA, 0x5D, 0x61, 0x8E,
|
|
||||||
0xA9, 0x9F, 0x83, 0x9C, 0xCC, 0x20, 0xDD, 0x48, 0x20, 0x5C, 0x7F, 0xB6, 0x85, 0x43, 0x30, 0xFF,
|
|
||||||
0xAE, 0xC3, 0x70, 0x20, 0x66, 0x7B, 0xD2, 0xF2, 0x5C, 0x70, 0x27, 0xBF, 0xBB, 0x5B, 0xE1, 0xCD,
|
|
||||||
0x29, 0xD7, 0x32, 0xC6, 0xE6, 0x99, 0x76, 0x9B, 0x2C, 0x35, 0xBC, 0xBB, 0x13, 0xC6, 0x5A, 0x24,
|
|
||||||
0x70, 0x68, 0xAC, 0x44, 0x62, 0xE2, 0x2D, 0x84, 0x3C, 0x85, 0xC5, 0x38, 0x46, 0xF3, 0xB5, 0x71,
|
|
||||||
0x9A, 0xAC, 0x32, 0x96, 0x6A, 0x4B, 0xCC, 0x6F, 0x8F, 0x7E, 0x81, 0x14, 0xBA, 0xA1, 0xAE, 0x0C,
|
|
||||||
0x72, 0x6D, 0x18, 0x03, 0x96, 0x03, 0x14, 0x41, 0xF3, 0xA3, 0x48, 0x9B, 0x42, 0xBA, 0xB5, 0x04,
|
|
||||||
0xE9, 0xD3, 0x56, 0x49, 0xFA, 0x1D, 0x2F, 0x0C, 0x0D, 0xF6, 0xD0, 0xA5, 0x9B, 0xC2, 0xA0, 0x98,
|
|
||||||
0x64, 0x72, 0x05, 0x7F, 0x36, 0xAD, 0x6C, 0x29, 0x9E, 0x15, 0x83, 0xB1, 0xF3, 0xE8, 0x60, 0x6D,
|
|
||||||
0x57, 0xD7, 0x44, 0xA9, 0xBE, 0xAE, 0x8E, 0xB6, 0x34, 0x56, 0xE5, 0xC5, 0xFC, 0x7D, 0x01, 0xAB,
|
|
||||||
0x31, 0x78, 0x0C, 0xB4, 0x8C, 0x4C, 0x8C, 0x7B, 0x16, 0x01, 0x2B, 0xB7, 0x05, 0xF3, 0x28, 0x57,
|
|
||||||
0xE6, 0xD6, 0x88, 0xDE, 0x18, 0x82, 0xFC, 0x15, 0x56, 0xFA, 0x7E, 0x2D, 0xA8, 0x67, 0x3B, 0x82,
|
|
||||||
0xFA, 0x1D, 0x07, 0xDD, 0x22, 0x72, 0x5C, 0x3F, 0x99, 0x1F, 0xD5, 0xD7, 0xBE, 0xAB, 0x9F, 0x90,
|
|
||||||
0x14, 0xC6, 0xC0, 0x1D, 0x18, 0x67, 0xC8, 0x7A, 0x3A, 0x5E, 0x75, 0x37, 0x94, 0x54, 0x90, 0x4E,
|
|
||||||
0x48, 0x30, 0x00, 0x5F, 0x1B, 0xA8, 0x44, 0xE3, 0xBC, 0xB1, 0x86, 0x15, 0xC2, 0xF2, 0xE1, 0xB6,
|
|
||||||
0x38, 0x46, 0xAD, 0x66, 0xA8, 0x11, 0x94, 0x12, 0x58, 0x55, 0xC4, 0xE3, 0xEE, 0x51, 0x9E, 0xBA,
|
|
||||||
0x5E, 0x34, 0x8D, 0xB6, 0xAB, 0xD2, 0x73, 0xB4, 0xFC, 0x85, 0x56, 0xD6, 0xF5, 0x15, 0xFE, 0x1D,
|
|
||||||
0xD5, 0xBA, 0x70, 0x0F, 0xD4, 0x06, 0x54, 0xEB, 0x86, 0x7E, 0xB8, 0x82, 0xD0, 0xFC, 0xAB, 0xEE,
|
|
||||||
0xA7, 0xC1, 0x32, 0x8C, 0x13, 0xFD, 0x9B, 0x31, 0xF8, 0x5D, 0x88, 0x2A, 0x28, 0x8C, 0xE6, 0x38,
|
|
||||||
0x8C, 0xFD, 0xF4, 0xF6, 0x13, 0x5D, 0xED, 0xF1, 0xD3, 0xD4, 0xBF, 0x1D, 0x2F, 0x31, 0xA5, 0xD7,
|
|
||||||
0xCD, 0x72, 0x65, 0x60, 0x2E, 0x40, 0x0C, 0x46, 0x6A, 0x56, 0xA0, 0xCA, 0x8F, 0xFE, 0xE5, 0x5C,
|
|
||||||
0xB8, 0xC6, 0xF5, 0x3B, 0x31, 0xF6, 0x7D, 0x05, 0x09, 0x31, 0xA8, 0x82, 0x65, 0xEB, 0x3D, 0x9A,
|
|
||||||
0x0A, 0xEA, 0xFF, 0x23, 0xDC, 0x32, 0x58, 0xFA, 0xF9, 0x33, 0x63, 0x1C, 0x5D, 0x1E, 0x6C, 0x6B,
|
|
||||||
0x5D, 0xD9, 0x19, 0xD3, 0x63, 0x9E, 0x51, 0x9D, 0x8B, 0xEE, 0xDC, 0xEC, 0xA5, 0x18, 0xEB, 0x3D,
|
|
||||||
0x95, 0x21, 0xF9, 0xAD, 0x1D, 0x75, 0x50, 0x2E, 0x73, 0x43, 0xCA, 0x82, 0x40, 0xB0, 0x7D, 0x30,
|
|
||||||
0x60, 0x30, 0x73, 0x3C, 0x61, 0xC9, 0x54, 0x7B, 0x81, 0xEC, 0xFA, 0x85, 0xD8, 0xA5, 0x86, 0xBB,
|
|
||||||
0xB8, 0x2B, 0x9F, 0xC3, 0x98, 0xF7, 0xA8, 0x5F, 0x8E, 0x03, 0xE3, 0x09, 0x62, 0x1B, 0x1E, 0xE5,
|
|
||||||
0xE1, 0xEF, 0x30, 0x14, 0x92, 0x2A, 0xE2, 0xE2, 0xE6, 0x34, 0x4D, 0xE6, 0x2F, 0x67, 0x7E, 0xFA,
|
|
||||||
0x12, 0xEC, 0x7B, 0x3D, 0xFE, 0x1A, 0x7E, 0x33, 0x4C, 0x07, 0xF2, 0x5F, 0x7C, 0x3B, 0x38, 0x70,
|
|
||||||
0x3C, 0xF1, 0xF6, 0xF3, 0x67, 0x7D, 0xBB, 0xB2, 0xD1, 0x4D, 0xA0, 0xC6, 0x88, 0x43, 0x92, 0x34,
|
|
||||||
0xCA, 0x6F, 0x05, 0x19, 0xC3, 0xBC, 0x95, 0x4C, 0xC1, 0x9D, 0x38, 0xD7, 0xA9, 0x63, 0xCE, 0x46,
|
|
||||||
0xF4, 0xE4, 0x57, 0x3A, 0x06, 0x00, 0xE9, 0x1E, 0x8D, 0x12, 0x49, 0x17, 0x38, 0x80, 0xFC, 0x90,
|
|
||||||
0xEB, 0xF4, 0x95, 0x3E, 0x1A, 0x25, 0x5F, 0x6D, 0xA0, 0xA0, 0x9E, 0xDF, 0x83, 0x4A, 0xBE, 0x3A,
|
|
||||||
0xDF, 0xAA, 0x3B, 0x74, 0xFA, 0x4A, 0xC3, 0xE8, 0x97, 0xBA, 0x0D, 0xB0, 0x80, 0xE2, 0x3F, 0x15,
|
|
||||||
0xA5, 0x8C, 0x95, 0x7D, 0xCF, 0x68, 0xEC, 0xC1, 0x41, 0x11, 0xFB, 0x6D, 0xB8, 0x06, 0x19, 0xBF,
|
|
||||||
0x6A, 0xC8, 0x0B, 0xCD, 0x8F, 0x13, 0x30, 0x96, 0xA9, 0x96, 0x57, 0x76, 0x4C, 0x04, 0x4B, 0x09,
|
|
||||||
0x2E, 0x4E, 0x56, 0x9A, 0x1A, 0xEE, 0xA2, 0xDD, 0x3D, 0xF9, 0xF8, 0xF1, 0xFD, 0xC7, 0x92, 0xDC,
|
|
||||||
0xCD, 0xBB, 0x58, 0xC9, 0x57, 0xF7, 0xDB, 0xFA, 0x6D, 0xAC, 0x8D, 0xC5, 0x20, 0x50, 0x43, 0xD7,
|
|
||||||
0xB0, 0x13, 0xD4, 0x06, 0xBB, 0x0D, 0xB3, 0x92, 0x89, 0xAD, 0x25, 0x62, 0xFE, 0x18, 0xCF, 0xE0,
|
|
||||||
0xB0, 0xFE, 0xA1, 0x98, 0x8C, 0xCA, 0x80, 0x3B, 0x2C, 0x62, 0x54, 0x66, 0x05, 0x37, 0x10, 0x31,
|
|
||||||
0x18, 0x25, 0x2F, 0x80, 0x6A, 0x53, 0x0A, 0x81, 0xEB, 0x10, 0xEA, 0x55, 0xC0, 0x1A, 0x60, 0xEF,
|
|
||||||
0x35, 0xB5, 0x51, 0x2E, 0xC4, 0xD8, 0xB8, 0x52, 0x66, 0x0C, 0xB6, 0x21, 0x84, 0xE0, 0xD9, 0x04,
|
|
||||||
0xDB, 0x5F, 0x26, 0xCD, 0xFF, 0xBA, 0xBC, 0x77, 0xA7, 0x7B, 0x34, 0x06, 0x45, 0x9D, 0x2E, 0x65,
|
|
||||||
0x38, 0x9D, 0xEA, 0x46, 0xD4, 0x5B, 0xB2, 0xE8, 0x3A, 0x36, 0x8A, 0xBA, 0x6B, 0xD7, 0x7F, 0xB5,
|
|
||||||
0xE7, 0x80, 0xB0, 0x5A, 0x46, 0x5A, 0x3D, 0xB2, 0x88, 0x84, 0xD7, 0x73, 0x1F, 0xB1, 0x3A, 0x05,
|
|
||||||
0xDD, 0x43, 0xB0, 0x78, 0xAF, 0x76, 0x9F, 0xEF, 0xAE, 0x80, 0x55, 0xC2, 0x90, 0x1D, 0x09, 0xCD,
|
|
||||||
0x87, 0xF2, 0xF6, 0xED, 0xE3, 0xD2, 0xAC, 0x27, 0x66, 0x76, 0xE2, 0xDE, 0xF0, 0xDE, 0xFA, 0x58,
|
|
||||||
0xE9, 0x73, 0xD5, 0x1A, 0x99, 0xF9, 0x60, 0xF9, 0x4B, 0x07, 0x17, 0xF4, 0xB4, 0xB2, 0x97, 0xA8,
|
|
||||||
0x7A, 0x95, 0xE3, 0x8C, 0xFB, 0xCA, 0x2D, 0xC9, 0x27, 0x97, 0xBE, 0x44, 0xF8, 0x0C, 0xEB, 0xFB,
|
|
||||||
0xB7, 0x56, 0xBF, 0x88, 0xBF, 0xD5, 0xFA, 0xD7, 0xC6, 0xFE, 0x3F, 0xAE, 0xF2, 0xF5, 0x50, 0xB1,
|
|
||||||
0x2B, 0xCF, 0xCB, 0xB6, 0xD6, 0xBB, 0xD6, 0xA4, 0x7E, 0xAB, 0xBA, 0x6F, 0xD0, 0x55, 0x5E, 0x04,
|
|
||||||
0x6F, 0x2A, 0x25, 0xD5, 0xFC, 0xCA, 0xF7, 0x23, 0x24, 0xFD, 0x91, 0x3A, 0x56, 0x01, 0xCB, 0xFF,
|
|
||||||
0x80, 0x61, 0x71, 0xB3, 0x4D, 0x05, 0x0B, 0xF3, 0xF2, 0x74, 0xED, 0xDC, 0x84, 0x55, 0xA6, 0x92,
|
|
||||||
0x37, 0x40, 0x1F, 0x57, 0x99, 0xA3, 0xE3, 0x0A, 0x87, 0x8E, 0xCE, 0xF3, 0x7B, 0x9E, 0x7A, 0xAB,
|
|
||||||
0xFA, 0xA9, 0xF6, 0xFE, 0xFC, 0x59, 0xF5, 0x1E, 0xBA, 0xAB, 0x97, 0x57, 0x44, 0x8D, 0xAA, 0xD9,
|
|
||||||
0x9E, 0x60, 0x50, 0x21, 0x0C, 0xF7, 0x90, 0x62, 0x77, 0x9C, 0xCA, 0x53, 0xE1, 0x85, 0xD4, 0x91,
|
|
||||||
0x02, 0x56, 0x85, 0x0C, 0xEF, 0xDC, 0xB4, 0x6C, 0xF0, 0xFD, 0x10, 0x1E, 0xD1, 0x1F, 0xF3, 0x03,
|
|
||||||
0xAF, 0xEA, 0x8A, 0x7C, 0xC4, 0x8D, 0x91, 0x63, 0x6E, 0x93, 0xCB, 0x78, 0x63, 0x63, 0x4B, 0x19,
|
|
||||||
0x68, 0x39, 0x56, 0x6C, 0xB6, 0xEC, 0x23, 0x4C, 0x09, 0x27, 0x60, 0x8D, 0xD2, 0x02, 0x33, 0xC7,
|
|
||||||
0x80, 0x6C, 0xCD, 0x8E, 0x43, 0x2C, 0xE5, 0x60, 0x10, 0x46, 0x94, 0x57, 0x8B, 0x97, 0x5B, 0x9A,
|
|
||||||
0x76, 0xD5, 0x33, 0x4B, 0x6F, 0x80, 0xA9, 0xCA, 0x9D, 0x92, 0xEF, 0xD0, 0x5F, 0x0C, 0xEC, 0x28,
|
|
||||||
0xB1, 0x28, 0xE7, 0x0B, 0x78, 0xE3, 0xFC, 0xE1, 0x61, 0x64, 0x08, 0x87, 0xAA, 0xEB, 0x88, 0x4A,
|
|
||||||
0xDD, 0x90, 0x47, 0x75, 0xC0, 0x4D, 0xD9, 0xB5, 0xD8, 0xE8, 0xC2, 0x1B, 0xB0, 0x84, 0xFE, 0xF9,
|
|
||||||
0xE7, 0xF3, 0x93, 0x8F, 0x6A, 0x95, 0x06, 0x6D, 0x04, 0x20, 0x8F, 0x31, 0x83, 0x69, 0xE8, 0x07,
|
|
||||||
0x1F, 0x5E, 0x9C, 0x9F, 0x7F, 0x79, 0xFF, 0xF1, 0xD5, 0x76, 0x10, 0x8E, 0x20, 0xE7, 0x9F, 0x7F,
|
|
||||||
0x39, 0x3B, 0xFD, 0x34, 0xBA, 0xC5, 0x5A, 0x7D, 0xB8, 0xED, 0x1E, 0x72, 0xF8, 0xF0, 0xF1, 0x4F,
|
|
||||||
0xB8, 0x71, 0xFC, 0xF3, 0x0C, 0xDA, 0x64, 0xD2, 0x47, 0x29, 0x60, 0x58, 0x4D, 0x01, 0x8B, 0x1C,
|
|
||||||
0xAF, 0x12, 0xFD, 0x84, 0x45, 0x1E, 0x38, 0xC8, 0x4B, 0x55, 0xB0, 0x55, 0xA1, 0x9A, 0x03, 0xC6,
|
|
||||||
0x64, 0x51, 0xC3, 0x3C, 0x07, 0x5C, 0x85, 0x71, 0x90, 0xAC, 0xB6, 0x58, 0xA4, 0x7C, 0xFC, 0xFD,
|
|
||||||
0xF0, 0xE8, 0x50, 0xDE, 0xEE, 0x3F, 0x3A, 0x94, 0x7F, 0x54, 0x44, 0xFF, 0xAD, 0xFB, 0xFF, 0x07,
|
|
||||||
0x65, 0xE6, 0x36, 0x6D, 0xF2, 0x5E, 0x00, 0x00
|
|
||||||
};
|
|
||||||
#endif //__embedded_h
|
|
@ -1,125 +0,0 @@
|
|||||||
var gulp = require('gulp'),
|
|
||||||
jshint = require('gulp-jshint'),
|
|
||||||
gulpif = require('gulp-if'),
|
|
||||||
concat = require('gulp-concat'),
|
|
||||||
uglify = require('gulp-uglify'),
|
|
||||||
cleanCSS = require('gulp-clean-css'),
|
|
||||||
removeCode = require('gulp-remove-code'),
|
|
||||||
merge = require('merge-stream'),
|
|
||||||
del = require('del'),
|
|
||||||
zip = require('gulp-zip'),
|
|
||||||
gzip = require('gulp-gzip'),
|
|
||||||
htmlmin = require('gulp-htmlmin'),
|
|
||||||
replace = require('gulp-replace'),
|
|
||||||
fs = require('fs'),
|
|
||||||
smoosher = require('gulp-smoosher');
|
|
||||||
|
|
||||||
var demoMode = false;
|
|
||||||
var testMode = false;
|
|
||||||
|
|
||||||
function clean() {
|
|
||||||
return del(['dist']);
|
|
||||||
}
|
|
||||||
|
|
||||||
function clean2() {
|
|
||||||
return del(['dist/js', 'dist/css']);
|
|
||||||
}
|
|
||||||
function lint() {
|
|
||||||
return gulp.src('www/js/**/script.js')
|
|
||||||
.pipe(jshint())
|
|
||||||
.pipe(jshint.reporter('default'));
|
|
||||||
}
|
|
||||||
|
|
||||||
function Copytest() {
|
|
||||||
return merge(
|
|
||||||
gulp.src(['www/tool.html'])
|
|
||||||
.pipe(removeCode({production: false}))
|
|
||||||
.pipe(gulp.dest('dist')),
|
|
||||||
gulp.src(['www/images/**/*.*'])
|
|
||||||
.pipe(gulp.dest('dist/images'))
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
function Copy() {
|
|
||||||
return merge(
|
|
||||||
gulp.src(['www/tool.html'])
|
|
||||||
.pipe(removeCode({production: true}))
|
|
||||||
.pipe(gulp.dest('dist')),
|
|
||||||
gulp.src(['www/images/**/*.*'])
|
|
||||||
.pipe(gulp.dest('dist/images'))
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
function concatApptest() {
|
|
||||||
return merge(
|
|
||||||
gulp.src([ 'www/js/**/*.js'])
|
|
||||||
.pipe(concat('script.js'))
|
|
||||||
.pipe(removeCode({production: false}))
|
|
||||||
.pipe(gulp.dest('./dist/js')),
|
|
||||||
|
|
||||||
gulp.src([ 'www/css/**/*.css'])
|
|
||||||
.pipe(concat('style.css'))
|
|
||||||
.pipe(gulp.dest('./dist/css/'))
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
function concatApp() {
|
|
||||||
return merge(
|
|
||||||
gulp.src([ 'www/js/**/*.js'])
|
|
||||||
.pipe(concat('script.js'))
|
|
||||||
.pipe(removeCode({production: true}))
|
|
||||||
.pipe(gulp.dest('./dist/js')),
|
|
||||||
|
|
||||||
gulp.src([ 'www/css/**/*.css'])
|
|
||||||
.pipe(concat('style.css'))
|
|
||||||
.pipe(gulp.dest('./dist/css/'))
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
function minifyApp() {
|
|
||||||
return merge(
|
|
||||||
gulp.src(['dist/js/script.js'])
|
|
||||||
.pipe(uglify({mangle: true}))
|
|
||||||
.pipe(gulp.dest('./dist/js/')),
|
|
||||||
|
|
||||||
gulp.src('dist/css/style.css')
|
|
||||||
.pipe(cleanCSS({debug: true}, function(details) {
|
|
||||||
console.log(details.name + ': ' + details.stats.originalSize);
|
|
||||||
console.log(details.name + ': ' + details.stats.minifiedSize);
|
|
||||||
}))
|
|
||||||
.pipe(gulp.dest('./dist/css/')),
|
|
||||||
|
|
||||||
gulp.src('dist/tool.html')
|
|
||||||
.pipe(htmlmin({collapseWhitespace: true, minifyCSS: true}))
|
|
||||||
.pipe(gulp.dest('dist'))
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
function smoosh() {
|
|
||||||
return gulp.src('dist/tool.html')
|
|
||||||
.pipe(smoosher())
|
|
||||||
.pipe(gulp.dest('dist'))
|
|
||||||
}
|
|
||||||
|
|
||||||
function compress() {
|
|
||||||
return gulp.src('dist/tool.html')
|
|
||||||
.pipe(gzip())
|
|
||||||
.pipe(gulp.dest('.'));
|
|
||||||
}
|
|
||||||
|
|
||||||
gulp.task(clean);
|
|
||||||
gulp.task(lint);
|
|
||||||
gulp.task(Copy);
|
|
||||||
gulp.task(Copytest);
|
|
||||||
gulp.task(concatApp);
|
|
||||||
gulp.task(concatApptest);
|
|
||||||
gulp.task(minifyApp);
|
|
||||||
gulp.task(smoosh);
|
|
||||||
gulp.task(clean2);
|
|
||||||
|
|
||||||
var defaultSeries = gulp.series(clean, lint, Copy, concatApp, smoosh);
|
|
||||||
var packageSeries = gulp.series(clean, lint, Copy, concatApp,minifyApp, smoosh, compress, clean2);
|
|
||||||
|
|
||||||
gulp.task('default', defaultSeries);
|
|
||||||
gulp.task('package', packageSeries);
|
|
||||||
|
|
9292
embedded/package-lock.json
generated
9292
embedded/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -1,30 +1,43 @@
|
|||||||
{
|
{
|
||||||
"name": "embedded4ESP3D",
|
"name": "base",
|
||||||
"description": "Embedded files for ESP3D",
|
"version": "1.0.0",
|
||||||
"devDependencies": {
|
"description": "base for webpack project",
|
||||||
"del": "latest",
|
"main": "index.js",
|
||||||
"deprecated": "latest",
|
"scripts": {
|
||||||
"fs": "latest",
|
"test": "echo \"Error: no test specified\" && exit 1",
|
||||||
"gulp": "^4.0.2",
|
"front": "webpack serve --config config/webpack.dev.js ",
|
||||||
"gulp-bytediff": "latest",
|
"pack": "webpack --config config/webpack.prod.js",
|
||||||
"gulp-cdnizer": "latest",
|
"convert": "npx ./config/buildheader.js",
|
||||||
"gulp-clean-css": "latest",
|
"server": "nodemon config/server.js",
|
||||||
"gulp-concat": "latest",
|
"dev": "concurrently \"npm run server\" \"npm run front\"",
|
||||||
"gulp-gzip": "latest",
|
"build": "npm run pack && npm run convert"
|
||||||
"gulp-htmlmin": "latest",
|
|
||||||
"gulp-if": "latest",
|
|
||||||
"gulp-jshint": "latest",
|
|
||||||
"gulp-ng-annotate": "latest",
|
|
||||||
"gulp-remove-code": "latest",
|
|
||||||
"gulp-replace": "latest",
|
|
||||||
"gulp-smoosher": "latest",
|
|
||||||
"gulp-uglify": "latest",
|
|
||||||
"gulp-zip": "latest",
|
|
||||||
"jshint": "latest",
|
|
||||||
"merge-stream": "latest",
|
|
||||||
"lodash": "^4.17.19"
|
|
||||||
},
|
},
|
||||||
"repository": "https://github.com/luc-github/ESP3D",
|
"author": "",
|
||||||
"author": "Luc LEBOSSE",
|
"license": "ISC",
|
||||||
"license": "(ISC OR GPL-3.0)"
|
"devDependencies": {
|
||||||
|
"@babel/core": "^7.12.13",
|
||||||
|
"@babel/preset-env": "^7.12.13",
|
||||||
|
"babel-loader": "^8.2.2",
|
||||||
|
"chalk": "^4.1.0",
|
||||||
|
"clean-webpack-plugin": "^3.0.0",
|
||||||
|
"compression-webpack-plugin": "^7.1.2",
|
||||||
|
"concurrently": "^5.3.0",
|
||||||
|
"core-js": "^3.8.3",
|
||||||
|
"css-loader": "^5.0.2",
|
||||||
|
"espress": "0.0.0",
|
||||||
|
"express": "^4.17.1",
|
||||||
|
"express-fileupload": "^1.2.1",
|
||||||
|
"express-ws": "^4.0.0",
|
||||||
|
"html-inline-css-webpack-plugin": "^1.10.1",
|
||||||
|
"html-inline-script-webpack-plugin": "^1.0.1",
|
||||||
|
"html-minimizer-webpack-plugin": "^2.1.0",
|
||||||
|
"html-webpack-plugin": "^5.0.0",
|
||||||
|
"mini-css-extract-plugin": "^1.3.6",
|
||||||
|
"nodemon": "^2.0.7",
|
||||||
|
"regenerator-runtime": "^0.13.7",
|
||||||
|
"style-loader": "^2.0.0",
|
||||||
|
"webpack": "^5.21.2",
|
||||||
|
"webpack-cli": "^4.5.0",
|
||||||
|
"webpack-dev-server": "^3.11.2"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
BIN
embedded/server/public/favicon.ico
Normal file
BIN
embedded/server/public/favicon.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.1 KiB |
28
embedded/server/public/fr.json
Normal file
28
embedded/server/public/fr.json
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
{
|
||||||
|
"lang" : "Français",
|
||||||
|
"S1" : "Chargement...",
|
||||||
|
"S2" : "Connection websocket...",
|
||||||
|
"S3" : "Apparement vous êtes connecté depuis une autre page, donc cette page est désormais déconnectée",
|
||||||
|
"S4" : "Erreur traitement lors du fichier de configuration, le fichier est incorrecte",
|
||||||
|
"S5" : "Impossible de se connecter au serveur de la carte",
|
||||||
|
"S6" : "Erreur de connection WebSocket",
|
||||||
|
"S7" : "Erreur lors du traitement du fichier de préférences, le fichier est incorrecte",
|
||||||
|
"S8" : "SVP reconnectez-moi",
|
||||||
|
"S9" : "déconnecté",
|
||||||
|
"S10" : "Connection with board is lost",
|
||||||
|
"S11" : "Aidez nous",
|
||||||
|
"S12" : "A propos d'ESP3D",
|
||||||
|
"S13" : "Tableau de bord",
|
||||||
|
"S14" : "Parmètres",
|
||||||
|
"S15" : "Donation pour ESP3D",
|
||||||
|
"S16" : "Version micrologiciel",
|
||||||
|
"S17" : "Version interface",
|
||||||
|
"S18" : "Version navigateur",
|
||||||
|
"S19" : "Inconnu",
|
||||||
|
"S20" : "Go to github",
|
||||||
|
"S21" : "Parsing data error, data are incorrect",
|
||||||
|
"S22" : "Erreur",
|
||||||
|
"S23" : "Refresh information",
|
||||||
|
"S24" : "Fermer",
|
||||||
|
"T9" : "Utilisation sytème de fichiers"
|
||||||
|
}
|
BIN
embedded/server/public/index.html.gz
Normal file
BIN
embedded/server/public/index.html.gz
Normal file
Binary file not shown.
116
embedded/src/index.html
Normal file
116
embedded/src/index.html
Normal file
@ -0,0 +1,116 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
|
<title>Document</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div>
|
||||||
|
<ul>
|
||||||
|
<li id="FWLink">Firmware</li>
|
||||||
|
<li id="UiLink">Interface</li>
|
||||||
|
<li id="hlpLink">Help</li>
|
||||||
|
<li id="espLink" class="hide">ESP3D</li>
|
||||||
|
<li class="menuspacer"></li>
|
||||||
|
<li id="loginLink" class="hide">Login</li>
|
||||||
|
<li id="verLink" disabled></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<hr />
|
||||||
|
<div id="MSG"></div>
|
||||||
|
<div id="consolePanel" class="panel hide">
|
||||||
|
<div id="consoleHeader" class="panel-header">Terminal</div>
|
||||||
|
<div id="consoleBody" class="panel-body no-footer">
|
||||||
|
<div class="controlBar">
|
||||||
|
<input
|
||||||
|
class="formControl"
|
||||||
|
autocomplete="off"
|
||||||
|
type="text"
|
||||||
|
value=""
|
||||||
|
id="customCmdTxt"
|
||||||
|
/>
|
||||||
|
<button class="btn" id="cmdBtn">Send</button>
|
||||||
|
<div class="controlBar">
|
||||||
|
<input type="checkbox" id="monitor_enable_autoscroll" checked />
|
||||||
|
<label for="monitor_enable_autoscroll">Autoscroll</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<pre id="consoleContent"></pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="fileSystem" class="panel hide">
|
||||||
|
<div id="fileSystemHeader" class="panel-header">Filesystem</div>
|
||||||
|
<div id="fileSystemBody" class="panel-body no-footer">
|
||||||
|
<div class="controlBar">
|
||||||
|
<input class="hide" type="file" value="" id="files" multiple />
|
||||||
|
<button class="btn" id="refresh">Refresh</button>
|
||||||
|
<button class="btn" id="createdir" title="Create directory">+</button>
|
||||||
|
<button class="btn" id="uploadFiles" title="upload files">+</button>
|
||||||
|
<div class="label hide" id="prgfiletext">0%</div>
|
||||||
|
<progress
|
||||||
|
class="progbar hide"
|
||||||
|
id="prgfile"
|
||||||
|
max="100"
|
||||||
|
value="50"
|
||||||
|
></progress>
|
||||||
|
</div>
|
||||||
|
<div id="filecontent" class="panel">
|
||||||
|
<div id="filecontentbody" class="panel-body no-header">
|
||||||
|
<div class="label" id="path">/</div>
|
||||||
|
<table class="table table-striped">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Type</th>
|
||||||
|
<th>Name</th>
|
||||||
|
<th>Size</th>
|
||||||
|
<th width="0%"></th>
|
||||||
|
<th width="100%"></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody id="fileList"></tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<div id="filecontentFooter" class="panel-footer"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="firmware" class="panel hide">
|
||||||
|
<div id="firmwareHeader" class="panel-header">Firmware update</div>
|
||||||
|
<div id="firmwareBody" class="panel-body no-footer">
|
||||||
|
<div class="controlBar">
|
||||||
|
<input class="hide" type="file" value="" accept=".bin" id="filefw" />
|
||||||
|
<button class="btn" id="uploapFW">Select File</button>
|
||||||
|
<div class="label hide" id="prgupdatetext">0%</div>
|
||||||
|
<progress
|
||||||
|
class="progbar hide"
|
||||||
|
id="prgupdate"
|
||||||
|
max="100"
|
||||||
|
value="50"
|
||||||
|
></progress>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<br />
|
||||||
|
<div id="loginpage" class="modal hide">
|
||||||
|
<div class="modal-content">
|
||||||
|
<div class="modal-header">Identification</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
<div class="controlBar">
|
||||||
|
<div class="label">User:</div>
|
||||||
|
<input type="text" id="loginInput" />
|
||||||
|
</div>
|
||||||
|
<hr />
|
||||||
|
<div class="controlBar">
|
||||||
|
<div class="label">Password:</div>
|
||||||
|
<input type="password" id="passwordInput" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="modal-footer">
|
||||||
|
<button type="button" class="btn" id="loginbutton">Login</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
774
embedded/src/index.js
Normal file
774
embedded/src/index.js
Normal file
@ -0,0 +1,774 @@
|
|||||||
|
import "./style.css";
|
||||||
|
import { initMenus } from "./menu";
|
||||||
|
let isConsoleExpanded = false;
|
||||||
|
let isAutoScroll = true;
|
||||||
|
let consoleContentList = [];
|
||||||
|
let consoleContent;
|
||||||
|
let isFileSystemExpanded = true;
|
||||||
|
let isFirmwareUpdateExpanded = false;
|
||||||
|
let consolePanel;
|
||||||
|
let fileSystem;
|
||||||
|
let firmware;
|
||||||
|
let consoleHeader;
|
||||||
|
let consoleBody;
|
||||||
|
let fileSystemHeader;
|
||||||
|
let fileSystemBody;
|
||||||
|
let filecontentFooter;
|
||||||
|
let firmwareHeader;
|
||||||
|
let firmwareBody;
|
||||||
|
let filesInput;
|
||||||
|
let fwInput;
|
||||||
|
let filesButton;
|
||||||
|
let firmwareButton;
|
||||||
|
let refreshButton;
|
||||||
|
let createDirButton;
|
||||||
|
let message;
|
||||||
|
let websocketStarted = false;
|
||||||
|
let wsSource;
|
||||||
|
let wsMsg = "";
|
||||||
|
let logOff = false;
|
||||||
|
let pageId = "";
|
||||||
|
let currentPath = "/";
|
||||||
|
const version = "3.0.0.a1";
|
||||||
|
let xmlhttpupload;
|
||||||
|
let prgfiletext;
|
||||||
|
let prgfile;
|
||||||
|
let uploadType = 0;
|
||||||
|
let restartTime;
|
||||||
|
let loginLink;
|
||||||
|
let loginModal;
|
||||||
|
|
||||||
|
window.onload = function () {
|
||||||
|
consolePanel = document.getElementById("consolePanel");
|
||||||
|
fileSystem = document.getElementById("fileSystem");
|
||||||
|
firmware = document.getElementById("firmware");
|
||||||
|
consoleHeader = document.getElementById("consoleHeader");
|
||||||
|
consoleBody = document.getElementById("consoleBody");
|
||||||
|
fileSystemHeader = document.getElementById("fileSystemHeader");
|
||||||
|
fileSystemBody = document.getElementById("fileSystemBody");
|
||||||
|
filecontentFooter = document.getElementById("filecontentFooter");
|
||||||
|
firmwareHeader = document.getElementById("firmwareHeader");
|
||||||
|
firmwareBody = document.getElementById("firmwareBody");
|
||||||
|
consoleContent = document.getElementById("consoleContent");
|
||||||
|
fwInput = document.getElementById("filefw");
|
||||||
|
filesInput = document.getElementById("files");
|
||||||
|
message = document.getElementById("MSG");
|
||||||
|
prgfiletext = document.getElementById("prgfiletext");
|
||||||
|
prgfile = document.getElementById("prgfile");
|
||||||
|
document.getElementById("cmdBtn").addEventListener("click", function () {
|
||||||
|
let input = document.getElementById("customCmdTxt");
|
||||||
|
if (input.value.trim().length == 0) return;
|
||||||
|
let url = new URL("http://" + window.location.host + "/command");
|
||||||
|
url.searchParams.append("cmd", input.value.trim());
|
||||||
|
httpGet(url, processCmdJson);
|
||||||
|
consoleContentUpdate(
|
||||||
|
"<span class='cmd'>" + input.value.trim() + "</span>\n"
|
||||||
|
);
|
||||||
|
input.value = "";
|
||||||
|
});
|
||||||
|
document
|
||||||
|
.getElementById("customCmdTxt")
|
||||||
|
.addEventListener("keyup", function (event) {
|
||||||
|
if (event.keyCode === 13) {
|
||||||
|
document.getElementById("cmdBtn").click();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
consoleHeader.addEventListener("click", function () {
|
||||||
|
isConsoleExpanded = !isConsoleExpanded;
|
||||||
|
if (isConsoleExpanded) consoleBody.style.display = "block";
|
||||||
|
else consoleBody.style.display = "none";
|
||||||
|
});
|
||||||
|
loginLink = document.getElementById("loginLink");
|
||||||
|
loginModal = document.getElementById("loginpage");
|
||||||
|
loginLink.addEventListener("click", function () {
|
||||||
|
loginModal.classList.remove("hide");
|
||||||
|
});
|
||||||
|
document.getElementById("loginbutton").addEventListener("click", function () {
|
||||||
|
loginModal.classList.add("hide");
|
||||||
|
let user = document.getElementById("loginInput").value.trim();
|
||||||
|
let password = document.getElementById("passwordInput").value.trim();
|
||||||
|
let url = new URL("http://" + window.location.host + "/login");
|
||||||
|
url.searchParams.append("USER", user);
|
||||||
|
url.searchParams.append("PASSWORD", password);
|
||||||
|
url.searchParams.append("SUBMIT", "yes");
|
||||||
|
let xmlhttp = new XMLHttpRequest();
|
||||||
|
xmlhttp.onreadystatechange = function () {
|
||||||
|
if (xmlhttp.readyState == 4) {
|
||||||
|
if (xmlhttp.status != 200) {
|
||||||
|
if (xmlhttp.status == 401) {
|
||||||
|
loginModal.classList.remove("hide");
|
||||||
|
loginLink.classList.remove("hide");
|
||||||
|
} else {
|
||||||
|
console.log(xmlhttp.status);
|
||||||
|
ErrorMSG(
|
||||||
|
"Error: board does not answered properly " + xmlhttp.status
|
||||||
|
);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
getFWData();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
xmlhttp.open("GET", url, true);
|
||||||
|
xmlhttp.send();
|
||||||
|
});
|
||||||
|
|
||||||
|
refreshButton = document.getElementById("refresh");
|
||||||
|
refreshButton.addEventListener("click", function () {
|
||||||
|
SendFileCommand("list", "all");
|
||||||
|
});
|
||||||
|
firmwareButton = document.getElementById("uploapFW");
|
||||||
|
firmwareButton.addEventListener("click", function () {
|
||||||
|
prgupdatetext.innerHTML = "";
|
||||||
|
fwInput.click();
|
||||||
|
});
|
||||||
|
filesButton = document.getElementById("uploadFiles");
|
||||||
|
filesButton.innerHTML = fileIcon(true);
|
||||||
|
filesButton.addEventListener("click", function () {
|
||||||
|
filesInput.click();
|
||||||
|
});
|
||||||
|
fwInput.addEventListener("change", function () {
|
||||||
|
if (fwInput.value) {
|
||||||
|
if (!confirm("Confirm Firmware Update ?")) {
|
||||||
|
console.log("abort");
|
||||||
|
fwInput.value = "";
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
uploadFirmware();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
filesInput.addEventListener("change", function () {
|
||||||
|
console.log("upload");
|
||||||
|
if (filesInput.value) {
|
||||||
|
uploadFiles();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
document
|
||||||
|
.getElementById("monitor_enable_autoscroll")
|
||||||
|
.addEventListener("click", function () {
|
||||||
|
if (document.getElementById("monitor_enable_autoscroll").checked) {
|
||||||
|
isAutoScroll = true;
|
||||||
|
autoscroll();
|
||||||
|
} else {
|
||||||
|
isAutoScroll = false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
consoleBody.style.display = "none";
|
||||||
|
fileSystemHeader.addEventListener("click", function () {
|
||||||
|
isFileSystemExpanded = !isFileSystemExpanded;
|
||||||
|
if (isFileSystemExpanded) {
|
||||||
|
fileSystemBody.style.display = "block";
|
||||||
|
fileSystemBody.scrollIntoView();
|
||||||
|
} else {
|
||||||
|
fileSystemBody.style.display = "none";
|
||||||
|
}
|
||||||
|
});
|
||||||
|
firmwareHeader.addEventListener("click", function () {
|
||||||
|
isFirmwareUpdateExpanded = !isFirmwareUpdateExpanded;
|
||||||
|
if (isFirmwareUpdateExpanded) {
|
||||||
|
firmwareBody.style.display = "block";
|
||||||
|
firmwareBody.scrollIntoView();
|
||||||
|
} else firmwareBody.style.display = "none";
|
||||||
|
});
|
||||||
|
firmwareBody.style.display = "none";
|
||||||
|
createDirButton = document.getElementById("createdir");
|
||||||
|
createDirButton.innerHTML = dirIcon(true);
|
||||||
|
createDirButton.addEventListener("click", function () {
|
||||||
|
let filename = prompt("Directory name", "");
|
||||||
|
if (filename != null && filename.trim().length > 0) {
|
||||||
|
SendFileCommand("createdir", filename.trim());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
getFWData();
|
||||||
|
initMenus();
|
||||||
|
};
|
||||||
|
|
||||||
|
function padNumber(num, size) {
|
||||||
|
let s = num.toString().padStart(size, "0");
|
||||||
|
return s;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getPCTime() {
|
||||||
|
let d = new Date();
|
||||||
|
return (
|
||||||
|
d.getFullYear() +
|
||||||
|
"-" +
|
||||||
|
padNumber(d.getMonth() + 1, 2) +
|
||||||
|
"-" +
|
||||||
|
padNumber(d.getDate(), 2) +
|
||||||
|
"-" +
|
||||||
|
padNumber(d.getHours(), 2) +
|
||||||
|
"-" +
|
||||||
|
padNumber(d.getMinutes(), 2) +
|
||||||
|
"-" +
|
||||||
|
padNumber(d.getSeconds(), 2)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
function isLimitedEnvironment(wifiMode) {
|
||||||
|
let sitesList = [
|
||||||
|
"clients3.google.com", //Android Captive Portal Detection
|
||||||
|
"connectivitycheck.",
|
||||||
|
//Apple iPhone, iPad with iOS 6 Captive Portal Detection
|
||||||
|
"apple.com",
|
||||||
|
".akamaitechnologies.com",
|
||||||
|
//Apple iPhone, iPad with iOS 7, 8, 9 and recent versions of OS X
|
||||||
|
"www.appleiphonecell.com",
|
||||||
|
"www.itools.info",
|
||||||
|
"www.ibook.info",
|
||||||
|
"www.airport.us",
|
||||||
|
"www.thinkdifferent.us",
|
||||||
|
".akamaiedge.net",
|
||||||
|
//Windows
|
||||||
|
".msftncsi.com",
|
||||||
|
"microsoft.com",
|
||||||
|
];
|
||||||
|
if (wifiMode != "AP") return false;
|
||||||
|
for (let i = 0; i < sitesList.length; i++) {
|
||||||
|
if (document.location.host.indexOf(sitesList[i]) != -1) return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
function autoscroll() {
|
||||||
|
if (isAutoScroll) consoleContent.scrollTop = consoleContent.scrollHeight;
|
||||||
|
}
|
||||||
|
|
||||||
|
function consoleContentUpdate(message) {
|
||||||
|
if (message) {
|
||||||
|
consoleContentList = consoleContentList.concat(message);
|
||||||
|
consoleContentList = consoleContentList.slice(-300);
|
||||||
|
let output = "";
|
||||||
|
for (let i = 0; i < consoleContentList.length; i++) {
|
||||||
|
output += consoleContentList[i];
|
||||||
|
}
|
||||||
|
document.getElementById("consoleContent").innerHTML = output;
|
||||||
|
autoscroll();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function processCmdJson(text) {
|
||||||
|
let json;
|
||||||
|
try {
|
||||||
|
json = JSON.parse(text);
|
||||||
|
consoleContentUpdate(JSON.stringify(json, null, " ") + "\n");
|
||||||
|
} catch (e) {
|
||||||
|
consoleContentUpdate(text + "\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function processFWJson(text) {
|
||||||
|
let json;
|
||||||
|
try {
|
||||||
|
json = JSON.parse(text);
|
||||||
|
} catch (e) {
|
||||||
|
ErrorMSG("Error: json data are incorrect!<br/>" + text);
|
||||||
|
consoleContentUpdate(text);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (json.FWVersion) {
|
||||||
|
let verLink = document.getElementById("verLink");
|
||||||
|
verLink.innerHTML = "v" + json.FWVersion;
|
||||||
|
verLink.addEventListener("click", function () {
|
||||||
|
let url = new URL("http://" + window.location.host + "/config");
|
||||||
|
window.open(url, "_blank");
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
ErrorMSG(
|
||||||
|
"Error: json data are incorrect!<br/>" +
|
||||||
|
JSON.stringify(json, null, "<br/> ")
|
||||||
|
);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
document.getElementById("espLink").addEventListener("click", function () {
|
||||||
|
let url = new URL("http://" + window.location.host);
|
||||||
|
window.open(url);
|
||||||
|
});
|
||||||
|
consolePanel.classList.remove("hide");
|
||||||
|
if (json.Filesystem && json.Filesystem != "None")
|
||||||
|
fileSystem.classList.remove("hide");
|
||||||
|
if (json.WebUpdate == "Enabled") firmware.classList.remove("hide");
|
||||||
|
if (json.WiFiMode && json.WebSocketIP) {
|
||||||
|
if (isLimitedEnvironment(json.WiFiMode)) {
|
||||||
|
let address =
|
||||||
|
"http://" +
|
||||||
|
json.WebSocketIP +
|
||||||
|
(window.location.port == 80 ? "" : ":" + window.location.port);
|
||||||
|
InfoMSG(
|
||||||
|
"It seems you are in limited environment,<br> please open a browser using<BR>" +
|
||||||
|
address +
|
||||||
|
"<br>to get all features working"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (json.Hostname) document.title = json.Hostname;
|
||||||
|
startSocket(json.WebSocketIP, json.WebSocketport, json.WebCommunication);
|
||||||
|
SendFileCommand("list", "all");
|
||||||
|
}
|
||||||
|
|
||||||
|
function startSocket(ip, port, sync) {
|
||||||
|
if (websocketStarted) {
|
||||||
|
wsSource.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
wsSource = new WebSocket(
|
||||||
|
"ws://" + ip + ":" + port + (sync == "Asynchronous" ? "/ws" : ""),
|
||||||
|
["arduino"]
|
||||||
|
);
|
||||||
|
wsSource.binaryType = "arraybuffer";
|
||||||
|
wsSource.onopen = function (e) {
|
||||||
|
websocketStarted = true;
|
||||||
|
};
|
||||||
|
wsSource.onclose = function (e) {
|
||||||
|
websocketStarted = false;
|
||||||
|
//seems sometimes it disconnect so wait 3s and reconnect
|
||||||
|
//if it is not a log off
|
||||||
|
if (!logOff)
|
||||||
|
setTimeout(() => {
|
||||||
|
startSocket(ip, port, sync);
|
||||||
|
}, 3000);
|
||||||
|
};
|
||||||
|
wsSource.onerror = function (e) {};
|
||||||
|
wsSource.onmessage = function (e) {
|
||||||
|
let msg = "";
|
||||||
|
//bin
|
||||||
|
if (e.data instanceof ArrayBuffer) {
|
||||||
|
let bytes = new Uint8Array(e.data);
|
||||||
|
for (let i = 0; i < bytes.length; i++) {
|
||||||
|
msg += String.fromCharCode(bytes[i]);
|
||||||
|
if (bytes[i] == 10 || bytes[i] == 13) {
|
||||||
|
wsMsg += msg;
|
||||||
|
consoleContentUpdate(wsMsg);
|
||||||
|
wsMsg = "";
|
||||||
|
msg = "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
wsMsg += msg;
|
||||||
|
} else {
|
||||||
|
msg = e.data;
|
||||||
|
let tval = msg.split(":");
|
||||||
|
if (tval.length >= 2) {
|
||||||
|
if (tval[0] == "currentID") {
|
||||||
|
pageId = tval[1];
|
||||||
|
}
|
||||||
|
if (tval[0] == "activeID") {
|
||||||
|
if (pageId != tval[1]) {
|
||||||
|
logOff = true;
|
||||||
|
wsSource.close();
|
||||||
|
InfoMSG(
|
||||||
|
"<br/><br/>It seems you are connect from another location, you are now disconnected."
|
||||||
|
);
|
||||||
|
document.title = document.title + "(disconnected)";
|
||||||
|
consolePanel.classList.add("hide");
|
||||||
|
firmware.classList.add("hide");
|
||||||
|
fileSystem.classList.add("hide");
|
||||||
|
document.getElementById("verLink").classList.add("disabled");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (tval[0] == "ERROR") {
|
||||||
|
xmlhttpupload.abort();
|
||||||
|
uploadError(tval[2], tval[1]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
function uploadError(msg, nb) {
|
||||||
|
let status = "Upload failed";
|
||||||
|
if (nb != 0 && typeof nb != "undefined") {
|
||||||
|
status = msg + "(" + nb + ")";
|
||||||
|
}
|
||||||
|
alert(status + "!");
|
||||||
|
if (uploadType == 1) {
|
||||||
|
let currentstatus = filecontentFooter.innerHTML;
|
||||||
|
if (currentstatus.length > 0) {
|
||||||
|
filecontentFooter.innerHTML =
|
||||||
|
"Status: " +
|
||||||
|
status +
|
||||||
|
"  " +
|
||||||
|
currentstatus.substring(currentstatus.indexOf("|"));
|
||||||
|
} else {
|
||||||
|
filecontentFooter.innerHTML = status;
|
||||||
|
}
|
||||||
|
} else if (uploadType == 2) {
|
||||||
|
prgupdatetext.innerHTML = status;
|
||||||
|
}
|
||||||
|
//location.reload();
|
||||||
|
}
|
||||||
|
|
||||||
|
function ErrorMSG(msg) {
|
||||||
|
message.innerHTML = msg;
|
||||||
|
message.className = "text-error";
|
||||||
|
}
|
||||||
|
|
||||||
|
function InfoMSG(msg) {
|
||||||
|
message.innerHTML = msg;
|
||||||
|
message.className = "text-primary";
|
||||||
|
}
|
||||||
|
|
||||||
|
function getFWData() {
|
||||||
|
let url = new URL("http://" + window.location.host + "/command");
|
||||||
|
url.searchParams.append("cmd", "[ESP800]time=" + getPCTime());
|
||||||
|
httpGet(url, processFWJson);
|
||||||
|
}
|
||||||
|
|
||||||
|
function SendFileCommand(action, filename) {
|
||||||
|
let url = new URL("http://" + window.location.host + "/files");
|
||||||
|
url.searchParams.append("action", action);
|
||||||
|
url.searchParams.append("filename", filename);
|
||||||
|
url.searchParams.append("path", currentPath);
|
||||||
|
httpGet(url, dispatchFileStatus);
|
||||||
|
}
|
||||||
|
|
||||||
|
function trashIcon() {
|
||||||
|
return "<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='red' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-trash-2'><polyline points='3 6 5 6 21 6'></polyline><path d='M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2'></path><line x1='10' y1='11' x2='10' y2='17'></line><line x1='14' y1='11' x2='14' y2='17'></line></svg>";
|
||||||
|
}
|
||||||
|
|
||||||
|
function backIcon() {
|
||||||
|
return "<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' ><polyline points='10 9 15 4 20 9'></polyline><path d='M4 20h7a4 4 0 0 0 4-4V4'></path></svg>";
|
||||||
|
}
|
||||||
|
|
||||||
|
function fileIcon(plus = false) {
|
||||||
|
return (
|
||||||
|
"<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='" +
|
||||||
|
(plus ? "white" : "currentColor") +
|
||||||
|
"' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M13 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z'></path><polyline points='13 2 13 9 20 9'></polyline>" +
|
||||||
|
(plus
|
||||||
|
? "<line x1='12' y1='11' x2='12' y2='17'></line><line x1='9' y1='14' x2='15' y2='14'></line>"
|
||||||
|
: "") +
|
||||||
|
"</svg>"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
function dirIcon(plus = false) {
|
||||||
|
return (
|
||||||
|
"<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='" +
|
||||||
|
(plus ? "white" : "currentColor") +
|
||||||
|
"' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z'></path>" +
|
||||||
|
(plus
|
||||||
|
? "<line x1='12' y1='11' x2='12' y2='17'></line><line x1='9' y1='14' x2='15' y2='14'></line>"
|
||||||
|
: "") +
|
||||||
|
"</svg>"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
function dispatchFileStatus(jsonresponse) {
|
||||||
|
let json;
|
||||||
|
let eventslisteners = [];
|
||||||
|
let showESP3Dbutton = false;
|
||||||
|
try {
|
||||||
|
json = JSON.parse(jsonresponse);
|
||||||
|
//ugly but code is smaller
|
||||||
|
filecontentFooter.innerHTML =
|
||||||
|
"Status: " +
|
||||||
|
json.status +
|
||||||
|
" | Total space: " +
|
||||||
|
json.total +
|
||||||
|
" | Used space: " +
|
||||||
|
json.used +
|
||||||
|
" | Occupation: " +
|
||||||
|
"<meter min='0' max='100' high='90' value='" +
|
||||||
|
json.occupation +
|
||||||
|
"'></meter> " +
|
||||||
|
json.occupation +
|
||||||
|
"%";
|
||||||
|
json.files.sort(function (a, b) {
|
||||||
|
return compareStrings(a.name, b.name);
|
||||||
|
});
|
||||||
|
let content = "";
|
||||||
|
document.getElementById("path").innerHTML = currentPath;
|
||||||
|
if (currentPath != "/") {
|
||||||
|
let pos = currentPath.lastIndexOf("/");
|
||||||
|
let newPath;
|
||||||
|
if (pos == 0) newPath = "/";
|
||||||
|
else newPath = currentPath.substring(0, pos);
|
||||||
|
console.log("newpath:" + newPath);
|
||||||
|
content +=
|
||||||
|
"<tr ><td>" +
|
||||||
|
backIcon() +
|
||||||
|
"</td><td class='fileitem' id='updir'> Up..</td><td colspan='3'></td></tr>";
|
||||||
|
eventslisteners.push({ action: "updir", id: "updir", target: newPath });
|
||||||
|
}
|
||||||
|
for (let i1 = 0; i1 < json.files.length; i1++) {
|
||||||
|
if (String(json.files[i1].size) == "-1") {
|
||||||
|
content +=
|
||||||
|
"<tr><td>" +
|
||||||
|
dirIcon() +
|
||||||
|
"</td><td class='fileitem' id='Dir" +
|
||||||
|
i1 +
|
||||||
|
"'>" +
|
||||||
|
json.files[i1].name +
|
||||||
|
"</td><td></td><td class='fileicon' id='DirDel" +
|
||||||
|
i1 +
|
||||||
|
"'>" +
|
||||||
|
trashIcon() +
|
||||||
|
"</td><td></td></tr>";
|
||||||
|
eventslisteners.push({
|
||||||
|
action: "dir",
|
||||||
|
id: "Dir" + i1,
|
||||||
|
target: json.files[i1].name,
|
||||||
|
});
|
||||||
|
eventslisteners.push({
|
||||||
|
action: "dirdel",
|
||||||
|
id: "DirDel" + i1,
|
||||||
|
target: json.files[i1].name,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (let i1 = 0; i1 < json.files.length; i1++) {
|
||||||
|
if (String(json.files[i1].size) != "-1") {
|
||||||
|
if (
|
||||||
|
currentPath == "/" &&
|
||||||
|
(json.files[i1].name == "index.html.gz" ||
|
||||||
|
json.files[i1].name == "index.html")
|
||||||
|
) {
|
||||||
|
showESP3Dbutton = true;
|
||||||
|
}
|
||||||
|
content +=
|
||||||
|
"<tr><td>" +
|
||||||
|
fileIcon() +
|
||||||
|
"</td><td class='fileitem' id='File" +
|
||||||
|
i1 +
|
||||||
|
"'>" +
|
||||||
|
json.files[i1].name +
|
||||||
|
"</td><td>" +
|
||||||
|
json.files[i1].size +
|
||||||
|
"</td><td class='fileicon' id='FileDel" +
|
||||||
|
i1 +
|
||||||
|
"'>" +
|
||||||
|
trashIcon() +
|
||||||
|
"</td><td></td></tr>";
|
||||||
|
eventslisteners.push({
|
||||||
|
action: "file",
|
||||||
|
id: "File" + i1,
|
||||||
|
target: json.files[i1].name,
|
||||||
|
});
|
||||||
|
eventslisteners.push({
|
||||||
|
action: "filedel",
|
||||||
|
id: "FileDel" + i1,
|
||||||
|
target: json.files[i1].name,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
document.getElementById("fileList").innerHTML = content;
|
||||||
|
for (let i = 0; i < eventslisteners.length; i++) {
|
||||||
|
switch (eventslisteners[i].action) {
|
||||||
|
case "updir":
|
||||||
|
document
|
||||||
|
.getElementById(eventslisteners[i].id)
|
||||||
|
.addEventListener("click", function () {
|
||||||
|
currentPath = eventslisteners[i].target;
|
||||||
|
console.log(currentPath);
|
||||||
|
SendFileCommand("list", "all");
|
||||||
|
});
|
||||||
|
|
||||||
|
break;
|
||||||
|
case "file":
|
||||||
|
document
|
||||||
|
.getElementById(eventslisteners[i].id)
|
||||||
|
.addEventListener("click", function () {
|
||||||
|
let url = new URL(
|
||||||
|
"http://" +
|
||||||
|
window.location.host +
|
||||||
|
currentPath +
|
||||||
|
"/" +
|
||||||
|
eventslisteners[i].target
|
||||||
|
);
|
||||||
|
window.open(url, "_blank");
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
case "filedel":
|
||||||
|
document
|
||||||
|
.getElementById(eventslisteners[i].id)
|
||||||
|
.addEventListener("click", function () {
|
||||||
|
if (
|
||||||
|
confirm(
|
||||||
|
"Confirm deletion of file: " + eventslisteners[i].target
|
||||||
|
)
|
||||||
|
)
|
||||||
|
SendFileCommand("delete", eventslisteners[i].target);
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
case "dir":
|
||||||
|
document
|
||||||
|
.getElementById(eventslisteners[i].id)
|
||||||
|
.addEventListener("click", function () {
|
||||||
|
currentPath +=
|
||||||
|
(currentPath == "/" ? "" : "/") + eventslisteners[i].target;
|
||||||
|
console.log(currentPath);
|
||||||
|
SendFileCommand("list", "all");
|
||||||
|
});
|
||||||
|
|
||||||
|
break;
|
||||||
|
case "dirdel":
|
||||||
|
document
|
||||||
|
.getElementById(eventslisteners[i].id)
|
||||||
|
.addEventListener("click", function () {
|
||||||
|
if (
|
||||||
|
confirm(
|
||||||
|
"Confirm deletion of directory: " + eventslisteners[i].target
|
||||||
|
)
|
||||||
|
)
|
||||||
|
SendFileCommand("deletedir", eventslisteners[i].target);
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
ErrorMSG("Error: json data are incorrect!<br/>" + jsonresponse);
|
||||||
|
return;
|
||||||
|
} finally {
|
||||||
|
if (showESP3Dbutton) {
|
||||||
|
document.getElementById("espLink").classList.remove("hide");
|
||||||
|
} else {
|
||||||
|
document.getElementById("espLink").classList.add("hide");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function httpGet(url, processfn) {
|
||||||
|
let xmlhttp = new XMLHttpRequest();
|
||||||
|
xmlhttp.onreadystatechange = function () {
|
||||||
|
if (xmlhttp.readyState == 4) {
|
||||||
|
if (xmlhttp.status == 200) {
|
||||||
|
ErrorMSG("");
|
||||||
|
processfn(xmlhttp.responseText);
|
||||||
|
} else if (xmlhttp.status == 401) {
|
||||||
|
loginModal.classList.remove("hide");
|
||||||
|
loginLink.classList.remove("hide");
|
||||||
|
} else {
|
||||||
|
console.log(xmlhttp.status);
|
||||||
|
ErrorMSG("Error: board does not answered properly " + xmlhttp.status);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
xmlhttp.open("GET", url, true);
|
||||||
|
xmlhttp.send();
|
||||||
|
}
|
||||||
|
|
||||||
|
function compareStrings(a, b) {
|
||||||
|
// case-insensitive comparison
|
||||||
|
a = a.toLowerCase();
|
||||||
|
b = b.toLowerCase();
|
||||||
|
return a < b ? -1 : a > b ? 1 : 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
function uploadFiles() {
|
||||||
|
let files = filesInput.files;
|
||||||
|
if (files.length == 0) return;
|
||||||
|
let formData = new FormData();
|
||||||
|
uploadType = 1;
|
||||||
|
filesButton.classList.add("hide");
|
||||||
|
createDirButton.classList.add("hide");
|
||||||
|
refreshButton.classList.add("hide");
|
||||||
|
prgfiletext.classList.remove("hide");
|
||||||
|
prgfile.classList.remove("hide");
|
||||||
|
prgfile.value = 0;
|
||||||
|
prgfiletext.innerHTML = "Uploading ...0%";
|
||||||
|
formData.append("path", currentPath);
|
||||||
|
let currentpath = currentPath;
|
||||||
|
if (!currentpath.endsWith("/")) currentpath += "/";
|
||||||
|
for (let i3 = 0; i3 < files.length; i3++) {
|
||||||
|
let file = files[i3];
|
||||||
|
let arg = currentpath + file.name + "S";
|
||||||
|
//append file size first to check updload is complete
|
||||||
|
formData.append(arg, file.size);
|
||||||
|
formData.append("myfiles", file, currentpath + file.name);
|
||||||
|
}
|
||||||
|
xmlhttpupload = new XMLHttpRequest();
|
||||||
|
xmlhttpupload.open("POST", "/files", true);
|
||||||
|
//progress upload event
|
||||||
|
xmlhttpupload.upload.addEventListener("progress", updateProgress, false);
|
||||||
|
//progress function
|
||||||
|
function updateProgress(oEvent) {
|
||||||
|
if (oEvent.lengthComputable) {
|
||||||
|
let percentComplete = (oEvent.loaded / oEvent.total) * 100;
|
||||||
|
prgfile.value = percentComplete;
|
||||||
|
prgfiletext.innerHTML =
|
||||||
|
"Uploading ..." + percentComplete.toFixed(0) + "%";
|
||||||
|
} else {
|
||||||
|
// Impossible because size is unknown
|
||||||
|
console.log("oops");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
xmlhttpupload.onloadend = function () {
|
||||||
|
filesButton.classList.remove("hide");
|
||||||
|
createDirButton.classList.remove("hide");
|
||||||
|
refreshButton.classList.remove("hide");
|
||||||
|
prgfile.classList.add("hide");
|
||||||
|
prgfiletext.classList.add("hide");
|
||||||
|
filesInput.value = "";
|
||||||
|
if (xmlhttpupload.status === 200) {
|
||||||
|
dispatchFileStatus(xmlhttpupload.responseText);
|
||||||
|
} else if (xmlhttp.status == 401) {
|
||||||
|
loginModal.classList.remove("hide");
|
||||||
|
loginLink.classList.remove("hide");
|
||||||
|
} else uploadError("Error", xmlhttpupload.status);
|
||||||
|
};
|
||||||
|
|
||||||
|
xmlhttpupload.send(formData);
|
||||||
|
}
|
||||||
|
|
||||||
|
function uploadFirmware() {
|
||||||
|
let files = fwInput.files;
|
||||||
|
if (files.length == 0) return;
|
||||||
|
let formData = new FormData();
|
||||||
|
uploadType = 2;
|
||||||
|
firmwareButton.classList.add("hide");
|
||||||
|
prgupdatetext.classList.remove("hide");
|
||||||
|
prgupdate.classList.remove("hide");
|
||||||
|
prgupdate.value = 0;
|
||||||
|
prgupdatetext.innerHTML = "Uploading ...0%";
|
||||||
|
formData.append("path", currentPath);
|
||||||
|
let currentpath = currentPath;
|
||||||
|
if (!currentpath.endsWith("/")) currentpath += "/";
|
||||||
|
for (let i3 = 0; i3 < files.length; i3++) {
|
||||||
|
let file = files[i3];
|
||||||
|
let arg = currentpath + file.name + "S";
|
||||||
|
//append file size first to check updload is complete
|
||||||
|
formData.append(arg, file.size);
|
||||||
|
formData.append("myfiles", file, currentpath + file.name);
|
||||||
|
}
|
||||||
|
xmlhttpupload = new XMLHttpRequest();
|
||||||
|
xmlhttpupload.open("POST", "/updatefw", true);
|
||||||
|
//progress upload event
|
||||||
|
xmlhttpupload.upload.addEventListener("progress", updateProgress, false);
|
||||||
|
//progress function
|
||||||
|
function updateProgress(oEvent) {
|
||||||
|
if (oEvent.lengthComputable) {
|
||||||
|
let percentComplete = (oEvent.loaded / oEvent.total) * 100;
|
||||||
|
prgupdate.value = percentComplete;
|
||||||
|
prgupdatetext.innerHTML =
|
||||||
|
"Uploading ..." + percentComplete.toFixed(0) + "%";
|
||||||
|
} else {
|
||||||
|
// Impossible because size is unknown
|
||||||
|
console.log("oops");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
xmlhttpupload.onloadend = function () {
|
||||||
|
firmwareButton.classList.remove("hide");
|
||||||
|
prgupdate.classList.add("hide");
|
||||||
|
fwInput.value = "";
|
||||||
|
if (xmlhttpupload.status === 200) {
|
||||||
|
prgupdatetext.classList.add("hide");
|
||||||
|
firmware.classList.add("hide");
|
||||||
|
consolePanel.classList.add("hide");
|
||||||
|
fileSystem.classList.add("hide");
|
||||||
|
document.getElementById("verLink").classList.add("hide");
|
||||||
|
document.getElementById("espLink").classList.add("hide");
|
||||||
|
restartTime = 40;
|
||||||
|
InfoMSG("<br/>Restarting... please wait 40s");
|
||||||
|
setInterval(function () {
|
||||||
|
restartTime--;
|
||||||
|
InfoMSG("<br/>Restarting... please wait " + restartTime + "s");
|
||||||
|
if (restartTime == 0) location.reload();
|
||||||
|
}, 1000);
|
||||||
|
} else if (xmlhttp.status == 401) {
|
||||||
|
loginModal.classList.remove("hide");
|
||||||
|
loginLink.classList.remove("hide");
|
||||||
|
} else uploadError("Error", xmlhttpupload.status);
|
||||||
|
};
|
||||||
|
|
||||||
|
xmlhttpupload.send(formData);
|
||||||
|
}
|
15
embedded/src/menu.js
Normal file
15
embedded/src/menu.js
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
function initMenus() {
|
||||||
|
document.getElementById("FWLink").addEventListener("click", function () {
|
||||||
|
window.open("https://github.com/luc-github/ESP3D/tree/3.0", "_blank");
|
||||||
|
});
|
||||||
|
|
||||||
|
document.getElementById("UiLink").addEventListener("click", function () {
|
||||||
|
window.open("https://github.com/luc-github/ESP3D-WEBUI/tree/3.0", "_blank");
|
||||||
|
});
|
||||||
|
|
||||||
|
document.getElementById("hlpLink").addEventListener("click", function () {
|
||||||
|
window.open("https://github.com/luc-github/ESP3D/wiki", "_blank");
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export { initMenus };
|
334
embedded/src/style.css
Normal file
334
embedded/src/style.css
Normal file
@ -0,0 +1,334 @@
|
|||||||
|
* {
|
||||||
|
font-family: sans-serif;
|
||||||
|
color: #5755d9;
|
||||||
|
background-color: #eef0f3;
|
||||||
|
-webkit-user-select: none; /* Chrome all / Safari all */
|
||||||
|
-moz-user-select: none; /* Firefox all */
|
||||||
|
-ms-user-select: none; /* IE 10+ */
|
||||||
|
user-select: none;
|
||||||
|
}
|
||||||
|
body {
|
||||||
|
min-width: 360px;
|
||||||
|
}
|
||||||
|
hr {
|
||||||
|
border-top: 1px solid #5755d9;
|
||||||
|
}
|
||||||
|
|
||||||
|
.controlBar {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
padding: 10px;
|
||||||
|
padding-left: 15px;
|
||||||
|
background-color: white;
|
||||||
|
margin-bottom: 6px;
|
||||||
|
}
|
||||||
|
.cmd {
|
||||||
|
color: #555555;
|
||||||
|
}
|
||||||
|
label {
|
||||||
|
display: block;
|
||||||
|
width: auto;
|
||||||
|
padding: 3px 12px;
|
||||||
|
color: #5755d9;
|
||||||
|
background-color: #ffffff;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
pre {
|
||||||
|
padding-left: 5px;
|
||||||
|
padding-right: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.modal {
|
||||||
|
position: fixed; /* Stay in place */
|
||||||
|
z-index: 10000; /* Sit on top */
|
||||||
|
padding-top: 100px; /* Location of the box */
|
||||||
|
left: 0;
|
||||||
|
top: 0;
|
||||||
|
width: 100%; /* Full width */
|
||||||
|
height: 100%; /* Full height */
|
||||||
|
overflow: auto; /* Enable scroll if needed */
|
||||||
|
background-color: rgb(0, 0, 0); /* Fallback color */
|
||||||
|
background-color: rgba(0, 0, 0, 0.4); /* Black w/ opacity */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Modal Content */
|
||||||
|
.modal-content {
|
||||||
|
border-top-left-radius: 10px;
|
||||||
|
border-top-right-radius: 10px;
|
||||||
|
border-bottom-left-radius: 10px;
|
||||||
|
border-bottom-right-radius: 10px;
|
||||||
|
background-color: #5755d9;
|
||||||
|
border: 1px solid #5755d9;
|
||||||
|
position: relative;
|
||||||
|
margin: auto;
|
||||||
|
padding: 0;
|
||||||
|
max-width: 450px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.modal-header {
|
||||||
|
padding: 16px 16px;
|
||||||
|
color: #ffffff;
|
||||||
|
background-color: #5755d9;
|
||||||
|
border-top-left-radius: 10px;
|
||||||
|
border-top-right-radius: 10px;
|
||||||
|
border-bottom: 1px solid #5755d9;
|
||||||
|
height: 2.5rem;
|
||||||
|
line-height: 2.5rem;
|
||||||
|
font-size: 1.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.modal-body {
|
||||||
|
padding: 10px 16px;
|
||||||
|
background-color: #ffffff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.modal-footer {
|
||||||
|
padding: 16px 16px;
|
||||||
|
height: 2.5em;
|
||||||
|
background-color: #ffffff;
|
||||||
|
border-top: 1px solid #5755d9;
|
||||||
|
border-bottom-left-radius: 10px;
|
||||||
|
border-bottom-right-radius: 10px;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row-reverse;
|
||||||
|
}
|
||||||
|
|
||||||
|
input {
|
||||||
|
display: block;
|
||||||
|
width: auto;
|
||||||
|
height: 1.5rem;
|
||||||
|
padding: 6px 12px;
|
||||||
|
line-height: 1.42857143;
|
||||||
|
border-radius: 4px;
|
||||||
|
color: #5755d9;
|
||||||
|
background-color: #ffffff;
|
||||||
|
outline: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
input {
|
||||||
|
border: 1px solid #5755d9;
|
||||||
|
}
|
||||||
|
|
||||||
|
button {
|
||||||
|
display: block;
|
||||||
|
width: auto;
|
||||||
|
height: 2.4rem;
|
||||||
|
padding: 6px 12px;
|
||||||
|
line-height: 1.42857143;
|
||||||
|
vertical-align: middle;
|
||||||
|
cursor: pointer;
|
||||||
|
border: 1px solid black;
|
||||||
|
white-space: nowrap;
|
||||||
|
border-radius: 4px;
|
||||||
|
color: #ffffff;
|
||||||
|
background-color: #5755d9;
|
||||||
|
}
|
||||||
|
|
||||||
|
::-moz-progress-bar {
|
||||||
|
background-color: #5755d9;
|
||||||
|
}
|
||||||
|
|
||||||
|
::-webkit-progress-value {
|
||||||
|
background-color: #5755d9;
|
||||||
|
}
|
||||||
|
|
||||||
|
::-webkit-progress-bar {
|
||||||
|
background-color: #f1f1f1;
|
||||||
|
}
|
||||||
|
|
||||||
|
progress,
|
||||||
|
.progbar {
|
||||||
|
margin-top: 10px;
|
||||||
|
height: 1rem;
|
||||||
|
background-color: #f1f1f1;
|
||||||
|
border: 1px solid #5755d9;
|
||||||
|
}
|
||||||
|
|
||||||
|
.label {
|
||||||
|
height: 2.4rem;
|
||||||
|
padding: 6px 12px;
|
||||||
|
line-height: 1.42857143;
|
||||||
|
vertical-align: middle;
|
||||||
|
display: inline-block;
|
||||||
|
width: auto;
|
||||||
|
color: #5755d9;
|
||||||
|
background-color: #ffffff;
|
||||||
|
overflow-wrap: anywhere;
|
||||||
|
}
|
||||||
|
|
||||||
|
.controlBar > button {
|
||||||
|
margin-right: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
meter {
|
||||||
|
background-color: #ffffff;
|
||||||
|
}
|
||||||
|
|
||||||
|
button:active {
|
||||||
|
background-color: #0b0899;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
list-style-type: none;
|
||||||
|
margin: 3px;
|
||||||
|
padding: 3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
pre {
|
||||||
|
margin: 10px 10px;
|
||||||
|
min-height: 350px;
|
||||||
|
max-height: 350px;
|
||||||
|
border: 1px solid #5755d9;
|
||||||
|
overflow-y: auto;
|
||||||
|
overflow-wrap: anywhere;
|
||||||
|
}
|
||||||
|
|
||||||
|
li {
|
||||||
|
padding: 9px 14px;
|
||||||
|
margin: 0px 1rem;
|
||||||
|
border: 1px hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.menuspacer {
|
||||||
|
flex-grow: 1;
|
||||||
|
pointer-events: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.panel {
|
||||||
|
margin: 10px 10px;
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-primary {
|
||||||
|
color: #5755d9;
|
||||||
|
}
|
||||||
|
.text-error {
|
||||||
|
color: red;
|
||||||
|
}
|
||||||
|
|
||||||
|
.disabled {
|
||||||
|
pointer-events: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.panel-header {
|
||||||
|
border-top-left-radius: 10px;
|
||||||
|
border-top-right-radius: 10px;
|
||||||
|
background-color: #5755d9;
|
||||||
|
color: white;
|
||||||
|
height: 2rem;
|
||||||
|
line-height: 2rem;
|
||||||
|
padding: 2px 15px;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.no-header {
|
||||||
|
border-top-left-radius: 10px;
|
||||||
|
border-top-right-radius: 10px;
|
||||||
|
border-top: 1px solid #5755d9;
|
||||||
|
}
|
||||||
|
|
||||||
|
.no-footer {
|
||||||
|
border-bottom-left-radius: 10px;
|
||||||
|
border-bottom-right-radius: 10px;
|
||||||
|
border-bottom: 1px solid #5755d9;
|
||||||
|
}
|
||||||
|
|
||||||
|
.panel-footer {
|
||||||
|
border-bottom-left-radius: 10px;
|
||||||
|
border-bottom-right-radius: 10px;
|
||||||
|
border: 1px solid #5755d9;
|
||||||
|
background-color: white;
|
||||||
|
min-height: 2rem;
|
||||||
|
line-height: 2rem;
|
||||||
|
padding: 2px 15px;
|
||||||
|
margin: 0px 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.panel-body {
|
||||||
|
min-height: 50px;
|
||||||
|
background-color: white;
|
||||||
|
border-right: 1px solid #5755d9;
|
||||||
|
border-left: 1px solid #5755d9;
|
||||||
|
}
|
||||||
|
|
||||||
|
.no-header {
|
||||||
|
padding: 10px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hide {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.table {
|
||||||
|
border: 0px;
|
||||||
|
border-spacing: 0;
|
||||||
|
max-width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.table th,
|
||||||
|
.table td {
|
||||||
|
white-space: nowrap;
|
||||||
|
padding: 8px;
|
||||||
|
line-height: 1.42857143;
|
||||||
|
vertical-align: top;
|
||||||
|
border-top: 1px solid #5755d9;
|
||||||
|
background-color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
svg {
|
||||||
|
background-color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fileicon:hover {
|
||||||
|
cursor: pointer;
|
||||||
|
background-color: #5755d9;
|
||||||
|
color: #5755d9;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fileitem:hover,
|
||||||
|
li:active,
|
||||||
|
li:hover {
|
||||||
|
cursor: pointer;
|
||||||
|
background-color: #5755d9;
|
||||||
|
color: white;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fileitem:active {
|
||||||
|
background-color: #0b0899;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fileicon:hover > svg {
|
||||||
|
cursor: pointer;
|
||||||
|
background-color: #5755d9;
|
||||||
|
color: #5755d9;
|
||||||
|
}
|
||||||
|
|
||||||
|
button > svg {
|
||||||
|
background-color: #5755d9;
|
||||||
|
text-decoration-color: #ffffff;
|
||||||
|
color: white !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
button:active > svg,
|
||||||
|
.fileicon:active > svg,
|
||||||
|
.fileicon:active {
|
||||||
|
background-color: #0b0899;
|
||||||
|
}
|
||||||
|
|
||||||
|
#MSG {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
#monitor_enable_autoscroll {
|
||||||
|
margin: 0px 0px;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (max-width: 600px) {
|
||||||
|
.menuspacer {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
Binary file not shown.
@ -1,105 +0,0 @@
|
|||||||
html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%; font-size:10px;}
|
|
||||||
body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333333;background-color:#ffffff;}
|
|
||||||
table{border:0px;border-spacing:0;max-width:100%;}
|
|
||||||
td{white-space:nowrap; padding:2mm;}
|
|
||||||
th{text-align:left;}
|
|
||||||
.table>thead>tr>th,.table>tbody>tr>th,.table>thead>tr>td,.table>tbody>tr>td{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #dddddd;}
|
|
||||||
.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9;}
|
|
||||||
a{position:relative;display:block;padding:10px 15px;text-decoration:none;color:#cccccc;}
|
|
||||||
.active{color:#ffffff;background-color:#000000;}
|
|
||||||
.active a,a:hover,a:focus{color:#FFFFFF;}
|
|
||||||
.panel{margin-bottom:20px;background-color:#ffffff;border:1px solid #dddddd;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05);}
|
|
||||||
.panel-body{padding:15px;}
|
|
||||||
.panel-heading{padding:10px 15px;color:#333333;background-color:#f5f5f5;border-color:#dddddd;border-top-right-radius:3px;border-top-left-radius:3px;border-bottom:1px solid #dddddd;}
|
|
||||||
.form-control{display:block;width:auto;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555555;background-color:#ffffff
|
|
||||||
;background-image:none;border:1px solid #cccccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);
|
|
||||||
* -webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;
|
|
||||||
* transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,0.6);
|
|
||||||
* box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,0.6);}
|
|
||||||
.form-group{margin-bottom:15px;}
|
|
||||||
.btn{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;vertical-align:middle;-ms-touch-action:manipulation; touch-action:manipulation;cursor:pointer;
|
|
||||||
background-image:none;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:14px;line-height:1.42857143;border-radius:4px;
|
|
||||||
* -webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}
|
|
||||||
.btn-primary{color:#ffffff;background-color:#337ab7;border-color:#2e6da4;}
|
|
||||||
.btn-primary:focus,.btn-primary:active,.btn-primary:hover,.btn-primary.focus,.btn-primary.active,.btn-primary.hover{color:#ffffff;background-color:#286090;border-color:#122b40;}
|
|
||||||
.btnimg {cursor:hand; border-radius:6px ;border:1px solid #FFFFFF;}
|
|
||||||
.btnimg:hover{background-color:#F0F0F0;border-color:#6c6c6c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #808080;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #808080;}
|
|
||||||
.btnroundimg {cursor:hand; border-radius:30px;}
|
|
||||||
.btnroundimg:hover{background-color:#F0F0F0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #808080;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #808080;}
|
|
||||||
.blacklink, .blacklink:active {color:#000000;}
|
|
||||||
.blacklink:hover{color:#000000;}
|
|
||||||
input[type="file"]::-webkit-file-upload-button{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;vertical-align:middle;-ms-touch-action:manipulation; touch-action:manipulation;cursor:pointer;
|
|
||||||
background-image:none;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:14px;line-height:1.42857143;border-radius:4px;
|
|
||||||
* -webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none; color: #ffffff;background-color: #5bc0de;border-color: #46b8da;}
|
|
||||||
input[type="file"]::-webkit-file-upload-button:focus{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;vertical-align:middle;-ms-touch-action:manipulation; touch-action:manipulation;cursor:pointer;
|
|
||||||
background-image:none;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:14px;line-height:1.42857143;border-radius:4px;
|
|
||||||
* -webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none; color: #ffffff;background-color: #31b0d5;border-color: #1b6d85;}
|
|
||||||
input[type="file"]::-webkit-file-upload-button:hover{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;vertical-align:middle;-ms-touch-action:manipulation; touch-action:manipulation;cursor:pointer;
|
|
||||||
background-image:none;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:14px;line-height:1.42857143;border-radius:4px;
|
|
||||||
* -webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none; color: #ffffff;background-color: #31b0d5;border-color: #269abc;}
|
|
||||||
.panel-footer{padding:10px 15px;color:#31708f;background-color:#f5f5f5;border-color:#dddddd;border-top:1px solid #dddddd;}
|
|
||||||
.panel-footer{padding:10px 15px;color:#31708f;background-color:#f5f5f5;border-color:#dddddd;border-top:1px solid #dddddd;}
|
|
||||||
|
|
||||||
.modal {
|
|
||||||
display: none; /* Hidden by default */
|
|
||||||
position: fixed; /* Stay in place */
|
|
||||||
z-index: 10000; /* Sit on top */
|
|
||||||
padding-top: 100px; /* Location of the box */
|
|
||||||
left: 0;
|
|
||||||
top: 0;
|
|
||||||
width: 100%; /* Full width */
|
|
||||||
height: 100%; /* Full height */
|
|
||||||
overflow: auto; /* Enable scroll if needed */
|
|
||||||
background-color: rgb(0,0,0); /* Fallback color */
|
|
||||||
background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Modal Content */
|
|
||||||
.modal-content {
|
|
||||||
border-top-left-radius: 10px;
|
|
||||||
border-top-right-radius: 10px;
|
|
||||||
border-bottom-left-radius: 10px;
|
|
||||||
border-bottom-right-radius: 10px;
|
|
||||||
border: 2px solid #337AB7;
|
|
||||||
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
|
|
||||||
position: relative;
|
|
||||||
margin: auto;
|
|
||||||
padding: 0;
|
|
||||||
background-color: #fefefe;
|
|
||||||
}
|
|
||||||
|
|
||||||
.modal-header {
|
|
||||||
padding: 2px 16px;
|
|
||||||
color: #0f0f0f;
|
|
||||||
background-color: #f2f2f2;
|
|
||||||
border-top-left-radius: 10px;
|
|
||||||
border-top-right-radius: 10px;
|
|
||||||
border-bottom: 1px solid #cfcfcf;
|
|
||||||
}
|
|
||||||
|
|
||||||
.modal-body {padding: 10px 16px;}
|
|
||||||
|
|
||||||
.modal-footer {
|
|
||||||
padding: 16px 16px;
|
|
||||||
height: 4.5em;
|
|
||||||
color: #0f0f0f;
|
|
||||||
background-color: #f2f2f2;
|
|
||||||
border-top: 1px solid #cfcfcf;
|
|
||||||
border-bottom-left-radius: 10px;
|
|
||||||
border-bottom-right-radius: 10px;
|
|
||||||
}
|
|
||||||
.hide_it {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (min-width: 768px) {
|
|
||||||
.modal-content {
|
|
||||||
width: 580px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@media screen and (max-width: 767px) {
|
|
||||||
.modal-content {
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,596 +0,0 @@
|
|||||||
var currentpath = "/";
|
|
||||||
var authentication = false;
|
|
||||||
var webupdate = false;
|
|
||||||
var filesystem = false;
|
|
||||||
var websocket_port = 0;
|
|
||||||
var websocket_IP = "";
|
|
||||||
var async_webcommunication = false;
|
|
||||||
var page_id = "";
|
|
||||||
var ws_source;
|
|
||||||
var log_off =false;
|
|
||||||
var websocket_started =false;
|
|
||||||
var esp_error_message ="";
|
|
||||||
var esp_error_code = 0;
|
|
||||||
var xmlhttpupload;
|
|
||||||
var typeupload = 0;
|
|
||||||
var wifimode = "";
|
|
||||||
var terminal_visible= false;
|
|
||||||
var terminalbody = DGEI('TERMINAL');
|
|
||||||
var wsmsg = "";
|
|
||||||
var Monitor_output = [];
|
|
||||||
|
|
||||||
function toogleConsole(){
|
|
||||||
if (terminal_visible){
|
|
||||||
terminalbody.style.display="none";
|
|
||||||
} else{
|
|
||||||
terminalbody.style.display="block";
|
|
||||||
}
|
|
||||||
terminal_visible= !terminal_visible;
|
|
||||||
}
|
|
||||||
function DGEI(s){
|
|
||||||
return document.getElementById(s);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function SendCustomCommand(){
|
|
||||||
if (DGEI('custom_cmd_txt').value.length >0){
|
|
||||||
Monitor_output_Update(DGEI('custom_cmd_txt').value + "\n");
|
|
||||||
var xmlhttp = new XMLHttpRequest();
|
|
||||||
xmlhttp.onreadystatechange = function() {
|
|
||||||
if (xmlhttp.readyState == 4 ) {
|
|
||||||
if(xmlhttp.status == 200) {
|
|
||||||
Monitor_output_Update(xmlhttp.responseText);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
xmlhttp.open("GET", "/command?cmd="+encodeURI(DGEI('custom_cmd_txt').value), true);
|
|
||||||
xmlhttp.send();
|
|
||||||
DGEI('custom_cmd_txt').value="";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function navbar(){
|
|
||||||
var content="<table><tr>";
|
|
||||||
var tlist = currentpath.split("/");
|
|
||||||
var path="/";
|
|
||||||
var nb = 1;
|
|
||||||
content+="<td class='btnimg' onclick=\"currentpath='/'; SendCommand('list','all');\">/</td>";
|
|
||||||
while (nb < (tlist.length-1))
|
|
||||||
{
|
|
||||||
path+=tlist[nb] + "/";
|
|
||||||
content+="<td class='btnimg' onclick=\"currentpath='"+path+"'; SendCommand('list','all');\">"+tlist[nb] +"</td><td>/</td>";
|
|
||||||
nb++;
|
|
||||||
}
|
|
||||||
content+="</tr></table>";
|
|
||||||
return content;
|
|
||||||
}
|
|
||||||
|
|
||||||
function trash_icon(){
|
|
||||||
return "<svg width='24' height='24' viewBox='0 0 128 128'>" +
|
|
||||||
"<rect x='52' y='12' rx='6' ry='6' width='25' height='7' style='fill:red;' />"+
|
|
||||||
"<rect x='52' y='16' width='25' height='2' style='fill:white;' />"+
|
|
||||||
"<rect x='30' y='18' rx='6' ry='6' width='67' height='100' style='fill:red;' />"+
|
|
||||||
"<rect x='20' y='18' rx='10' ry='10' width='87' height='14' style='fill:red;' />"+
|
|
||||||
"<rect x='20' y='29' width='87' height='3' style='fill:white;' />"+
|
|
||||||
"<rect x='40' y='43' rx='7' ry='7' width='7' height='63' style='fill:white;' />"+
|
|
||||||
"<rect x='60' y='43' rx='7' ry='7' width='7' height='63' style='fill:white;' />"+
|
|
||||||
"<rect x='80' y='43' rx='7' ry='7' width='7' height='63' style='fill:white;' /></svg>";
|
|
||||||
}
|
|
||||||
|
|
||||||
function back_icon(){
|
|
||||||
return "<svg width='24' height='24' viewBox='0 0 24 24'><path d='M7,3 L2,8 L7,13 L7,10 L17,10 L18,11 L18,15 L17,16 L10,16 L9,17 L9,19 L10,20 L20,20 L22,18 L22,8 L20,6 L7,6 z' stroke='black' fill='white' /></svg>";
|
|
||||||
}
|
|
||||||
|
|
||||||
function select_dir(directoryname){
|
|
||||||
currentpath+=directoryname + "/";
|
|
||||||
SendCommand('list','all');
|
|
||||||
}
|
|
||||||
|
|
||||||
function compareStrings(a, b) {
|
|
||||||
// case-insensitive comparison
|
|
||||||
a = a.toLowerCase();
|
|
||||||
b = b.toLowerCase();
|
|
||||||
return (a < b) ? -1 : (a > b) ? 1 : 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
function dispatchfilestatus(jsonresponse)
|
|
||||||
{
|
|
||||||
var content ="";
|
|
||||||
var display_message = false;
|
|
||||||
content =" Status: "+jsonresponse.status +
|
|
||||||
" | Total space: "+jsonresponse.total+
|
|
||||||
" | Used space: "+jsonresponse.used+
|
|
||||||
" | Occupation: "+
|
|
||||||
"<meter min='0' max='100' high='90' value='"+jsonresponse.occupation +"'></meter> "+jsonresponse.occupation +"%";
|
|
||||||
DGEI('status').innerHTML=content;
|
|
||||||
content ="";
|
|
||||||
if (currentpath!="/")
|
|
||||||
{
|
|
||||||
var pos = currentpath.lastIndexOf("/",currentpath.length-2);
|
|
||||||
var previouspath = currentpath.slice(0,pos+1);
|
|
||||||
content +="<tr style='cursor:hand;' onclick=\"currentpath='"+previouspath+"'; SendCommand('list','all');\"><td >"+back_icon()+"</td><td colspan='4'> Up..</td></tr>";
|
|
||||||
}
|
|
||||||
jsonresponse.files.sort(function(a, b) {
|
|
||||||
return compareStrings(a.name, b.name);
|
|
||||||
});
|
|
||||||
if (currentpath=="/") {
|
|
||||||
display_message = true;
|
|
||||||
}
|
|
||||||
var display_time =false;
|
|
||||||
for (var i1=0;i1 <jsonresponse.files.length;i1++){
|
|
||||||
//first display files
|
|
||||||
if (String(jsonresponse.files[i1].size) != "-1")
|
|
||||||
{
|
|
||||||
content +="<TR>"+
|
|
||||||
"<td><svg height='24' width='24' viewBox='0 0 24 24' > <path d='M1,2 L1,21 L2,22 L16,22 L17,21 L17,6 L12,6 L12,1 L2,1 z' stroke='black' fill='white' /><line x1='12' y1='1' x2='17' y2='6' stroke='black' stroke-width='1'/>"+
|
|
||||||
"</svg></td>"+
|
|
||||||
"<TD class='btnimg' style=\"padding:0px;\"><a href=\""+jsonresponse.path+jsonresponse.files[i1].name+"\" target=_blank><div class=\"blacklink\">"+
|
|
||||||
jsonresponse.files[i1].name;
|
|
||||||
if ((jsonresponse.files[i1].name == "index.html.gz")||(jsonresponse.files[i1].name == "index.html")){
|
|
||||||
display_message = false;
|
|
||||||
}
|
|
||||||
content +="</div></a></TD><TD>";
|
|
||||||
content +=jsonresponse.files[i1].size;
|
|
||||||
content +="</TD>";
|
|
||||||
if (jsonresponse.files[i1].hasOwnProperty('time')){
|
|
||||||
display_time = true;
|
|
||||||
content +="<TD>"+ jsonresponse.files[i1].time + "</TD>";
|
|
||||||
} else {
|
|
||||||
content +="<TD></TD>";
|
|
||||||
}
|
|
||||||
content +="<TD width='0%'><div class=\"btnimg\" onclick=\"Delete('"+jsonresponse.files[i1].name+"')\">"+
|
|
||||||
trash_icon()+"</div></TD><td></td></TR>";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//then display directories
|
|
||||||
for (var i2=0;i2 <jsonresponse.files.length;i2++){
|
|
||||||
if (String(jsonresponse.files[i2].size) == "-1")
|
|
||||||
{
|
|
||||||
content+="<TR><td><svg height='24' width='24' viewBox='0 0 24 24' ><path d='M19,11 L19,8 L18,7 L8,7 L8,5 L7,4 L2,4 L1,5 L1,22 L19,22 L20,21 L23,11 L5,11 L2,21 L1,22' stroke='black' fill='white' /></svg></td>"+
|
|
||||||
"<TD class='btnimg blacklink' style='padding:10px 15px;' onclick=\"select_dir('" + jsonresponse.files[i2].name+"');\">"+
|
|
||||||
jsonresponse.files[i2].name+"</TD><TD></TD><TD></TD>";
|
|
||||||
if (typeof jsonresponse.files[i2].hasOwnProperty('time')){
|
|
||||||
display_time = true;
|
|
||||||
}
|
|
||||||
content +="<TD width='0%'><div class=\"btnimg\" onclick=\"Deletedir('"+jsonresponse.files[i2].name+"')\">"+trash_icon()+"</div></TD><td></td></TR>";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(display_time){
|
|
||||||
DGEI('FS_time').innerHTML = "";
|
|
||||||
} else {
|
|
||||||
DGEI('FS_time').innerHTML = "Time";
|
|
||||||
}
|
|
||||||
if (display_message) {
|
|
||||||
|
|
||||||
DGEI('MSG').innerHTML = "File index.html.gz is missing, please upload it";
|
|
||||||
} else {
|
|
||||||
DGEI('MSG').innerHTML = "<a href='/' class= 'btn btn-primary'>Go to ESP3D interface</a>";
|
|
||||||
}
|
|
||||||
DGEI('file_list').innerHTML=content;
|
|
||||||
DGEI('path').innerHTML=navbar();}
|
|
||||||
|
|
||||||
function Delete(filename){
|
|
||||||
if (confirm("Confirm deletion of file: " + filename))SendCommand("delete",filename);
|
|
||||||
}
|
|
||||||
|
|
||||||
function Deletedir(filename){
|
|
||||||
if (confirm("Confirm deletion of directory: " + filename))SendCommand("deletedir",filename);
|
|
||||||
}
|
|
||||||
|
|
||||||
function Createdir(){
|
|
||||||
var filename = prompt("Directory name", "");
|
|
||||||
if (filename != null) {
|
|
||||||
SendCommand("createdir",filename.trim());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function isLimitedEnvironment() {
|
|
||||||
var sitesList = [
|
|
||||||
"clients3.google.com", //Android Captive Portal Detection
|
|
||||||
"connectivitycheck.",
|
|
||||||
//Apple iPhone, iPad with iOS 6 Captive Portal Detection
|
|
||||||
"apple.com",
|
|
||||||
".akamaitechnologies.com",
|
|
||||||
//Apple iPhone, iPad with iOS 7, 8, 9 and recent versions of OS X
|
|
||||||
"www.appleiphonecell.com",
|
|
||||||
"www.itools.info",
|
|
||||||
"www.ibook.info",
|
|
||||||
"www.airport.us",
|
|
||||||
"www.thinkdifferent.us",
|
|
||||||
".akamaiedge.net",
|
|
||||||
//Windows
|
|
||||||
".msftncsi.com",
|
|
||||||
"microsoft.com",
|
|
||||||
];
|
|
||||||
if (wifimode != "AP")return false;
|
|
||||||
for (var i = 0; i < sitesList.length; i++) {
|
|
||||||
if (document.location.host.indexOf(sitesList[i]) != -1) return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
function SendCommand(action,filename){
|
|
||||||
var xmlhttp = new XMLHttpRequest();
|
|
||||||
var url = "/files?action="+action;
|
|
||||||
DGEI('MSG').innerHTML = "Connecting...";
|
|
||||||
url += "&filename="+encodeURI(filename);
|
|
||||||
url += "&path="+encodeURI(currentpath);
|
|
||||||
xmlhttp.onreadystatechange = function() {
|
|
||||||
if (xmlhttp.readyState == 4 ) {
|
|
||||||
if(xmlhttp.status == 200) {
|
|
||||||
var jsonresponse = JSON.parse(xmlhttp.responseText);
|
|
||||||
dispatchfilestatus(jsonresponse);
|
|
||||||
} else {
|
|
||||||
if(xmlhttp.status == 401) {
|
|
||||||
RL ();
|
|
||||||
} else {
|
|
||||||
console.log(xmlhttp.status);
|
|
||||||
FWError();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
xmlhttp.open("GET", url, true);
|
|
||||||
xmlhttp.send();
|
|
||||||
}
|
|
||||||
|
|
||||||
function Sendfile(){
|
|
||||||
var files = DGEI('file-select').files;
|
|
||||||
if (files.length==0)return;
|
|
||||||
DGEI('upload-button').value = "Uploading...";
|
|
||||||
DGEI('prg').style.visibility = "visible";
|
|
||||||
var formData = new FormData();
|
|
||||||
formData.append('path', currentpath);
|
|
||||||
for (var i3 = 0; i3 < files.length; i3++) {
|
|
||||||
var file = files[i3];
|
|
||||||
var arg = currentpath + file.name + "S";
|
|
||||||
//append file size first to check updload is complete
|
|
||||||
formData.append(arg, file.size);
|
|
||||||
formData.append('myfiles[]', file, currentpath+file.name);}
|
|
||||||
xmlhttpupload = new XMLHttpRequest();
|
|
||||||
xmlhttpupload.open('POST', '/files', true);
|
|
||||||
//progress upload event
|
|
||||||
xmlhttpupload.upload.addEventListener("progress", updateProgress, false);
|
|
||||||
//progress function
|
|
||||||
function updateProgress (oEvent) {
|
|
||||||
if (oEvent.lengthComputable) {
|
|
||||||
var percentComplete = (oEvent.loaded / oEvent.total)*100;
|
|
||||||
DGEI('prg').value=percentComplete;
|
|
||||||
DGEI('upload-button').value = "Uploading ..." + percentComplete.toFixed(0)+"%" ;
|
|
||||||
} else {
|
|
||||||
// Impossible because size is unknown
|
|
||||||
}
|
|
||||||
}
|
|
||||||
typeupload = 1;
|
|
||||||
xmlhttpupload.onload = function () {
|
|
||||||
if (xmlhttpupload.status === 200) {
|
|
||||||
DGEI('upload-button').value = 'Upload';
|
|
||||||
DGEI('prg').style.visibility = "hidden";
|
|
||||||
DGEI('file-select').value="";
|
|
||||||
var jsonresponse = JSON.parse(xmlhttpupload.responseText);
|
|
||||||
dispatchfilestatus(jsonresponse);
|
|
||||||
} else uploadError();
|
|
||||||
};
|
|
||||||
|
|
||||||
xmlhttpupload.send(formData);
|
|
||||||
}
|
|
||||||
|
|
||||||
function autoscroll(){
|
|
||||||
if (DGEI('monitor_enable_autoscroll').checked == true) DGEI('cmd_content').scrollTop = DGEI('cmd_content').scrollHeight;
|
|
||||||
}
|
|
||||||
|
|
||||||
function padNumber(num, size) {
|
|
||||||
var s = num.toString();
|
|
||||||
while (s.length < size) s = "0" + s;
|
|
||||||
return s;
|
|
||||||
}
|
|
||||||
function getPCTime(){
|
|
||||||
var d = new Date();
|
|
||||||
return d.getFullYear() + "-" + padNumber(d.getMonth() + 1 ,2) + "-" + padNumber(d.getDate(),2) + "-" + padNumber(d.getHours(),2) + "-" + padNumber(d.getMinutes(),2) + "-" + padNumber(d.getSeconds(),2);
|
|
||||||
}
|
|
||||||
|
|
||||||
function HideAll(msg){
|
|
||||||
//console.log("Hide all:" + msg);
|
|
||||||
log_off = true;
|
|
||||||
if(websocket_started){
|
|
||||||
ws_source.close();
|
|
||||||
}
|
|
||||||
document.title = document.title + "(disconnected)";
|
|
||||||
DGEI('MSG').innerHTML = msg;
|
|
||||||
DGEI('FILESYSTEM').style.display = "none";
|
|
||||||
DGEI('FWUPDATE').style.display = "none";
|
|
||||||
DGEI('CONSOLE').style.display = "none";
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
function FWError(){
|
|
||||||
HideAll("Failed to communicate with FW!");
|
|
||||||
}
|
|
||||||
|
|
||||||
function FWOk(){
|
|
||||||
DGEI('MSG').innerHTML = "Connected";
|
|
||||||
DGEI('CONSOLE').style.display = "block";
|
|
||||||
if (filesystem){
|
|
||||||
DGEI('FILESYSTEM').style.display = "block";
|
|
||||||
}
|
|
||||||
if (webupdate){
|
|
||||||
DGEI('FWUPDATE').style.display = "block";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function InitUI(){
|
|
||||||
var xmlhttp = new XMLHttpRequest();
|
|
||||||
var url = "/command?cmd="+encodeURI("[ESP800]"+"time=" + getPCTime());
|
|
||||||
authentication = false;
|
|
||||||
async_webcommunication = false;
|
|
||||||
xmlhttp.onreadystatechange = function() {
|
|
||||||
if (xmlhttp.readyState == 4 ) {
|
|
||||||
var error = false;
|
|
||||||
if(xmlhttp.status == 200) {
|
|
||||||
var jsonresponse = JSON.parse(xmlhttp.responseText);
|
|
||||||
if ((typeof jsonresponse.FWVersion === "undefined")|| (typeof jsonresponse.Hostname === "undefined") || (typeof jsonresponse.WebUpdate === "undefined") || (typeof jsonresponse.WebSocketport === "undefined") || (typeof jsonresponse.WebSocketIP === "undefined") || (typeof jsonresponse.WebCommunication === "undefined") || (typeof jsonresponse.Filesystem === "undefined") || (typeof jsonresponse.Authentication === "undefined")) {
|
|
||||||
error = true;
|
|
||||||
} else {
|
|
||||||
DGEI('FWVERSION').innerHTML = "v"+jsonresponse.FWVersion;
|
|
||||||
if (jsonresponse.Filesystem != "None"){
|
|
||||||
filesystem = true;
|
|
||||||
//console.log(jsonresponse.Filesystem);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (jsonresponse.WebUpdate != "Disabled"){
|
|
||||||
webupdate = true;
|
|
||||||
//console.log(jsonresponse.WebUpdate);
|
|
||||||
}
|
|
||||||
//
|
|
||||||
wifimode = jsonresponse.WiFiMode;
|
|
||||||
//websocket port
|
|
||||||
websocket_port = jsonresponse.WebSocketport;
|
|
||||||
//websocket IP
|
|
||||||
websocket_IP = jsonresponse.WebSocketIP;
|
|
||||||
//console.log(websocket_port);
|
|
||||||
//async communications
|
|
||||||
if (jsonresponse.WebCommunication != "Synchronous") {
|
|
||||||
async_webcommunication = true;
|
|
||||||
//console.log(jsonresponse.WebCommunication);
|
|
||||||
}
|
|
||||||
if (isLimitedEnvironment()){
|
|
||||||
DGEI('InfoMSG').innerHTML="It seems you are in limited environment,<br> please open a browser using<BR>" + websocket_IP + "<br>to get all features working";
|
|
||||||
} else {
|
|
||||||
DGEI('InfoMSG').innerHTML="";
|
|
||||||
}
|
|
||||||
FWOk();
|
|
||||||
startSocket();
|
|
||||||
document.title = jsonresponse.Hostname;
|
|
||||||
if (filesystem)SendCommand('list','all');
|
|
||||||
if (jsonresponse.Authentication != "Disabled"){
|
|
||||||
authentication = true;
|
|
||||||
//console.log(jsonresponse.Authentication);
|
|
||||||
DGEI('loginicon').style.visibility = "visible";
|
|
||||||
} else {
|
|
||||||
DGEI('loginicon').style.visibility = "hidden";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else if (xmlhttp.status == 401){
|
|
||||||
RL();
|
|
||||||
} else {
|
|
||||||
error = true;
|
|
||||||
console.log( xmlhttp.status);
|
|
||||||
}
|
|
||||||
if (error) {
|
|
||||||
FWError();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
xmlhttp.open("GET", url, true);
|
|
||||||
xmlhttp.send();
|
|
||||||
}
|
|
||||||
|
|
||||||
function Monitor_output_Update(message) {
|
|
||||||
if (message) {
|
|
||||||
Monitor_output = Monitor_output.concat(message);
|
|
||||||
Monitor_output = Monitor_output.slice(-300);
|
|
||||||
var output="";
|
|
||||||
for (var i = 0; i < Monitor_output.length; i++) {
|
|
||||||
output+=Monitor_output[i];
|
|
||||||
}
|
|
||||||
DGEI("cmd_content").innerHTML = output;
|
|
||||||
autoscroll();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
function startSocket(){
|
|
||||||
if (websocket_started){
|
|
||||||
ws_source.close();
|
|
||||||
}
|
|
||||||
if(async_webcommunication){
|
|
||||||
ws_source = new WebSocket('ws://'+websocket_IP + ':' + websocket_port +'/ws',['arduino']);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
//console.log("Socket port is :" + websocket_port);
|
|
||||||
ws_source = new WebSocket('ws://'+websocket_IP + ':' + websocket_port,['arduino']);
|
|
||||||
}
|
|
||||||
ws_source.binaryType = "arraybuffer";
|
|
||||||
ws_source.onopen = function(e){
|
|
||||||
console.log("WS");
|
|
||||||
websocket_started = true;
|
|
||||||
};
|
|
||||||
ws_source.onclose = function(e){
|
|
||||||
websocket_started = false;
|
|
||||||
console.log("~WS");
|
|
||||||
//seems sometimes it disconnect so wait 3s and reconnect
|
|
||||||
//if it is not a log off
|
|
||||||
if(!log_off) setTimeout(startSocket, 3000);
|
|
||||||
};
|
|
||||||
ws_source.onerror = function(e){
|
|
||||||
console.log("WS", e);
|
|
||||||
};
|
|
||||||
ws_source.onmessage = function(e){
|
|
||||||
var msg = "";
|
|
||||||
//bin
|
|
||||||
if (e.data instanceof ArrayBuffer) {
|
|
||||||
var bytes = new Uint8Array(e.data);
|
|
||||||
for (var i = 0; i < bytes.length; i++) {
|
|
||||||
msg += String.fromCharCode(bytes[i]);
|
|
||||||
if ((bytes[i] == 10) || (bytes[i] == 13)) {
|
|
||||||
wsmsg += msg;
|
|
||||||
Monitor_output_Update(wsmsg);
|
|
||||||
wsmsg = "";
|
|
||||||
msg = "";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
wsmsg += msg;
|
|
||||||
} else {
|
|
||||||
msg = e.data;
|
|
||||||
var tval = msg.split(":");
|
|
||||||
if (tval.length >= 2) {
|
|
||||||
if (tval[0] == 'currentID') {
|
|
||||||
page_id = tval[1];
|
|
||||||
console.log("ID " + page_id);
|
|
||||||
}
|
|
||||||
if (tval[0] == 'activeID') {
|
|
||||||
if(page_id != tval[1]) {
|
|
||||||
HideAll("It seems you are connect from another location, your are now disconnected");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (tval[0] == 'ERROR') {
|
|
||||||
esp_error_message = tval[2];
|
|
||||||
esp_error_code = tval[1];
|
|
||||||
console.log(tval[2] + " code:" + tval[1]);
|
|
||||||
uploadError();
|
|
||||||
xmlhttpupload.abort();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
//console.log(msg);
|
|
||||||
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
window.onload = function() {
|
|
||||||
InitUI();
|
|
||||||
};
|
|
||||||
|
|
||||||
function uploadError()
|
|
||||||
{
|
|
||||||
if (esp_error_code != 0) {
|
|
||||||
alert('Update failed(' + esp_error_code + '): ' + esp_error_message);
|
|
||||||
esp_error_code = 0;
|
|
||||||
} else {
|
|
||||||
alert('Update failed!');
|
|
||||||
}
|
|
||||||
|
|
||||||
if (typeupload == 1) {
|
|
||||||
//location.reload();
|
|
||||||
DGEI('upload-button').value = 'Upload';
|
|
||||||
DGEI('prg').style.visibility = "hidden";
|
|
||||||
DGEI('file-select').value="";
|
|
||||||
SendCommand('list', 'all');
|
|
||||||
} else {
|
|
||||||
location.reload();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function Uploadfile(){
|
|
||||||
if (!confirm("Confirm Firmware Update ?"))return;
|
|
||||||
var files = DGEI('fw-select').files;
|
|
||||||
if (files.length==0)return;
|
|
||||||
DGEI('ubut').style.visibility = 'hidden';
|
|
||||||
DGEI('fw-select').style.visibility = 'hidden';
|
|
||||||
DGEI('msg').style.visibility = "visible";
|
|
||||||
DGEI('msg').innerHTML="";
|
|
||||||
DGEI('MSG').innerHTML="Please wait";
|
|
||||||
DGEI('CONSOLE').style.display = "none";
|
|
||||||
DGEI('FILESYSTEM').style.display = "none";
|
|
||||||
DGEI('prgfw').style.visibility = "visible";
|
|
||||||
var formData = new FormData();
|
|
||||||
for (var i4 = 0; i4 < files.length; i4++) {
|
|
||||||
var file = files[i4];
|
|
||||||
var arg = "/" + file.name + "S";
|
|
||||||
//append file size first to check updload is complete
|
|
||||||
formData.append(arg, file.size);
|
|
||||||
formData.append('myfile[]', file, "/"+file.name);}
|
|
||||||
typeupload = 0;
|
|
||||||
xmlhttpupload = new XMLHttpRequest();
|
|
||||||
xmlhttpupload.open('POST', '/updatefw', true);
|
|
||||||
//progress upload event
|
|
||||||
xmlhttpupload.upload.addEventListener("progress", updateProgress, false);
|
|
||||||
//progress function
|
|
||||||
function updateProgress (oEvent) {
|
|
||||||
if (oEvent.lengthComputable) {
|
|
||||||
var percentComplete = (oEvent.loaded / oEvent.total)*100;
|
|
||||||
DGEI('prgfw').value=percentComplete;
|
|
||||||
DGEI('msg').innerHTML = "Uploading ..." + percentComplete.toFixed(0)+"%" ;
|
|
||||||
} else {
|
|
||||||
// Impossible because size is unknown
|
|
||||||
}
|
|
||||||
}
|
|
||||||
xmlhttpupload.onload = function () {
|
|
||||||
if (xmlhttpupload.status === 200) {
|
|
||||||
DGEI('ubut').value = 'Upload';
|
|
||||||
DGEI('msg').innerHTML="Restarting....";
|
|
||||||
DGEI('counter').style.visibility = "visible";
|
|
||||||
DGEI('ubut').style.visibility = 'hidden';
|
|
||||||
DGEI('ubut').style.width = '0px';
|
|
||||||
DGEI('fw-select').value="";
|
|
||||||
DGEI('fw-select').style.visibility = 'hidden';
|
|
||||||
DGEI('fw-select').style.width = '0px';
|
|
||||||
|
|
||||||
var jsonresponse = JSON.parse(xmlhttpupload.responseText);
|
|
||||||
if (jsonresponse.status=='1' || jsonresponse.status=='4' || jsonresponse.status=='1')uploadError();
|
|
||||||
if (jsonresponse.status=='2')alert('Update canceled!');
|
|
||||||
else if (jsonresponse.status=='3')
|
|
||||||
{
|
|
||||||
var i5 = 0;
|
|
||||||
var interval;
|
|
||||||
var x = DGEI("prgfw");
|
|
||||||
x.max=40;
|
|
||||||
interval = setInterval(function(){
|
|
||||||
i5=i5+1;
|
|
||||||
var x = DGEI("prgfw");
|
|
||||||
x.value=i5;
|
|
||||||
DGEI('counter').innerHTML=41-i5;
|
|
||||||
if (i5>40)
|
|
||||||
{
|
|
||||||
clearInterval(interval);
|
|
||||||
location.reload();
|
|
||||||
}
|
|
||||||
},1000);
|
|
||||||
}
|
|
||||||
else uploadError();
|
|
||||||
} else uploadError();
|
|
||||||
};
|
|
||||||
xmlhttpupload.send(formData);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function RL(){
|
|
||||||
DGEI('loginpage').style.display='block';
|
|
||||||
}
|
|
||||||
|
|
||||||
function SLR (){
|
|
||||||
DGEI('loginpage').style.display='none';
|
|
||||||
var user = DGEI('lut').value.trim();
|
|
||||||
var password = DGEI('lpt').value.trim();
|
|
||||||
var url = "/login?USER="+encodeURIComponent(user) + "&PASSWORD=" + encodeURIComponent(password) + "&SUBMIT=yes" ;
|
|
||||||
var xmlhttp = new XMLHttpRequest();
|
|
||||||
xmlhttp.onreadystatechange = function() {
|
|
||||||
if (xmlhttp.readyState == 4){
|
|
||||||
if (xmlhttp.status != 200) {
|
|
||||||
if (xmlhttp.status == 401) {
|
|
||||||
RL();
|
|
||||||
} else {
|
|
||||||
FWError();
|
|
||||||
console.log(xmlhttp.status);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
InitUI();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
xmlhttp.open("GET", url, true);
|
|
||||||
xmlhttp.send();
|
|
||||||
}
|
|
@ -1,166 +0,0 @@
|
|||||||
<html>
|
|
||||||
<head>
|
|
||||||
<!-- smoosh -->
|
|
||||||
<link href="css/style.css" rel="stylesheet">
|
|
||||||
<!-- endsmoosh -->
|
|
||||||
<title>ESP3D tool page</title>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div class="panel">
|
|
||||||
<table width="100%">
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<a class="btnimg" href="https://www.github.com/luc-github/ESP3D/tree/3.0" target="_blank">
|
|
||||||
<svg width='1em' height='1em' viewBox='0 0 1300 1200'>
|
|
||||||
<g transform='translate(50,1200) scale(1, -1)'>
|
|
||||||
<path d='M600 1174q33 0 74 -5l38 -152l5 -1q49 -14 94 -39l5 -2l134 80q61 -48 104 -105l-80 -134l3 -5q25 -44 39 -93l1 -6l152 -38q5 -43 5 -73q0 -34 -5 -74l-152 -38l-1 -6q-15 -49 -39 -93l-3 -5l80 -134q-48 -61 -104 -105l-134 81l-5 -3q-44 -25 -94 -39l-5 -2l-38 -151 q-43 -5 -74 -5q-33 0 -74 5l-38 151l-5 2q-49 14 -94 39l-5 3l-134 -81q-60 48 -104 105l80 134l-3 5q-25 45 -38 93l-2 6l-151 38q-6 42 -6 74q0 33 6 73l151 38l2 6q13 48 38 93l3 5l-80 134q47 61 105 105l133 -80l5 2q45 25 94 39l5 1l38 152q43 5 74 5zM600 815 q-89 0 -152 -63t-63 -151.5t63 -151.5t152 -63t152 63t63 151.5t-63 151.5t-152 63z'></path>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
||||||
<span class="blacklink">Firmware</span>
|
|
||||||
</a>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<a class="btnimg" href="https://www.github.com/luc-github/ESP3D-WEBUI/tree/3.0" target="_blank">
|
|
||||||
<svg width='1em' height='1em' viewBox='0 0 1300 1200'>
|
|
||||||
<g transform='translate(50,1200) scale(1, -1)'>
|
|
||||||
<path d='M600 1094q82 0 160.5 -22.5t140 -59t116.5 -82.5t94.5 -95t68 -95t42.5 -82.5t14 -57.5t-14 -57.5t-43 -82.5t-68.5 -95t-94.5 -95t-116.5 -82.5t-140 -59t-159.5 -22.5t-159.5 22.5t-140 59t-116.5 82.5t-94.5 95t-68.5 95t-43 82.5t-14 57.5t14 57.5t42.5 82.5t68 95 t94.5 95t116.5 82.5t140 59t160.5 22.5zM888 829q-15 15 -18 12t5 -22q25 -57 25 -119q0 -124 -88 -212t-212 -88t-212 88t-88 212q0 59 23 114q8 19 4.5 22t-17.5 -12q-70 -69 -160 -184q-13 -16 -15 -40.5t9 -42.5q22 -36 47 -71t70 -82t92.5 -81t113 -58.5t133.5 -24.5 t133.5 24t113 58.5t92.5 81.5t70 81.5t47 70.5q11 18 9 42.5t-14 41.5q-90 117 -163 189zM448 727l-35 -36q-15 -15 -19.5 -38.5t4.5 -41.5q37 -68 93 -116q16 -13 38.5 -11t36.5 17l35 34q14 15 12.5 33.5t-16.5 33.5q-44 44 -89 117q-11 18 -28 20t-32 -12z'> </path>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
||||||
<span class="blacklink">Interface</span>
|
|
||||||
</a>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<a class="btnimg" href="https://github.com/luc-github/ESP3D/wiki" target="_blank">
|
|
||||||
<svg width='1em' height='1em' viewBox='0 0 1300 1200'>
|
|
||||||
<g transform='translate(50,1200) scale(1, -1)'>
|
|
||||||
<path d='M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM588 941q-29 0 -59 -5.5t-63 -20.5t-58 -38.5t-41.5 -63t-16.5 -89.5 q0 -25 20 -25h131q30 -5 35 11q6 20 20.5 28t45.5 8q20 0 31.5 -10.5t11.5 -28.5q0 -23 -7 -34t-26 -18q-1 0 -13.5 -4t-19.5 -7.5t-20 -10.5t-22 -17t-18.5 -24t-15.5 -35t-8 -46q-1 -8 5.5 -16.5t20.5 -8.5h173q7 0 22 8t35 28t37.5 48t29.5 74t12 100q0 47 -17 83 t-42.5 57t-59.5 34.5t-64 18t-59 4.5zM675 400h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5z'> </path>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
||||||
<span class="blacklink">Help</span></a>
|
|
||||||
</td>
|
|
||||||
<td style="width:100%;"></td>
|
|
||||||
<td onclick='RL();' id="loginicon" style='visibility:hidden'>
|
|
||||||
<a class="btnimg">
|
|
||||||
<svg width='1.3em' height='1.2em' viewBox='0 0 1300 1200'>
|
|
||||||
<g transform='translate(50,1200) scale(1, -1)'>
|
|
||||||
<path fill='black' d='M900 800v200q0 83 -58.5 141.5t-141.5 58.5h-300q-82 0 -141 -59t-59 -141v-200h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-600q0 -41 29.5 -70.5t70.5 -29.5h900q41 0 70.5 29.5t29.5 70.5v600q0 41 -29.5 70.5t-70.5 29.5h-100zM400 800v150q0 21 15 35.5t35 14.5h200 q20 0 35 -14.5t15 -35.5v-150h-300z' />
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
||||||
</a>
|
|
||||||
</td>
|
|
||||||
<td style="text-align:right;">
|
|
||||||
<a href="/config" target="_blank">
|
|
||||||
<span id="FWVERSION" class="blacklink"></span>
|
|
||||||
</a>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<div class="panel">
|
|
||||||
<center><h2 id="MSG"></h2><h2 id="InfoMSG"></h2></center>
|
|
||||||
</div>
|
|
||||||
<div class="panel hide_it" id="CONSOLE">
|
|
||||||
<div class="panel-heading" onclick='toogleConsole()'>Console</div>
|
|
||||||
<div class="panel-body hide_it" id="TERMINAL">
|
|
||||||
<table>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<input class="form-control" autocomplete="off" type="text" value="" id="custom_cmd_txt" placeholder="Send Command..." />
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<button class="btn btn-primary" onclick="SendCustomCommand();" >Send</button>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<input type="checkbox" onclick="autoscroll()" id="monitor_enable_autoscroll" checked />
|
|
||||||
<span>Autoscroll</span>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<div style="overflow-wrap: break-word;">
|
|
||||||
<pre id="cmd_content" style="min-height: 350px; max-height: 350px;border:1px solid black;overflow-y: auto;overflow-wrap: anywhere;"></pre>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="panel hide_it" id="FILESYSTEM">
|
|
||||||
<div class="panel-heading">Flash Filesystem</div>
|
|
||||||
<div class="panel-body">
|
|
||||||
<input type="file" id="file-select" name="myfiles[]" multiple />
|
|
||||||
<input class="btn btn-primary" type="button" id="upload-button" onclick="Sendfile();" value="Upload"/> <progress style="visibility:hidden;" name='prg' id='prg' max='100'></progress>
|
|
||||||
<br><br>
|
|
||||||
<div class="panel">
|
|
||||||
<div class="panel-body">
|
|
||||||
<table>
|
|
||||||
<tr>
|
|
||||||
<td width="0%">
|
|
||||||
<input class="btn btn-primary" type="button" onclick="SendCommand('list','all');" value="Refresh"/>
|
|
||||||
</td>
|
|
||||||
<td width="0%">
|
|
||||||
<div onclick="Createdir()" class="btnimg"><svg width="40" height="40" viewBox="0 0 40 40"><rect x="5" y="10" width="30" height="20" rx="2" ry="2" fill="#31b0d5" />
|
|
||||||
<rect x="20" y="5" width="15" height="15" rx="2" ry="2" fill="#31b0d5" /><text x="15" y="25" font-size="18" font-weight="800" fill="white">+</text></svg>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<td width="100%">
|
|
||||||
<div id="path" class="info" > </div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<table class="table table-striped" style="border:1px;solid #dddddd;margin-bottom:20px;" >
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th width='0%'>Type</th>
|
|
||||||
<th>Name</th>
|
|
||||||
<th>Size</th>
|
|
||||||
<th id="FS_time">Time</th>
|
|
||||||
<th width='0%'></th>
|
|
||||||
<th width='100%'></th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody id="file_list"></tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<div class="panel-footer " id="status"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="panel hide_it" id="FWUPDATE">
|
|
||||||
<div class="panel-heading">Firmware Update</div>
|
|
||||||
<div class="panel-body">
|
|
||||||
<table>
|
|
||||||
<tr>
|
|
||||||
<td><input type="file" id="fw-select" name="myfiles[]" /></td>
|
|
||||||
<td><input class="btn btn-primary" type="button" id="ubut" onclick="Uploadfile();" value="Update"/></td>
|
|
||||||
<td><progress style="visibility:hidden;" name='prgfw' id='prgfw' max='100'></progress></td>
|
|
||||||
<td><span id='msg' style='visibility:hidden;'>Restarting, please wait....</span><span id='counter'></span></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div id="loginpage"class="modal">
|
|
||||||
<div class="modal-content" >
|
|
||||||
<div class="modal-header">
|
|
||||||
<h3>Identification</h3>
|
|
||||||
</div>
|
|
||||||
<div class="modal-body">
|
|
||||||
<span>
|
|
||||||
<span class="modal-text" translate>User:</span>
|
|
||||||
<input class='form-control' type="text" id="lut" style="width:auto"/>
|
|
||||||
</span>
|
|
||||||
<hr>
|
|
||||||
<span>
|
|
||||||
<span class="modal-text" translate>Password:</span>
|
|
||||||
<input class='form-control' type="password" id="lpt" style="width:auto"/>
|
|
||||||
</span>
|
|
||||||
<br>
|
|
||||||
</div>
|
|
||||||
<div class="modal-footer">
|
|
||||||
<input type="button" class="btn btn-primary" onclick="SLR()" value="Submit"/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- smoosh -->
|
|
||||||
<script src="js/script.js"></script>
|
|
||||||
<!-- endsmoosh -->
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
||||||
|
|
@ -22,7 +22,7 @@
|
|||||||
#define _VERSION_ESP3D_H
|
#define _VERSION_ESP3D_H
|
||||||
|
|
||||||
//version and sources location
|
//version and sources location
|
||||||
#define FW_VERSION "3.0.0.a92"
|
#define FW_VERSION "3.0.0.a93"
|
||||||
#define REPOSITORY "https://github.com/luc-github/ESP3D/tree/3.0"
|
#define REPOSITORY "https://github.com/luc-github/ESP3D/tree/3.0"
|
||||||
|
|
||||||
#endif //_VERSION_ESP3D_H
|
#endif //_VERSION_ESP3D_H
|
||||||
|
@ -24,479 +24,389 @@
|
|||||||
#define __embedded_h
|
#define __embedded_h
|
||||||
/* Generated by bin2c, do not edit manually */
|
/* Generated by bin2c, do not edit manually */
|
||||||
|
|
||||||
/* Contents of file tool.html.gz */
|
/* Contents of file C:\Users\User\Documents\GitHub\ESP3D\embedded\dist\index.html.gz */
|
||||||
#define tool_html_gz_size 7528
|
#define tool_html_gz_size 6091
|
||||||
const unsigned char tool_html_gz[7528] PROGMEM = {
|
const unsigned char tool_html_gz[6091] PROGMEM = {
|
||||||
0x1F, 0x8B, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xED, 0x3C, 0x6B, 0x73, 0xDB, 0x38,
|
0x1F, 0x8B, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0A, 0xED, 0x3C, 0x0D, 0x73, 0xDA, 0xB8,
|
||||||
0x92, 0x7F, 0x85, 0xE1, 0xD6, 0x5A, 0xE2, 0x89, 0x94, 0xF9, 0xD0, 0x5B, 0x96, 0xB3, 0x99, 0xC4,
|
0xB6, 0x7F, 0xC5, 0xD1, 0x9D, 0x4D, 0xCC, 0xC5, 0x18, 0x43, 0x92, 0x6E, 0x0B, 0x31, 0xBD, 0xFD,
|
||||||
0x99, 0xF8, 0x2A, 0x4E, 0x52, 0x71, 0xB2, 0xB9, 0xAD, 0x4C, 0xCA, 0x45, 0x89, 0x90, 0xC5, 0x0B,
|
0x48, 0x36, 0xB9, 0xD3, 0x6C, 0x3B, 0xF9, 0x68, 0xF7, 0x4E, 0x5F, 0x67, 0xC7, 0x60, 0x01, 0xDA,
|
||||||
0x45, 0xCA, 0x24, 0x64, 0xD9, 0x71, 0x7C, 0xBF, 0xFD, 0xBA, 0x1B, 0x20, 0x09, 0xEA, 0x65, 0x7B,
|
0xD8, 0x96, 0xD7, 0x16, 0x21, 0x94, 0xF2, 0xDF, 0xDF, 0x39, 0x92, 0x6C, 0x6C, 0xC0, 0x84, 0x7E,
|
||||||
0x76, 0x6A, 0x77, 0x3E, 0xEC, 0x66, 0x6D, 0x92, 0x40, 0xA3, 0xD1, 0x68, 0xF4, 0x1B, 0xF0, 0x1C,
|
0xEC, 0xBE, 0x99, 0xF7, 0xDE, 0x74, 0x4A, 0x8C, 0x74, 0xA4, 0x73, 0x74, 0xBE, 0x25, 0x1D, 0x73,
|
||||||
0xCD, 0xF8, 0x3C, 0x3A, 0x3E, 0x9A, 0x31, 0x3F, 0x38, 0x3E, 0xCA, 0xF8, 0x6D, 0xC4, 0x8E, 0xB1,
|
0xB2, 0xE7, 0xF3, 0x81, 0x98, 0xC5, 0xD4, 0x18, 0x8B, 0x30, 0xE8, 0x9D, 0xE0, 0xA7, 0x11, 0x78,
|
||||||
0xE5, 0x6E, 0x9A, 0xC4, 0xDC, 0x9A, 0xFA, 0xF3, 0x30, 0xBA, 0x1D, 0x64, 0x7E, 0x9C, 0x59, 0x19,
|
0xD1, 0xC8, 0x25, 0x34, 0x22, 0xF0, 0x9D, 0x7A, 0x7E, 0xEF, 0x24, 0xA4, 0xC2, 0x33, 0x06, 0x63,
|
||||||
0x4B, 0xC3, 0xE9, 0xD0, 0x9A, 0x67, 0x16, 0x67, 0x37, 0xDC, 0xCA, 0xC2, 0x1F, 0xCC, 0xF2, 0x83,
|
0x2F, 0x49, 0xA9, 0x70, 0xC9, 0xED, 0xCD, 0x59, 0xE3, 0x29, 0xD1, 0xAD, 0x63, 0x21, 0xE2, 0x06,
|
||||||
0xFF, 0x5D, 0x66, 0x7C, 0xE0, 0xD8, 0xF6, 0x5F, 0x87, 0xD6, 0x8A, 0x8D, 0xBF, 0x87, 0x7C, 0x47,
|
0xFD, 0x73, 0xC2, 0xEE, 0x5D, 0xF2, 0x5B, 0xE3, 0xF6, 0x45, 0xE3, 0x15, 0x0F, 0x63, 0x4F, 0xB0,
|
||||||
0x2F, 0xA1, 0xC3, 0x56, 0xF8, 0x5C, 0xDC, 0xDC, 0x8F, 0x93, 0xE0, 0xB6, 0x32, 0x85, 0xFE, 0x86,
|
0x7E, 0x40, 0x89, 0x31, 0xE0, 0x91, 0xA0, 0x11, 0x0C, 0xB9, 0x38, 0x75, 0xA9, 0x3F, 0xA2, 0xD9,
|
||||||
0x45, 0xD7, 0x8C, 0x87, 0x13, 0x5F, 0x7B, 0xC7, 0x96, 0x4C, 0x37, 0x8B, 0x6F, 0xF3, 0x45, 0x1A,
|
0xA0, 0xC8, 0x0B, 0xA9, 0x4B, 0xEE, 0x19, 0x9D, 0xC6, 0x3C, 0x11, 0x05, 0xB8, 0x29, 0xF3, 0xC5,
|
||||||
0xFA, 0x91, 0xA9, 0xD0, 0xA0, 0xE0, 0x6A, 0x2D, 0x6E, 0x86, 0x51, 0x18, 0x33, 0x6B, 0xC6, 0xC2,
|
0xD8, 0xF5, 0xE9, 0x3D, 0x1B, 0xD0, 0x86, 0xFC, 0x62, 0xB1, 0x88, 0x09, 0xE6, 0x05, 0x8D, 0x74,
|
||||||
0xCB, 0x19, 0xCC, 0xD5, 0x6C, 0xB9, 0xBD, 0x76, 0xD7, 0x69, 0x79, 0xC3, 0x49, 0x12, 0x25, 0xE9,
|
0xE0, 0x05, 0xD4, 0x6D, 0xC1, 0x14, 0x82, 0x89, 0x80, 0xF6, 0x5E, 0xF3, 0xC1, 0x24, 0x84, 0x41,
|
||||||
0xE0, 0x2F, 0x9E, 0xE7, 0x0D, 0xC7, 0xFE, 0xE4, 0xFB, 0x65, 0x9A, 0x2C, 0xE3, 0xC0, 0x92, 0xAD,
|
0x27, 0x4D, 0xF5, 0xFD, 0x24, 0x1D, 0x24, 0x2C, 0x16, 0x86, 0x4F, 0x87, 0x34, 0x71, 0x89, 0xFC,
|
||||||
0xD3, 0xE9, 0xF4, 0x9E, 0xFB, 0xE3, 0x88, 0xDD, 0x8D, 0x93, 0x34, 0x60, 0xE9, 0xC0, 0x1E, 0x8A,
|
0x43, 0x7A, 0xA6, 0x59, 0x73, 0x7B, 0x73, 0x32, 0x49, 0xA9, 0x91, 0x8A, 0x84, 0x0D, 0x04, 0xE9,
|
||||||
0x17, 0x2B, 0x5B, 0xF8, 0x93, 0x30, 0xBE, 0x84, 0x86, 0xB9, 0x7F, 0x63, 0xAD, 0xC2, 0x80, 0xCF,
|
0x06, 0x54, 0x18, 0xD4, 0x12, 0x56, 0x64, 0x31, 0x8B, 0x5B, 0x81, 0x95, 0x5A, 0xBE, 0xE5, 0x59,
|
||||||
0x68, 0x05, 0xF7, 0x3C, 0xB8, 0x5B, 0xCD, 0x42, 0xCE, 0x08, 0x82, 0x0D, 0xE2, 0x64, 0x95, 0xFA,
|
0x89, 0x35, 0xB0, 0x26, 0x56, 0x68, 0xC5, 0xD6, 0xD8, 0x1A, 0x59, 0x43, 0x6B, 0x66, 0x4D, 0xAD,
|
||||||
0x8B, 0xE1, 0xC2, 0x0F, 0x02, 0x04, 0x77, 0xE7, 0xF3, 0x7B, 0x3E, 0xBB, 0xA3, 0xC5, 0xFB, 0x51,
|
0x37, 0xEE, 0x5E, 0xCB, 0xBA, 0x77, 0xF7, 0x1C, 0xEB, 0xD4, 0xFD, 0xF8, 0xC9, 0xBA, 0xC3, 0xA7,
|
||||||
0x78, 0x19, 0x0F, 0x22, 0x36, 0xE5, 0xF7, 0x4D, 0x9A, 0xE4, 0x98, 0xE3, 0x7A, 0x8F, 0x79, 0x7A,
|
0x3E, 0xB6, 0x5D, 0xE0, 0xC7, 0x4B, 0x97, 0x10, 0xEB, 0x01, 0x9F, 0xAE, 0xF1, 0xE9, 0xDC, 0x25,
|
||||||
0xCC, 0x03, 0x73, 0xA3, 0x69, 0x56, 0x34, 0xD1, 0x26, 0x54, 0xA1, 0x8A, 0xA6, 0xD9, 0x5D, 0x3E,
|
0x4D, 0x35, 0xF9, 0xA5, 0x75, 0x63, 0xDD, 0x5A, 0x67, 0xD6, 0x3B, 0xEB, 0xB5, 0x75, 0xE5, 0x3A,
|
||||||
0x55, 0x6F, 0xF7, 0x9A, 0xAF, 0x59, 0x8A, 0x2C, 0x8B, 0x24, 0x09, 0x3C, 0x59, 0xE4, 0xCB, 0x82,
|
0xDD, 0xE1, 0x24, 0x1A, 0x08, 0xC6, 0x23, 0xE3, 0x95, 0x09, 0x78, 0x6B, 0xF3, 0x84, 0x8A, 0x49,
|
||||||
0xD7, 0x81, 0xB3, 0xB8, 0xD1, 0xB2, 0x24, 0x0A, 0x03, 0xED, 0x2F, 0x41, 0x10, 0x48, 0xDA, 0xAC,
|
0x12, 0x19, 0xD4, 0x16, 0xFC, 0x1A, 0x68, 0x8A, 0x46, 0x66, 0xCD, 0x8E, 0x3D, 0xFF, 0x5A, 0x78,
|
||||||
0x8C, 0xA7, 0xE1, 0x82, 0x05, 0x05, 0x41, 0x83, 0x98, 0xCF, 0xAC, 0x64, 0x6A, 0xF1, 0xDB, 0x05,
|
0x89, 0x30, 0x85, 0x45, 0x1C, 0x52, 0x5B, 0xE4, 0x63, 0x3E, 0x98, 0xB5, 0xF9, 0xFD, 0xFE, 0xBE,
|
||||||
0xAB, 0x27, 0x41, 0x60, 0xDC, 0x6D, 0x61, 0x5F, 0x1F, 0xFF, 0xDD, 0xFB, 0x77, 0x8B, 0x24, 0x0B,
|
0x49, 0x6D, 0x58, 0x1F, 0x0F, 0x82, 0x1B, 0x1E, 0xBB, 0xD9, 0xF3, 0x39, 0x65, 0xA3, 0xB1, 0x28,
|
||||||
0x79, 0x98, 0xC4, 0x83, 0x94, 0x45, 0x3E, 0x0F, 0xAF, 0xD9, 0x30, 0x08, 0xB3, 0x45, 0xE4, 0xDF,
|
0x00, 0xBF, 0x35, 0x69, 0x6D, 0xCE, 0x86, 0xF8, 0x79, 0xEA, 0x9E, 0xDA, 0xC0, 0xD6, 0x81, 0x27,
|
||||||
0x0E, 0xC6, 0x51, 0x32, 0xF9, 0x5E, 0xB0, 0x07, 0x37, 0x5D, 0x73, 0xDA, 0x40, 0x39, 0x71, 0x28,
|
0xE0, 0x9B, 0x85, 0xDF, 0xD2, 0x00, 0x98, 0x6A, 0x36, 0x0E, 0x1D, 0xA7, 0x26, 0xC9, 0x04, 0x76,
|
||||||
0x60, 0x93, 0x24, 0xF5, 0x69, 0x60, 0x9C, 0xC4, 0x2C, 0xDF, 0xAB, 0xC9, 0x64, 0x72, 0xDF, 0xF4,
|
0x93, 0xEE, 0x90, 0x27, 0xA6, 0x64, 0x08, 0xD0, 0x49, 0x4F, 0x4E, 0xED, 0x80, 0x46, 0x23, 0x31,
|
||||||
0x27, 0x88, 0xE7, 0xAE, 0xDC, 0xA8, 0x2D, 0xDB, 0x67, 0xDB, 0x76, 0x0E, 0xA8, 0xF9, 0xA6, 0x3F,
|
0xEE, 0xD2, 0x7A, 0xBD, 0x26, 0xEA, 0xEE, 0xE9, 0x47, 0xFA, 0xA9, 0xEB, 0x6B, 0x46, 0xDB, 0x23,
|
||||||
0x98, 0x26, 0x93, 0x65, 0x06, 0xCF, 0x59, 0x02, 0x1C, 0x50, 0x86, 0xDE, 0x37, 0x17, 0x7E, 0xCC,
|
0x2A, 0x4E, 0x03, 0x8A, 0x8F, 0x2F, 0x67, 0x17, 0xBE, 0x49, 0x60, 0xFA, 0x94, 0x07, 0xF4, 0x95,
|
||||||
0xA2, 0xBB, 0xB9, 0x9F, 0x5E, 0x86, 0xB1, 0x35, 0x4E, 0x38, 0x4F, 0xE6, 0x03, 0x17, 0x88, 0xD9,
|
0x12, 0x1E, 0xA9, 0xD9, 0x2C, 0x8A, 0x68, 0x72, 0x7E, 0x73, 0xF9, 0xC6, 0x15, 0x16, 0xD0, 0xBD,
|
||||||
0x2E, 0x13, 0x92, 0x5B, 0x6B, 0x9C, 0xCA, 0x79, 0x98, 0xFA, 0x41, 0xB8, 0xCC, 0x06, 0x28, 0x73,
|
0x58, 0x12, 0xF6, 0x1E, 0x49, 0x92, 0x48, 0xBB, 0x22, 0x99, 0xCD, 0x85, 0xFB, 0xEF, 0xEB, 0xB7,
|
||||||
0xB9, 0xB0, 0x8F, 0x93, 0x1B, 0x2B, 0x9B, 0xF9, 0x41, 0xB2, 0x1A, 0xD8, 0x1A, 0x8E, 0xC2, 0x9F,
|
0xBF, 0xC2, 0xA2, 0x41, 0xA1, 0x90, 0xBC, 0xB7, 0xA6, 0xFC, 0x9E, 0x4A, 0x6E, 0xB0, 0xE1, 0x0C,
|
||||||
0xF4, 0x72, 0xEC, 0xD7, 0x6D, 0x13, 0xFF, 0x35, 0xED, 0xB6, 0x31, 0x7C, 0x0C, 0x90, 0xA4, 0xD4,
|
0xB8, 0x10, 0x4D, 0x82, 0xC0, 0x22, 0x06, 0xA9, 0xD5, 0xC9, 0x7F, 0x45, 0xC0, 0x10, 0x58, 0xC8,
|
||||||
0x22, 0xC5, 0x28, 0xB8, 0x06, 0x0C, 0xCB, 0x3B, 0x50, 0x10, 0xA0, 0xED, 0x6E, 0x93, 0xA3, 0xFB,
|
0x60, 0x6C, 0x02, 0xF7, 0x60, 0x8D, 0xBA, 0x69, 0x39, 0xFD, 0xEF, 0xD9, 0xF4, 0x5C, 0x4E, 0xCF,
|
||||||
0x05, 0xBD, 0x8D, 0xFF, 0xF2, 0x15, 0xC8, 0x46, 0x65, 0x4D, 0x20, 0x17, 0x56, 0x8A, 0x62, 0x94,
|
0xCB, 0xD3, 0x2F, 0xC7, 0x6A, 0xCE, 0x7F, 0x36, 0xC9, 0x69, 0x92, 0xF0, 0xA4, 0x63, 0xFC, 0x91,
|
||||||
0xAF, 0xCE, 0x43, 0xDE, 0x94, 0x7D, 0x28, 0xC5, 0x5B, 0xBA, 0x24, 0x27, 0xD7, 0x25, 0x6A, 0x9A,
|
0xC2, 0x68, 0xDF, 0x03, 0x95, 0xF4, 0x12, 0x6A, 0xB0, 0x68, 0xC0, 0x93, 0x84, 0x0E, 0xC4, 0xDE,
|
||||||
0xA4, 0x73, 0x98, 0x24, 0xE6, 0x69, 0x12, 0xDD, 0x55, 0x25, 0x41, 0x68, 0x92, 0xBF, 0xE4, 0xC9,
|
0x49, 0x3F, 0x69, 0xF6, 0x48, 0x1D, 0x48, 0xBB, 0xE7, 0xCC, 0x97, 0x7C, 0x5D, 0x00, 0x5F, 0xB9,
|
||||||
0x50, 0xCA, 0xAD, 0x87, 0x8C, 0xCC, 0x97, 0xD3, 0xC1, 0xD5, 0xB8, 0xD0, 0xF0, 0x24, 0xE5, 0x6E,
|
0x7D, 0xF6, 0xE1, 0x3D, 0x4D, 0x52, 0xC0, 0x59, 0x9B, 0xCF, 0x15, 0xDF, 0x2A, 0xD9, 0x73, 0x4F,
|
||||||
0xB7, 0xDB, 0xBB, 0x36, 0xB2, 0x6C, 0x0D, 0xE7, 0xFE, 0x25, 0x13, 0x72, 0xB6, 0xB9, 0xBD, 0x20,
|
0x93, 0x37, 0x2C, 0xBA, 0x23, 0xB5, 0x2E, 0x2D, 0x70, 0x86, 0xDC, 0x93, 0x7A, 0x61, 0x1A, 0x8B,
|
||||||
0x72, 0x8F, 0xDB, 0xDE, 0x30, 0xCE, 0x18, 0xD7, 0x76, 0xEC, 0x5F, 0xB7, 0xBA, 0xCB, 0x0F, 0xC2,
|
0xDA, 0x9E, 0xEF, 0x9F, 0xDE, 0xC3, 0xA8, 0x37, 0x2C, 0x05, 0x3E, 0xD2, 0x04, 0x18, 0x0B, 0x92,
|
||||||
0x5A, 0x89, 0xC5, 0x53, 0x30, 0x68, 0x42, 0x77, 0xD4, 0xCD, 0xD1, 0x98, 0x9F, 0x31, 0x0B, 0x64,
|
0xBA, 0x23, 0x96, 0x99, 0xAD, 0xCF, 0xAC, 0x69, 0x5C, 0x11, 0x9D, 0x1A, 0xB7, 0x57, 0x6F, 0x4C,
|
||||||
0x35, 0x59, 0x72, 0xAD, 0xE9, 0xB4, 0x33, 0xB3, 0xC4, 0xBB, 0xD1, 0x57, 0x65, 0xB8, 0xD0, 0x82,
|
0x82, 0x56, 0xD7, 0x69, 0x36, 0x49, 0x7D, 0xCA, 0x22, 0x9F, 0x4F, 0xED, 0x80, 0xC3, 0x1A, 0x01,
|
||||||
0xBB, 0xEA, 0x56, 0x77, 0x3A, 0xFE, 0x94, 0xF5, 0x87, 0x30, 0x02, 0x39, 0x09, 0x56, 0xED, 0x77,
|
0xD2, 0x1E, 0xF3, 0x54, 0xD4, 0x49, 0x13, 0x44, 0x33, 0x64, 0x23, 0x40, 0xAD, 0xFB, 0x79, 0x4C,
|
||||||
0x2C, 0xCD, 0xB4, 0xA1, 0xB3, 0x97, 0x77, 0x38, 0xB6, 0x6B, 0x3A, 0xDD, 0xB6, 0xE9, 0x7A, 0x9E,
|
0x23, 0x50, 0x3E, 0xF2, 0x7B, 0x1F, 0x6C, 0x1B, 0x48, 0x5A, 0xD4, 0xE4, 0x7A, 0x2A, 0x69, 0xA7,
|
||||||
0xD9, 0xEC, 0x18, 0x92, 0x06, 0xE4, 0xF5, 0x62, 0x4D, 0xCF, 0x84, 0xF8, 0x8E, 0x79, 0x5C, 0x88,
|
0x69, 0xAC, 0x68, 0xFF, 0xF1, 0xD4, 0xAD, 0xD0, 0x84, 0xA4, 0x58, 0xC2, 0x1E, 0x04, 0x5E, 0x9A,
|
||||||
0x42, 0x18, 0xD3, 0x7E, 0x0A, 0x89, 0xA8, 0x02, 0xDB, 0x62, 0xE7, 0x57, 0x62, 0xAB, 0x5B, 0xB6,
|
0x22, 0x0E, 0x3B, 0xA1, 0x21, 0xBF, 0xA7, 0x30, 0x09, 0xF3, 0x29, 0xA9, 0x59, 0xC0, 0x2B, 0x16,
|
||||||
0x3D, 0x54, 0x6C, 0xE9, 0x84, 0xC5, 0x9C, 0xA5, 0xEB, 0xE6, 0x6D, 0x1E, 0x06, 0x41, 0xC4, 0x84,
|
0xD0, 0x74, 0x06, 0xD8, 0xC3, 0xFD, 0x7D, 0xF2, 0x2B, 0x8F, 0x28, 0xD9, 0x73, 0xCB, 0xAD, 0x51,
|
||||||
0x4B, 0x4A, 0x96, 0x93, 0x99, 0x85, 0x16, 0x01, 0xF8, 0x39, 0xF7, 0xE3, 0x70, 0xB1, 0x8C, 0xC8,
|
0xF5, 0x70, 0x72, 0x1A, 0x79, 0xE0, 0x8A, 0x7C, 0xE2, 0xC2, 0x98, 0x0F, 0xB4, 0x7F, 0x1B, 0x83,
|
||||||
0xBE, 0x0C, 0x77, 0xF7, 0x4C, 0x96, 0x69, 0x06, 0x2C, 0x5A, 0x24, 0x21, 0x21, 0x7F, 0xA4, 0xC4,
|
0xB4, 0xE9, 0xFE, 0x3E, 0xDB, 0x86, 0xF1, 0x03, 0x3B, 0x63, 0x97, 0xDC, 0x07, 0x30, 0x39, 0xE6,
|
||||||
0xD0, 0xBE, 0x2D, 0xFC, 0x14, 0x28, 0x1A, 0xEE, 0xF1, 0x07, 0x4F, 0x94, 0xE7, 0x2D, 0x22, 0x38,
|
0x9A, 0x0F, 0xEE, 0xA8, 0xB8, 0x78, 0xB7, 0xBF, 0x9F, 0x2F, 0x39, 0xD3, 0x66, 0xF7, 0x23, 0xB2,
|
||||||
0x4F, 0x7E, 0x58, 0xCB, 0x0C, 0x3D, 0x12, 0x8B, 0xD8, 0x84, 0x0B, 0x72, 0x70, 0xAD, 0x1B, 0x8D,
|
0x03, 0xD8, 0x93, 0x1E, 0xDA, 0x23, 0xCE, 0x47, 0x01, 0x05, 0xA3, 0x0B, 0x89, 0x85, 0xB6, 0x11,
|
||||||
0xEB, 0x0D, 0xC4, 0x73, 0x6B, 0x91, 0xC2, 0x32, 0xD2, 0xDB, 0xFD, 0x86, 0xD4, 0xF3, 0xBA, 0xFE,
|
0x81, 0x22, 0xB1, 0x7B, 0x26, 0x66, 0x83, 0x31, 0x1D, 0xDC, 0xD9, 0xD0, 0xE8, 0xC5, 0x71, 0x0E,
|
||||||
0xB8, 0xBB, 0x66, 0x1E, 0x5C, 0xD6, 0x09, 0xFC, 0x56, 0x05, 0x8B, 0x34, 0xB6, 0x66, 0xA5, 0x4D,
|
0x60, 0x7B, 0x77, 0x5E, 0xE8, 0x31, 0x41, 0x07, 0xE3, 0x88, 0x07, 0x7C, 0xC4, 0x68, 0xAA, 0x7B,
|
||||||
0x58, 0xDD, 0x4A, 0x13, 0x19, 0xE0, 0x4A, 0xD3, 0x60, 0xCB, 0xC8, 0xC1, 0xE6, 0xC8, 0x0D, 0xD3,
|
0xA6, 0xD3, 0xA9, 0x2D, 0x21, 0x59, 0x3C, 0x86, 0xD5, 0x0E, 0x68, 0x10, 0x14, 0x7A, 0x98, 0xE0,
|
||||||
0xBD, 0x85, 0x58, 0xB7, 0xD7, 0xB1, 0xFB, 0xF6, 0x1A, 0xB1, 0x8E, 0xEB, 0x8E, 0x5B, 0x36, 0x11,
|
0x3C, 0x48, 0x41, 0xA1, 0x86, 0x3C, 0x6B, 0xE9, 0x73, 0x7E, 0x57, 0x6C, 0xF0, 0x58, 0x82, 0x6E,
|
||||||
0x1B, 0xCE, 0x2F, 0xEF, 0xE4, 0xA6, 0xCE, 0xFC, 0x78, 0xDD, 0x6C, 0x77, 0x0A, 0xEB, 0xA5, 0xEA,
|
0xD5, 0x9E, 0xA4, 0xBA, 0x41, 0x8C, 0x41, 0x96, 0x3E, 0x1B, 0x82, 0x47, 0x44, 0x61, 0xCB, 0x76,
|
||||||
0x3F, 0x39, 0x09, 0x31, 0x56, 0x92, 0xB0, 0xC5, 0x9E, 0xD8, 0xF8, 0x6F, 0x6D, 0xDE, 0xCE, 0x04,
|
0x8D, 0x1F, 0xBD, 0xB2, 0x1D, 0x51, 0x81, 0x2D, 0x61, 0x3A, 0x14, 0xD1, 0x20, 0x65, 0x1A, 0x5B,
|
||||||
0xFF, 0xFD, 0x6E, 0x75, 0x42, 0xF9, 0xB8, 0x4C, 0xD9, 0xED, 0x53, 0xCC, 0x46, 0x65, 0x20, 0x51,
|
0xC8, 0xC0, 0xC9, 0xA4, 0x7C, 0x28, 0xE4, 0xF7, 0x4F, 0x5D, 0xD0, 0x17, 0xF2, 0xE2, 0x1D, 0x30,
|
||||||
0x4D, 0x64, 0xEE, 0x5F, 0xB6, 0x67, 0x4B, 0x25, 0xCC, 0x61, 0x1F, 0x5A, 0xE6, 0xBF, 0x73, 0x45,
|
0x9F, 0xD6, 0x94, 0x1D, 0xED, 0xB5, 0x56, 0xDC, 0x87, 0x28, 0xBA, 0x0F, 0x00, 0x6F, 0xB4, 0xF6,
|
||||||
0x11, 0x10, 0x05, 0x1A, 0xF2, 0xDD, 0x2C, 0x5F, 0x07, 0xD5, 0x78, 0x80, 0x3C, 0x7F, 0xD9, 0x59,
|
0x96, 0xE6, 0x51, 0x52, 0x02, 0x20, 0xD7, 0xA7, 0x0F, 0x6F, 0x87, 0xA6, 0x00, 0x0F, 0x53, 0xCB,
|
||||||
0x91, 0x1A, 0xEC, 0x0B, 0xE3, 0xC5, 0x92, 0x7F, 0xC5, 0xD8, 0x65, 0x34, 0x0D, 0x23, 0xF6, 0x6D,
|
0xE6, 0x73, 0xBA, 0xD9, 0xC4, 0x0B, 0x73, 0x29, 0x85, 0x5A, 0x6D, 0xFE, 0xAB, 0x49, 0x2E, 0x84,
|
||||||
0x30, 0xC8, 0xD7, 0x83, 0x9F, 0xD6, 0x72, 0x11, 0x25, 0x7E, 0x60, 0x8D, 0x97, 0x60, 0x73, 0xFE,
|
0x91, 0x52, 0x1A, 0xA6, 0xC6, 0x8C, 0x4F, 0xB4, 0xB1, 0x1A, 0x01, 0x0B, 0x81, 0x81, 0xBE, 0x41,
|
||||||
0x63, 0x96, 0xFE, 0xB5, 0x66, 0x69, 0xB8, 0x57, 0xB9, 0xDB, 0xE3, 0x89, 0x1D, 0xB0, 0x35, 0x25,
|
0xA3, 0x7B, 0x96, 0xF0, 0x08, 0xD1, 0x58, 0x60, 0xB9, 0x3D, 0x03, 0x98, 0xE7, 0x81, 0xC7, 0x47,
|
||||||
0x6B, 0x75, 0xC6, 0xBD, 0xC0, 0x7F, 0xD2, 0xA6, 0x4A, 0x2F, 0xF8, 0x9F, 0xAD, 0xFD, 0xF3, 0x6C,
|
0x0D, 0x33, 0x3C, 0xA3, 0x9F, 0xF0, 0x69, 0x4A, 0x13, 0x63, 0x92, 0x82, 0x77, 0x39, 0x79, 0x79,
|
||||||
0xAD, 0xE7, 0x8C, 0xED, 0x60, 0x3D, 0x06, 0x75, 0xC6, 0x9D, 0xA0, 0xD7, 0x7E, 0xDA, 0xD6, 0x0A,
|
0x05, 0x86, 0x5D, 0xD0, 0xD1, 0x92, 0x88, 0xEB, 0xE6, 0x53, 0xC7, 0x75, 0x57, 0xD5, 0x16, 0xB9,
|
||||||
0x6D, 0xFF, 0xCF, 0xD6, 0xFE, 0xC9, 0xB7, 0xD6, 0xED, 0xF4, 0xFD, 0xF1, 0x24, 0x4F, 0x5C, 0xA6,
|
0xF9, 0x9C, 0x90, 0x0E, 0xFC, 0xAB, 0x6F, 0xEA, 0xAB, 0x81, 0x93, 0x42, 0xBC, 0x82, 0x1B, 0x60,
|
||||||
0x49, 0x02, 0x1C, 0xD9, 0x93, 0xB7, 0x38, 0x5D, 0xBB, 0xB7, 0x0D, 0xF7, 0x23, 0x52, 0x97, 0x8D,
|
0x48, 0x86, 0x17, 0x04, 0xC6, 0x90, 0x7A, 0xB0, 0x12, 0x9A, 0x1A, 0x53, 0x9E, 0xDC, 0x01, 0x5A,
|
||||||
0x04, 0xE4, 0xDF, 0x30, 0xE5, 0x3C, 0x09, 0xFC, 0x32, 0xD9, 0x21, 0x96, 0x15, 0x59, 0xF1, 0x34,
|
0x30, 0x39, 0x6E, 0x9F, 0xC3, 0xCA, 0x31, 0xF4, 0x81, 0x3B, 0xCF, 0xD9, 0x22, 0x83, 0x97, 0xBB,
|
||||||
0xBC, 0x61, 0xC1, 0xF0, 0x07, 0xC4, 0xEC, 0x01, 0xBB, 0xC1, 0x32, 0x02, 0x48, 0xA2, 0xA4, 0x4A,
|
0xEC, 0xAB, 0x59, 0xB9, 0x57, 0xA3, 0xA6, 0x0C, 0x4F, 0xB5, 0xF9, 0xC5, 0xFE, 0xFE, 0x14, 0xF4,
|
||||||
0xE0, 0xB2, 0x31, 0x15, 0xC5, 0x1C, 0x0B, 0x44, 0x16, 0x1B, 0xEC, 0x61, 0x59, 0x71, 0xC8, 0xF3,
|
0x95, 0x83, 0x37, 0x03, 0xEB, 0x91, 0x76, 0x96, 0xD3, 0x6C, 0x92, 0x69, 0xAA, 0xD6, 0x51, 0x47,
|
||||||
0x24, 0x7A, 0x47, 0xC9, 0x9F, 0x46, 0xE0, 0x52, 0x29, 0x83, 0xDA, 0x9A, 0x11, 0x6F, 0xB6, 0xAA,
|
0xF2, 0x02, 0x58, 0xDA, 0x8B, 0x74, 0x16, 0x0D, 0xC6, 0xC0, 0x10, 0x0E, 0x92, 0x76, 0xDD, 0xF4,
|
||||||
0xEE, 0xB6, 0x65, 0x48, 0x52, 0x29, 0x5D, 0x00, 0x81, 0xBB, 0xDB, 0x91, 0xE5, 0x39, 0x76, 0x35,
|
0x39, 0x69, 0x4E, 0x53, 0xE8, 0x04, 0xDD, 0xFE, 0x48, 0xBC, 0xC4, 0x9F, 0xB0, 0x88, 0x93, 0x4F,
|
||||||
0x03, 0xAC, 0x64, 0x87, 0x6A, 0xA7, 0xD0, 0xB5, 0x9D, 0x63, 0x65, 0xF7, 0xAE, 0xE1, 0x03, 0xB7,
|
0x35, 0x6B, 0x6A, 0xF7, 0x59, 0xE4, 0x25, 0xB3, 0x1B, 0x08, 0xFF, 0x2E, 0x74, 0x24, 0xDE, 0xAC,
|
||||||
0xE4, 0x63, 0x11, 0x85, 0x2A, 0x79, 0x32, 0xE6, 0x1B, 0x0E, 0x0A, 0xBE, 0x5D, 0x89, 0x1A, 0x5C,
|
0x3F, 0x41, 0x25, 0x21, 0xD0, 0x05, 0xA3, 0x81, 0x7B, 0x6E, 0x51, 0xE3, 0x21, 0xEA, 0x39, 0x0B,
|
||||||
0x63, 0xB8, 0x59, 0x73, 0x10, 0xCA, 0x2F, 0x58, 0x93, 0x6F, 0xFA, 0x16, 0x76, 0xFC, 0x65, 0xCA,
|
0xD9, 0x25, 0x69, 0x59, 0xF6, 0x09, 0xD9, 0xD7, 0xB2, 0x1E, 0xBE, 0x7C, 0x81, 0x04, 0xE1, 0x86,
|
||||||
0xF0, 0x5F, 0xCE, 0x07, 0xCC, 0xA8, 0x15, 0x29, 0x71, 0xE5, 0x84, 0xB9, 0x90, 0x50, 0x34, 0xB4,
|
0x85, 0x94, 0x4F, 0x84, 0x8A, 0xBC, 0xD9, 0x1A, 0x16, 0xD6, 0x21, 0x3D, 0xAC, 0xA9, 0xD1, 0x14,
|
||||||
0x55, 0x48, 0x5C, 0xFC, 0xB7, 0x2B, 0x49, 0x7E, 0x22, 0xFB, 0x2A, 0xB9, 0xE8, 0x14, 0xFF, 0xE5,
|
0x7D, 0x6F, 0x69, 0x66, 0xD5, 0x1E, 0xD2, 0x34, 0xF5, 0x46, 0xD4, 0x5D, 0xB5, 0x32, 0x8E, 0x81,
|
||||||
0xE4, 0x55, 0x2B, 0x01, 0xB6, 0xA4, 0x2E, 0xEF, 0x5D, 0x17, 0xF1, 0x4E, 0x4E, 0xBD, 0x14, 0x9A,
|
0x0A, 0xA3, 0x9A, 0x2D, 0x3D, 0x35, 0x8B, 0x52, 0xE1, 0x45, 0x03, 0xCA, 0x87, 0xC6, 0x0B, 0xA4,
|
||||||
0x56, 0xB3, 0xCD, 0xE6, 0x4F, 0x5F, 0xCA, 0x26, 0x39, 0xFF, 0xE4, 0x6E, 0xDF, 0x37, 0x67, 0x61,
|
0xF9, 0xA5, 0xA4, 0x39, 0x33, 0x48, 0xE9, 0x84, 0x58, 0x24, 0x9E, 0xCA, 0x3E, 0x3D, 0xA6, 0xB6,
|
||||||
0xC0, 0x2E, 0x42, 0x5E, 0xD1, 0x90, 0xFB, 0xBF, 0xCD, 0x59, 0x10, 0xFA, 0x5A, 0x7D, 0x0E, 0x36,
|
0x4D, 0x51, 0x79, 0xDD, 0x55, 0x61, 0xD8, 0x1E, 0x26, 0x3C, 0x7C, 0x05, 0x59, 0xCE, 0x2B, 0xD0,
|
||||||
0x5B, 0x48, 0x7C, 0xB7, 0x03, 0x3B, 0x6E, 0xDC, 0xAD, 0xC9, 0xA8, 0xE8, 0x6B, 0xF7, 0x10, 0x53,
|
0x3A, 0xA5, 0x99, 0x56, 0xCB, 0xD9, 0x73, 0xF1, 0x69, 0x7F, 0xBF, 0x75, 0xA8, 0x9E, 0xBE, 0x7C,
|
||||||
0x3E, 0x28, 0x9B, 0xA4, 0x8C, 0xC5, 0x1A, 0x84, 0xBA, 0x30, 0xBE, 0xA8, 0xD1, 0x75, 0x3B, 0xDD,
|
0x31, 0x5F, 0xD6, 0x5D, 0x0E, 0x31, 0xEB, 0x65, 0x4D, 0xE5, 0x00, 0x48, 0x5F, 0xAD, 0x8B, 0x8D,
|
||||||
0x9D, 0xE3, 0xA9, 0x7E, 0x77, 0x7F, 0x74, 0x28, 0xCA, 0x9B, 0x47, 0x3C, 0xE4, 0xF0, 0x38, 0x39,
|
0x0B, 0x1A, 0xA4, 0x14, 0xC2, 0x8F, 0xC2, 0x2A, 0xA3, 0x6C, 0x00, 0xB2, 0x4D, 0xE3, 0x80, 0x81,
|
||||||
0xFF, 0xE0, 0xBD, 0xD2, 0x78, 0x92, 0x44, 0xDA, 0x02, 0x2C, 0xF4, 0xD1, 0xA1, 0x68, 0x3E, 0x3A,
|
0xA0, 0x3A, 0x00, 0x15, 0x68, 0xCC, 0x3D, 0xB7, 0x0D, 0x5A, 0x40, 0x06, 0x93, 0x04, 0x4D, 0xF2,
|
||||||
0x14, 0xA5, 0x50, 0xAA, 0x86, 0x1D, 0x05, 0xE1, 0xB5, 0x36, 0x89, 0xFC, 0x2C, 0x1B, 0xE9, 0x64,
|
0xE2, 0x35, 0xC8, 0x29, 0xF8, 0xE8, 0x00, 0x1A, 0xF3, 0x1A, 0x1E, 0x5A, 0x80, 0x99, 0x78, 0xE8,
|
||||||
0x5A, 0x74, 0x18, 0x8D, 0x55, 0x33, 0x8D, 0x10, 0x8F, 0x74, 0xC4, 0x8C, 0x6D, 0x29, 0xFC, 0xC0,
|
0x3E, 0x68, 0xA1, 0xEB, 0x7A, 0x4F, 0x76, 0x01, 0xCC, 0x03, 0x66, 0x22, 0xB9, 0x4A, 0x58, 0x60,
|
||||||
0x20, 0x3F, 0x07, 0x16, 0x19, 0x85, 0xAE, 0xCD, 0x52, 0x36, 0x1D, 0xE9, 0x33, 0xCE, 0x17, 0xD9,
|
0x1E, 0x32, 0x60, 0xC9, 0x8F, 0x35, 0x43, 0xD1, 0xAE, 0xC8, 0xC0, 0xD5, 0x19, 0x5E, 0xC4, 0xC5,
|
||||||
0xE0, 0xF0, 0x70, 0xB5, 0x5A, 0x35, 0x2F, 0x43, 0x3E, 0x5B, 0x8E, 0x9B, 0x93, 0x64, 0x7E, 0x18,
|
0x18, 0x6C, 0x21, 0xD3, 0x5F, 0x2B, 0x07, 0x8B, 0xF8, 0xD4, 0xF0, 0x59, 0xAA, 0xA1, 0xA9, 0x6F,
|
||||||
0x2D, 0x27, 0x96, 0xF8, 0x3C, 0x24, 0x62, 0x0E, 0x39, 0x2C, 0xEC, 0xD0, 0x6B, 0xDA, 0xBA, 0xC6,
|
0x83, 0xBA, 0xAC, 0x68, 0x69, 0xF9, 0x6B, 0x9D, 0x98, 0x45, 0xF8, 0x1A, 0x29, 0xB9, 0x71, 0x88,
|
||||||
0x41, 0xA2, 0x19, 0x1F, 0xE9, 0x17, 0x10, 0xEA, 0xC6, 0xDF, 0x61, 0x86, 0xEC, 0xFA, 0xB2, 0x98,
|
0x1B, 0xB9, 0x47, 0x65, 0x15, 0xED, 0x51, 0x45, 0xFB, 0xE3, 0x21, 0x75, 0x75, 0x20, 0x10, 0xA2,
|
||||||
0x93, 0xCD, 0x01, 0x31, 0x6D, 0xB3, 0xFC, 0xB8, 0x0E, 0xD9, 0xEA, 0x97, 0xE4, 0x66, 0xA4, 0x63,
|
0xDC, 0x7C, 0x0D, 0x5D, 0xFE, 0xD5, 0xD5, 0xDB, 0xAB, 0x25, 0x43, 0x2F, 0x6D, 0xAF, 0x0F, 0x46,
|
||||||
0x38, 0xED, 0x78, 0x36, 0xFC, 0x72, 0x6D, 0x1B, 0x46, 0x5D, 0x0A, 0x0F, 0x83, 0x19, 0xFA, 0x48,
|
0x0A, 0x7C, 0xFA, 0xC3, 0x0C, 0x3E, 0xB6, 0x3F, 0x59, 0x92, 0xBF, 0x10, 0x00, 0x17, 0xD2, 0xCB,
|
||||||
0xA7, 0x57, 0xD0, 0x18, 0x56, 0x6F, 0xDB, 0x26, 0x02, 0x18, 0xC0, 0x4A, 0x3F, 0x62, 0x75, 0xC7,
|
0x2C, 0x8D, 0xDF, 0x2A, 0x7C, 0x43, 0xB3, 0x56, 0xDF, 0x21, 0x9F, 0x0D, 0x27, 0x11, 0x53, 0xEC,
|
||||||
0xD4, 0x2C, 0xC7, 0x00, 0xF0, 0x85, 0xCF, 0x67, 0x5A, 0x30, 0xD2, 0xCF, 0x3A, 0x88, 0xC2, 0xE9,
|
0xAA, 0x59, 0xFF, 0x36, 0x49, 0x00, 0x68, 0xD1, 0x9B, 0x07, 0x01, 0x58, 0x35, 0x4A, 0x7C, 0xF7,
|
||||||
0xB6, 0xAE, 0x3C, 0x0F, 0x30, 0x76, 0x5B, 0x9A, 0xD5, 0x8E, 0xBC, 0x1E, 0x40, 0xB5, 0xDD, 0xA8,
|
0x84, 0x62, 0x25, 0xCD, 0xE1, 0x3A, 0xCD, 0x91, 0xBD, 0x90, 0xEB, 0x14, 0x52, 0xB9, 0x3F, 0x54,
|
||||||
0x0D, 0x8F, 0xAB, 0x56, 0x1F, 0x7E, 0xB7, 0xB4, 0x3E, 0xF4, 0x78, 0x7D, 0x6C, 0x72, 0x23, 0xC7,
|
0xAE, 0x88, 0x2A, 0x14, 0x41, 0xCA, 0x1D, 0x07, 0xDC, 0xF3, 0x8D, 0xA1, 0xC7, 0x70, 0x91, 0x68,
|
||||||
0x6B, 0x69, 0x3D, 0xFB, 0xAA, 0xE3, 0x68, 0x56, 0xAB, 0xA7, 0x39, 0x36, 0x74, 0x39, 0x76, 0x3B,
|
0x0C, 0xA8, 0x97, 0xFB, 0xFB, 0x32, 0x3B, 0x81, 0x47, 0x7C, 0x36, 0x23, 0x17, 0x65, 0x42, 0xEA,
|
||||||
0xB2, 0x7A, 0x36, 0xBC, 0x78, 0xAD, 0xC8, 0x03, 0x24, 0x57, 0x2E, 0x80, 0xB6, 0x5A, 0x9A, 0x07,
|
0x90, 0x00, 0xD4, 0x80, 0x8B, 0x90, 0x2E, 0xC3, 0xAA, 0xA3, 0x3A, 0xD9, 0x83, 0x2F, 0x2D, 0xD7,
|
||||||
0xC3, 0xFB, 0x5E, 0x04, 0xA0, 0x9D, 0x08, 0x70, 0x02, 0x92, 0xDE, 0x15, 0xF6, 0x78, 0x1A, 0xFC,
|
0xBD, 0xCA, 0xE2, 0xB4, 0xB7, 0x4C, 0x47, 0x20, 0x35, 0xD1, 0xFA, 0xE8, 0x3C, 0xF7, 0x8A, 0x59,
|
||||||
0xEE, 0x7A, 0x57, 0x30, 0xC4, 0xC3, 0x49, 0xE1, 0xA3, 0x15, 0x59, 0x12, 0x02, 0x5E, 0x00, 0xFE,
|
0x0A, 0x24, 0xA3, 0x62, 0x92, 0x76, 0x0C, 0x52, 0x87, 0x09, 0xF6, 0xA3, 0x7E, 0x1A, 0xCB, 0x0F,
|
||||||
0x0A, 0x3E, 0x01, 0xB2, 0x8F, 0x13, 0x13, 0x12, 0x0B, 0x11, 0x47, 0x72, 0x96, 0x2B, 0x9C, 0xDB,
|
0x48, 0x89, 0xEC, 0x74, 0xD2, 0x57, 0x2B, 0x30, 0x69, 0xEE, 0xC6, 0xC9, 0x17, 0x20, 0xBE, 0x53,
|
||||||
0x42, 0x1A, 0x4A, 0x02, 0x88, 0x30, 0x27, 0x42, 0x6C, 0xDE, 0x15, 0xCE, 0x6E, 0x21, 0x15, 0x92,
|
0x9C, 0x21, 0x52, 0x9C, 0x69, 0x03, 0x5E, 0x20, 0x2D, 0x4E, 0x46, 0x13, 0x19, 0x79, 0x05, 0x7D,
|
||||||
0x74, 0x8B, 0x68, 0xB7, 0xC4, 0xE2, 0x1C, 0xED, 0x0A, 0x69, 0x10, 0xF3, 0x22, 0xB9, 0x16, 0xAD,
|
0x10, 0x45, 0xA8, 0xC2, 0x8A, 0x3F, 0xA3, 0xBD, 0xCF, 0x0A, 0x9D, 0xD4, 0x9A, 0x29, 0x39, 0xFF,
|
||||||
0x1F, 0x3F, 0xDA, 0x04, 0x03, 0x20, 0x38, 0xC2, 0xBD, 0x42, 0x02, 0x60, 0xFD, 0x88, 0x45, 0x20,
|
0x2A, 0xB7, 0x0B, 0x38, 0xB4, 0x21, 0x7D, 0x07, 0x59, 0x0E, 0xFA, 0x75, 0x97, 0x41, 0x71, 0xC2,
|
||||||
0xF1, 0xC4, 0x3C, 0x56, 0xCF, 0xB9, 0xB2, 0x3A, 0xB6, 0x86, 0x54, 0x20, 0x05, 0x48, 0x40, 0x0F,
|
0x42, 0xF0, 0x73, 0x85, 0x61, 0x2F, 0xBE, 0x25, 0xA5, 0x0A, 0x43, 0x2F, 0xF2, 0x65, 0x3A, 0x97,
|
||||||
0xF7, 0xA4, 0x85, 0x74, 0x02, 0x42, 0x98, 0xBA, 0x85, 0x84, 0xF4, 0x34, 0x24, 0xDD, 0xD5, 0x3A,
|
0x52, 0x2F, 0x19, 0x8C, 0xDF, 0x79, 0x89, 0x17, 0xA6, 0x18, 0xAB, 0x69, 0x84, 0xE9, 0x70, 0xE8,
|
||||||
0x11, 0xCD, 0x0B, 0xEB, 0xB7, 0x3A, 0x5A, 0x0B, 0xD6, 0xD9, 0x01, 0x76, 0xC3, 0xFA, 0x61, 0x62,
|
0x83, 0x56, 0x7C, 0x3C, 0xBD, 0x7E, 0xF7, 0xD4, 0x71, 0x3E, 0x09, 0x86, 0xE8, 0xEB, 0x1B, 0x93,
|
||||||
0x78, 0x03, 0x16, 0x51, 0x67, 0x04, 0x80, 0x57, 0x8E, 0x87, 0x68, 0xC5, 0x48, 0x4F, 0x13, 0x9C,
|
0xA4, 0xD7, 0xC0, 0x88, 0x6E, 0xBE, 0x0B, 0x00, 0x25, 0x3F, 0x03, 0x2D, 0xF8, 0x0F, 0xCC, 0x69,
|
||||||
0xC5, 0x25, 0xB7, 0xBA, 0x1A, 0x2C, 0x18, 0x66, 0xA2, 0xD9, 0x1C, 0x18, 0x09, 0x3D, 0x11, 0x52,
|
0x42, 0x20, 0x69, 0x90, 0x3A, 0xEC, 0x13, 0xB0, 0xF5, 0x12, 0x12, 0xEB, 0x31, 0x34, 0xB5, 0xAC,
|
||||||
0x09, 0x33, 0xC1, 0x7C, 0x82, 0x46, 0xE8, 0x8D, 0x68, 0x05, 0xD0, 0x8C, 0x6C, 0xC6, 0x35, 0xFD,
|
0x76, 0xA9, 0x1D, 0x87, 0x83, 0x36, 0x97, 0x1B, 0xCF, 0xF9, 0x24, 0x49, 0xD7, 0x5A, 0x2F, 0x59,
|
||||||
0xA0, 0x8D, 0xEE, 0x01, 0x43, 0xAF, 0xAC, 0x5E, 0x1F, 0x57, 0x4A, 0xAC, 0xEE, 0x78, 0x1C, 0x7E,
|
0x34, 0x11, 0x74, 0xBD, 0xFD, 0x9A, 0x82, 0xDD, 0xFA, 0xAA, 0x7D, 0x61, 0x82, 0xD1, 0xFC, 0x07,
|
||||||
0x88, 0x21, 0xCD, 0x36, 0x2F, 0xDF, 0xF2, 0x4E, 0x7C, 0xC2, 0x03, 0x3A, 0x44, 0xBB, 0x55, 0xBE,
|
0xD4, 0xED, 0xF7, 0x82, 0x30, 0xFE, 0x5D, 0x54, 0xBF, 0x9D, 0x79, 0x34, 0xC4, 0xA4, 0x0C, 0x38,
|
||||||
0x89, 0xAE, 0x1F, 0x20, 0x4B, 0x87, 0x28, 0x4C, 0xF0, 0xB8, 0x84, 0x1F, 0x10, 0xDE, 0x63, 0xED,
|
0x14, 0x6D, 0xE6, 0x90, 0x27, 0xE7, 0x26, 0x16, 0x45, 0xD3, 0xDF, 0x08, 0x81, 0x13, 0x60, 0x14,
|
||||||
0x08, 0x42, 0x9B, 0xB8, 0xD0, 0x8F, 0x3C, 0x83, 0xD3, 0x8F, 0x5F, 0x87, 0xE9, 0x7C, 0x05, 0x21,
|
0x04, 0x5F, 0x52, 0x09, 0x03, 0xBB, 0xCB, 0x31, 0x6C, 0xB7, 0x90, 0xE6, 0xC8, 0xFA, 0xA5, 0x40,
|
||||||
0x10, 0x80, 0x01, 0x00, 0x40, 0xFB, 0xF0, 0x83, 0xCA, 0xF4, 0xCF, 0x2B, 0x94, 0xF5, 0xE5, 0xE4,
|
0xF3, 0x9F, 0x26, 0x85, 0x28, 0x94, 0x65, 0xF9, 0xE4, 0x24, 0xBD, 0x1F, 0x19, 0x0F, 0x61, 0x10,
|
||||||
0x97, 0xCF, 0xA7, 0x7F, 0x32, 0xB5, 0xB2, 0xFB, 0xAD, 0xAB, 0x9E, 0x8B, 0x18, 0x3B, 0x76, 0x13,
|
0xA5, 0xEE, 0x81, 0x26, 0x1C, 0x93, 0xA1, 0xE9, 0xA1, 0xCD, 0x93, 0x51, 0xB3, 0xED, 0x38, 0x4E,
|
||||||
0xA5, 0xCF, 0x45, 0xD6, 0xB6, 0x80, 0xF9, 0xED, 0x3E, 0x77, 0x9C, 0x0E, 0xB6, 0xF5, 0xB0, 0xAD,
|
0x13, 0x20, 0x0E, 0x0C, 0xB5, 0xE7, 0x3C, 0x68, 0x1F, 0x1D, 0x18, 0x63, 0xB9, 0xA1, 0x52, 0xCF,
|
||||||
0xDF, 0xC2, 0xD7, 0x3E, 0xEC, 0x40, 0x8F, 0x1E, 0x2D, 0xB7, 0xE8, 0x42, 0xD1, 0x6B, 0x77, 0x89,
|
0xB8, 0x3B, 0x7D, 0xC9, 0x1F, 0xDC, 0x03, 0xC7, 0x70, 0x8C, 0xF6, 0x91, 0x81, 0x6D, 0x40, 0x5E,
|
||||||
0xE1, 0xC5, 0x1B, 0x0A, 0x2E, 0x75, 0x5A, 0x9D, 0x9E, 0x1C, 0x68, 0x15, 0x28, 0x2C, 0x15, 0xB1,
|
0xE0, 0x1E, 0x44, 0x10, 0xC2, 0x0E, 0x70, 0x3B, 0xC9, 0xEF, 0xA8, 0x7B, 0x00, 0xC9, 0x04, 0x7D,
|
||||||
0x95, 0xCF, 0x06, 0xDB, 0xD5, 0x2F, 0x48, 0x90, 0x1F, 0x6E, 0x01, 0x41, 0x00, 0x34, 0x4C, 0x8C,
|
0x4E, 0xA6, 0x63, 0xC8, 0x44, 0xC0, 0xC3, 0x6B, 0x87, 0xFE, 0x0A, 0x52, 0xBA, 0x04, 0xF7, 0x2E,
|
||||||
0x22, 0x64, 0xFD, 0x1C, 0x7F, 0x5F, 0x4C, 0x99, 0x23, 0xD4, 0x88, 0x88, 0xFC, 0x49, 0xA4, 0x52,
|
0x19, 0x5C, 0x23, 0xC3, 0x92, 0x37, 0x04, 0x0C, 0xFC, 0xA6, 0x17, 0xBB, 0x07, 0x09, 0x9F, 0x44,
|
||||||
0x17, 0xD0, 0xDE, 0x6F, 0x6B, 0x3C, 0x1F, 0xAB, 0xE0, 0x93, 0x53, 0x08, 0x2E, 0xE0, 0xAC, 0x3F,
|
0x7E, 0xA9, 0xF9, 0x0F, 0xCE, 0xA2, 0xAC, 0xBD, 0x77, 0x82, 0xEB, 0x35, 0x7C, 0xF7, 0xE0, 0xB2,
|
||||||
0xCE, 0x7A, 0xBD, 0x1E, 0xF4, 0xF5, 0x49, 0xC5, 0x51, 0xCB, 0x1D, 0x90, 0x57, 0x97, 0x13, 0x81,
|
0x75, 0x68, 0xB4, 0xCF, 0x9F, 0x78, 0x6D, 0xA3, 0x6D, 0x20, 0x4D, 0x4E, 0x03, 0x9E, 0xEE, 0x5B,
|
||||||
0x64, 0x39, 0xDA, 0x5D, 0x94, 0x67, 0x20, 0xAA, 0x8F, 0x16, 0xC2, 0x71, 0x51, 0xDF, 0x80, 0x37,
|
0x85, 0x06, 0xF8, 0xDB, 0x1E, 0xB7, 0xDA, 0xC5, 0x86, 0x46, 0xFB, 0xFD, 0xB3, 0xCF, 0x30, 0x49,
|
||||||
0x2E, 0x00, 0xE1, 0x2F, 0xFC, 0x12, 0x2F, 0xF8, 0x84, 0x1E, 0x78, 0xBD, 0xC2, 0x49, 0x34, 0x17,
|
0x13, 0x67, 0x81, 0xB9, 0x78, 0x30, 0x43, 0x0C, 0x46, 0x0C, 0x28, 0x04, 0x30, 0x06, 0xE7, 0x34,
|
||||||
0x04, 0xD4, 0x01, 0xB6, 0x6B, 0x4E, 0x5F, 0x6B, 0xD1, 0x74, 0x40, 0x73, 0x17, 0x97, 0x0E, 0x10,
|
0xE0, 0xE3, 0x99, 0xD1, 0x76, 0x8C, 0x67, 0x12, 0x50, 0x83, 0xF4, 0xD4, 0xC2, 0x4E, 0x24, 0xF8,
|
||||||
0x56, 0x17, 0x90, 0x75, 0xD0, 0xA0, 0x75, 0x10, 0x6B, 0x0F, 0x8C, 0x88, 0x83, 0x32, 0xDF, 0xD1,
|
0x43, 0x0B, 0x40, 0x81, 0xF6, 0x19, 0xFE, 0x6D, 0x1D, 0x18, 0x0F, 0x6D, 0xFD, 0x1D, 0xFF, 0xFE,
|
||||||
0x84, 0xA9, 0xB1, 0x71, 0x2F, 0xE0, 0x09, 0x24, 0x5E, 0xB9, 0x68, 0x89, 0x40, 0x51, 0xBB, 0x60,
|
0x8C, 0xC3, 0xE4, 0x90, 0x25, 0xF0, 0x33, 0x0D, 0x7B, 0xA4, 0x61, 0x8F, 0x35, 0xEC, 0x51, 0x0E,
|
||||||
0x14, 0x1C, 0x8E, 0x03, 0x7B, 0x2E, 0xEF, 0x8B, 0x8D, 0x71, 0x60, 0x75, 0x68, 0x3C, 0x7A, 0xB8,
|
0x2B, 0x13, 0x12, 0xC8, 0x9B, 0x50, 0x08, 0xBD, 0x82, 0x69, 0xFE, 0xF6, 0xBF, 0x5C, 0x8A, 0x6D,
|
||||||
0x38, 0xCF, 0x23, 0xC6, 0xE2, 0x64, 0xF2, 0xC3, 0x6D, 0x51, 0x3F, 0x75, 0xD3, 0x88, 0x1E, 0x6A,
|
0xE0, 0xF7, 0xB3, 0x5C, 0x44, 0x2D, 0x14, 0xE2, 0xF9, 0x51, 0xF1, 0x3B, 0x88, 0xEC, 0x78, 0xF9,
|
||||||
0x4C, 0xD7, 0x16, 0x4F, 0xC0, 0xD8, 0x85, 0x89, 0xAE, 0x1C, 0xD0, 0x64, 0x60, 0x99, 0xD6, 0xCA,
|
0x1D, 0x45, 0x38, 0x3E, 0x0E, 0xDA, 0xC6, 0xE1, 0xF8, 0x59, 0xB1, 0xD5, 0x68, 0x2F, 0xC5, 0xFA,
|
||||||
0xF9, 0xDA, 0x82, 0xDE, 0x2B, 0xAB, 0x4F, 0xF6, 0x18, 0x89, 0x82, 0x95, 0xF4, 0xFA, 0x3F, 0xCE,
|
0x3F, 0x24, 0xA9, 0x5F, 0xF2, 0x6D, 0x90, 0x15, 0xE1, 0xF9, 0x08, 0x03, 0xB9, 0x6D, 0xDC, 0xDE,
|
||||||
0x5A, 0x60, 0x0A, 0xBA, 0x6E, 0x17, 0xAC, 0x0A, 0x5A, 0x13, 0x69, 0x15, 0xE9, 0x87, 0x76, 0xD4,
|
0x57, 0x44, 0x16, 0x01, 0x91, 0x10, 0x9F, 0x75, 0x80, 0xE9, 0xAA, 0xCF, 0x2F, 0xC5, 0x2F, 0x37,
|
||||||
0xC3, 0x59, 0x68, 0xF3, 0x69, 0xBC, 0x07, 0x43, 0x71, 0x27, 0x70, 0x59, 0x0E, 0x58, 0x12, 0x5C,
|
0x5C, 0x78, 0x81, 0x91, 0xC6, 0xDE, 0x80, 0xAA, 0x11, 0x02, 0x1B, 0xB6, 0x0C, 0xB8, 0x4D, 0x61,
|
||||||
0x9A, 0xA7, 0x79, 0x24, 0x27, 0x8E, 0xC3, 0x3D, 0xDC, 0x14, 0xA7, 0x1B, 0x01, 0x2E, 0xB0, 0x27,
|
0x3F, 0x50, 0x80, 0x9F, 0xC0, 0xF7, 0x2D, 0xE0, 0x6F, 0x07, 0x83, 0x49, 0x2C, 0x5D, 0x58, 0xC7,
|
||||||
0x30, 0x29, 0xF2, 0x1F, 0x49, 0x44, 0xC2, 0x81, 0x8A, 0x8E, 0x7C, 0x25, 0xEB, 0x89, 0x06, 0x14,
|
0xC0, 0xA3, 0x29, 0xC8, 0x8C, 0x42, 0x94, 0x9A, 0x73, 0x60, 0x84, 0x1E, 0x68, 0x4D, 0xCB, 0x81,
|
||||||
0x8C, 0x05, 0x90, 0x03, 0x93, 0x12, 0xB5, 0x96, 0x0B, 0xAC, 0xB6, 0xB9, 0xE5, 0xB9, 0xC8, 0xCF,
|
0xA7, 0x31, 0xA8, 0x13, 0xF0, 0x09, 0x9E, 0xEE, 0xBD, 0x60, 0x22, 0x95, 0x45, 0xD8, 0x3C, 0x1F,
|
||||||
0x27, 0x29, 0xFF, 0x29, 0x66, 0x4B, 0x53, 0x48, 0x79, 0x7E, 0x8F, 0xF6, 0xEF, 0x73, 0xA5, 0xAB,
|
0x09, 0xEA, 0x01, 0x9C, 0x92, 0x83, 0x7B, 0x6A, 0xD6, 0xD5, 0xFE, 0x9F, 0x30, 0x35, 0x92, 0xBE,
|
||||||
0xF0, 0x7B, 0xF8, 0xE7, 0xD0, 0x77, 0xA7, 0xDB, 0xBD, 0xC2, 0xBD, 0xB3, 0x41, 0xEA, 0x80, 0x75,
|
0xD1, 0x4E, 0x31, 0x13, 0x59, 0x6E, 0x9D, 0x8B, 0xE7, 0x41, 0x1B, 0x1B, 0xA9, 0x8B, 0xC7, 0x44,
|
||||||
0xAD, 0x36, 0x8A, 0x47, 0xAF, 0x25, 0x84, 0x0F, 0x8C, 0xA9, 0xEB, 0x91, 0xD0, 0xE1, 0x7E, 0xB5,
|
0x6F, 0xF8, 0x94, 0x26, 0xAF, 0x3C, 0x99, 0xEC, 0x09, 0x57, 0xAC, 0xB4, 0x40, 0x3E, 0xFB, 0xBC,
|
||||||
0x85, 0x32, 0xB6, 0xB8, 0xA5, 0xBC, 0x2A, 0x00, 0x96, 0x32, 0xCE, 0x2A, 0xB1, 0xD1, 0xAB, 0x78,
|
0xD1, 0xEA, 0xD0, 0x9E, 0x78, 0xDE, 0xEA, 0x38, 0x0B, 0xF0, 0xF0, 0xE8, 0x42, 0x01, 0xA5, 0xDC,
|
||||||
0x13, 0x00, 0xD4, 0x8F, 0xE3, 0xE4, 0x30, 0xC2, 0x86, 0xC8, 0x8A, 0x97, 0xB2, 0xB3, 0x1C, 0x91,
|
0x4F, 0xC0, 0xFE, 0xBA, 0x5B, 0xCC, 0xA2, 0x2B, 0x93, 0x2B, 0xE9, 0x57, 0x8B, 0x87, 0x38, 0xE7,
|
||||||
0x63, 0xF9, 0x71, 0xD6, 0x06, 0xDD, 0xE9, 0xB7, 0xC0, 0x93, 0xB9, 0xE4, 0x14, 0x40, 0x81, 0xAC,
|
0x16, 0x69, 0xC2, 0x76, 0xEF, 0x5C, 0x87, 0x2E, 0xC0, 0x7C, 0x6E, 0x43, 0x64, 0x15, 0x17, 0x59,
|
||||||
0xB6, 0xB4, 0xF3, 0x96, 0x8B, 0xEA, 0x00, 0x42, 0x2E, 0x65, 0x8C, 0xE4, 0x4B, 0xB8, 0x0C, 0x69,
|
0xD0, 0x6F, 0x62, 0x30, 0x74, 0x61, 0xC3, 0x04, 0xBB, 0xA3, 0x26, 0xE9, 0x9C, 0x17, 0x52, 0x03,
|
||||||
0x61, 0x50, 0xFE, 0x50, 0x3D, 0x41, 0x53, 0x5D, 0x7A, 0xCC, 0x1C, 0xCF, 0xB9, 0xF2, 0x10, 0x8F,
|
0x07, 0x1D, 0xB8, 0x3E, 0x20, 0x82, 0x30, 0x31, 0x32, 0x09, 0x04, 0x11, 0xC4, 0xD0, 0x91, 0xA7,
|
||||||
0x06, 0x02, 0xE6, 0x38, 0x57, 0x1D, 0xEC, 0x70, 0x49, 0xED, 0x7B, 0x82, 0xA4, 0xDE, 0x95, 0x8B,
|
0x2A, 0x90, 0x73, 0x93, 0x13, 0x91, 0x18, 0xBD, 0x13, 0xE1, 0xF7, 0xFE, 0x26, 0x13, 0x2F, 0x1A,
|
||||||
0x3C, 0xF7, 0x08, 0x97, 0x83, 0x33, 0x38, 0xF4, 0xEA, 0xC2, 0x14, 0x84, 0x0B, 0x26, 0xEE, 0x62,
|
0xF5, 0x77, 0x1B, 0xB4, 0xB1, 0xC9, 0x97, 0x82, 0x07, 0x35, 0x5A, 0xC7, 0xC6, 0xD1, 0xBA, 0x2F,
|
||||||
0x4C, 0x00, 0x6B, 0x45, 0xD9, 0x05, 0x6F, 0xE9, 0x90, 0xBB, 0x22, 0x2D, 0x43, 0x26, 0x91, 0xD4,
|
0x5D, 0x9A, 0x3F, 0x76, 0x8E, 0x7F, 0xF6, 0x8E, 0x00, 0x4A, 0xB9, 0xE8, 0xA3, 0xC6, 0xD1, 0xFB,
|
||||||
0x93, 0x1D, 0xC4, 0x49, 0x09, 0x85, 0x85, 0xCA, 0xEA, 0x74, 0x91, 0x29, 0x42, 0x17, 0xD1, 0xC4,
|
0xA3, 0xA5, 0x87, 0x96, 0x46, 0x76, 0xD2, 0x44, 0xB6, 0x08, 0xDF, 0x90, 0x99, 0x8C, 0x7B, 0x80,
|
||||||
0x91, 0x72, 0x40, 0x1F, 0xD0, 0xDF, 0x42, 0xAD, 0x01, 0x82, 0x35, 0x6A, 0x44, 0xEA, 0x39, 0x11,
|
0xBA, 0x03, 0x9E, 0x29, 0x3C, 0x30, 0x18, 0xCC, 0x01, 0x99, 0x14, 0x4B, 0x0E, 0x7A, 0xC6, 0x6D,
|
||||||
0x65, 0x01, 0xF8, 0xCC, 0x81, 0x28, 0x44, 0xEC, 0x99, 0xD6, 0xE3, 0x1E, 0x51, 0xEA, 0xA1, 0xC1,
|
0x6C, 0xDB, 0x4B, 0x48, 0x1E, 0x80, 0xDA, 0x03, 0x7D, 0x87, 0x07, 0x7A, 0x78, 0x53, 0x24, 0x3D,
|
||||||
0x68, 0xF5, 0xB8, 0x8B, 0x73, 0x75, 0x91, 0x87, 0x60, 0xCC, 0x6D, 0x20, 0x0F, 0xAD, 0x01, 0x6C,
|
0x02, 0x41, 0x34, 0x9E, 0xA4, 0x63, 0x73, 0xAE, 0x62, 0x6F, 0x87, 0xC8, 0xC1, 0xC4, 0x62, 0x7E,
|
||||||
0x70, 0xCF, 0xD3, 0x38, 0x59, 0x09, 0xB0, 0x81, 0xC0, 0x21, 0x84, 0xF2, 0x88, 0xFD, 0x1D, 0x50,
|
0xFE, 0x28, 0xBC, 0x04, 0x54, 0xA1, 0x43, 0x17, 0x10, 0x4A, 0x57, 0x76, 0x49, 0x4A, 0x67, 0x0B,
|
||||||
0xA8, 0x1E, 0xB6, 0xA0, 0xED, 0x01, 0x9F, 0xDB, 0x05, 0x34, 0xB6, 0x3D, 0x03, 0x6A, 0x6C, 0xA0,
|
0x7B, 0x25, 0xD2, 0x68, 0x41, 0x62, 0xAD, 0x4F, 0x2D, 0x75, 0x3F, 0xEC, 0x89, 0xEC, 0x94, 0x7D,
|
||||||
0xC0, 0xA6, 0x85, 0x74, 0x0B, 0xFA, 0x85, 0x59, 0x82, 0xDF, 0xD7, 0x04, 0x40, 0xAB, 0xD1, 0x8A,
|
0xA6, 0x35, 0xC8, 0xF3, 0xB4, 0x5C, 0xA5, 0x58, 0x49, 0xFD, 0x37, 0x53, 0xBA, 0x8D, 0x6D, 0x6B,
|
||||||
0x46, 0x5E, 0x40, 0xCE, 0xB0, 0x97, 0x46, 0x53, 0x13, 0xF6, 0x75, 0x49, 0x8D, 0x61, 0xA4, 0x18,
|
0x79, 0x0D, 0x14, 0xD4, 0x29, 0x9A, 0x10, 0x1A, 0x4D, 0x3E, 0x1F, 0x6A, 0xEE, 0x72, 0xE8, 0x66,
|
||||||
0xE8, 0xD8, 0x04, 0x48, 0x4D, 0xD2, 0xDE, 0xC1, 0xCF, 0x93, 0xF4, 0xF3, 0x0D, 0x8B, 0x16, 0x5B,
|
0x7E, 0x80, 0x76, 0x1D, 0x18, 0xD9, 0x24, 0xAF, 0x69, 0xA0, 0xE7, 0xF9, 0x9B, 0xB4, 0x29, 0xA1,
|
||||||
0x54, 0x53, 0xA3, 0x48, 0x7A, 0xA4, 0x97, 0xE1, 0xB5, 0x5E, 0xF6, 0x25, 0xF1, 0x24, 0x0A, 0x27,
|
0xFE, 0xF7, 0x2B, 0x51, 0xB6, 0x1C, 0xEA, 0xC9, 0x4D, 0x99, 0xFE, 0xDB, 0x10, 0x89, 0x97, 0x8E,
|
||||||
0xDF, 0x47, 0xFA, 0xC7, 0xB7, 0x75, 0x63, 0xA8, 0x6B, 0x21, 0xA8, 0x42, 0x94, 0x40, 0x82, 0x16,
|
0x1B, 0xED, 0x83, 0x0D, 0x3A, 0x76, 0x68, 0x3C, 0x31, 0x8E, 0xE1, 0x7F, 0xBB, 0x65, 0x3C, 0xA9,
|
||||||
0x42, 0x54, 0xAE, 0xE7, 0x43, 0xAF, 0xC3, 0x2C, 0x1C, 0x87, 0x51, 0xC8, 0x6F, 0x07, 0x90, 0x21,
|
0xD0, 0xB0, 0xD6, 0x33, 0xE3, 0xC9, 0x7D, 0xEB, 0x68, 0x25, 0xC4, 0xFC, 0xBC, 0x12, 0x62, 0x9E,
|
||||||
0x04, 0x2C, 0xD6, 0x37, 0xF5, 0xBD, 0xAA, 0xAF, 0x4D, 0xAF, 0xA2, 0xB1, 0x4D, 0xF7, 0x0F, 0xD7,
|
0x84, 0x87, 0x86, 0xF3, 0xFE, 0x68, 0x25, 0xD0, 0x1C, 0x95, 0x43, 0xCC, 0x7D, 0x7B, 0xA9, 0x98,
|
||||||
0xD9, 0x69, 0x18, 0x45, 0x72, 0xF9, 0x3A, 0x29, 0x70, 0x1F, 0xC3, 0x23, 0xDB, 0xBE, 0x76, 0x69,
|
0xCB, 0xE8, 0xE2, 0xAC, 0x44, 0x17, 0x67, 0x4B, 0x74, 0xC1, 0xB0, 0x52, 0x02, 0x3E, 0x5A, 0x07,
|
||||||
0x9F, 0x7B, 0xD2, 0xBA, 0x43, 0xE4, 0x27, 0x82, 0x1D, 0x92, 0x7D, 0x6C, 0x99, 0x59, 0x30, 0x33,
|
0x2E, 0xA9, 0xFC, 0x56, 0xE5, 0xCD, 0x55, 0x57, 0xA9, 0x4D, 0xA6, 0xBA, 0x2B, 0x8A, 0xB3, 0xA8,
|
||||||
0xC4, 0x50, 0x2E, 0xED, 0x65, 0xCB, 0x11, 0xDE, 0xB5, 0x4D, 0x41, 0xB2, 0x73, 0x0D, 0x22, 0x89,
|
0x6D, 0x1A, 0xE8, 0x83, 0x86, 0x64, 0x63, 0x95, 0xB6, 0x54, 0x0E, 0x5F, 0x3F, 0x2E, 0xD8, 0x68,
|
||||||
0xBB, 0x8D, 0x10, 0x2D, 0x12, 0xDB, 0xAE, 0x70, 0xFC, 0x7D, 0x12, 0x52, 0x21, 0xB9, 0x36, 0xEE,
|
0x08, 0x7B, 0x5B, 0x0C, 0x41, 0x79, 0xCE, 0x2F, 0x5F, 0x88, 0xDC, 0x21, 0xD9, 0x78, 0xAD, 0x62,
|
||||||
0x77, 0x87, 0xA6, 0x41, 0xA0, 0xB2, 0x95, 0x97, 0xC0, 0x33, 0x20, 0xE7, 0x8A, 0x30, 0x50, 0x1B,
|
0x8F, 0x3E, 0x43, 0xDB, 0x0A, 0xB2, 0xFD, 0xFD, 0x02, 0xC4, 0x7A, 0xF7, 0x97, 0x2F, 0x26, 0x44,
|
||||||
0x8D, 0x17, 0xC2, 0x88, 0xA3, 0xC5, 0x60, 0x9C, 0xBB, 0x68, 0xE3, 0x56, 0x01, 0x48, 0xF3, 0x83,
|
0x55, 0x27, 0x77, 0x98, 0xDA, 0xB0, 0xFE, 0xDC, 0x6E, 0x58, 0xD2, 0x28, 0xF0, 0x80, 0x74, 0x07,
|
||||||
0xDB, 0x90, 0x0B, 0x12, 0x02, 0xE2, 0x3A, 0x68, 0xE9, 0x3D, 0xD4, 0x6D, 0xD4, 0x4C, 0x90, 0xCE,
|
0xD3, 0x2A, 0xF5, 0x21, 0xF5, 0x15, 0x13, 0x2F, 0xAD, 0x0D, 0x27, 0xFE, 0x7F, 0x73, 0xFB, 0xBF,
|
||||||
0x19, 0x90, 0xAA, 0x49, 0x65, 0x44, 0x89, 0x23, 0x0B, 0x41, 0x2A, 0x23, 0xE5, 0x91, 0x56, 0xFA,
|
0x60, 0x6E, 0x28, 0x78, 0x65, 0x33, 0x5A, 0x99, 0x76, 0x37, 0x38, 0xEC, 0xCF, 0x2D, 0x6E, 0xA9,
|
||||||
0x43, 0x3F, 0x54, 0x84, 0x67, 0x9B, 0x60, 0x28, 0xE5, 0x36, 0x4A, 0x09, 0x69, 0x73, 0x85, 0xF5,
|
0x31, 0x5B, 0x4C, 0xAE, 0x32, 0x2F, 0x41, 0x48, 0x3C, 0xE9, 0x29, 0xE5, 0x26, 0x7C, 0xC5, 0x44,
|
||||||
0x3E, 0x04, 0x29, 0x98, 0x86, 0x97, 0xDB, 0x8C, 0x33, 0xCA, 0x20, 0x4A, 0xCB, 0xEB, 0x2F, 0x7F,
|
0xA3, 0xA2, 0x71, 0xA6, 0x53, 0x86, 0x17, 0x3E, 0x11, 0x4E, 0xAF, 0x08, 0xAA, 0xCD, 0x07, 0x90,
|
||||||
0x3F, 0xF9, 0x78, 0x7E, 0xFA, 0xFE, 0x9D, 0xBE, 0x45, 0x24, 0x37, 0xC4, 0xF1, 0x10, 0xB3, 0xAF,
|
0x2B, 0xE9, 0x88, 0xD7, 0xA9, 0x42, 0x25, 0x07, 0x30, 0x7F, 0xC7, 0x4B, 0x8F, 0x73, 0x57, 0xC2,
|
||||||
0x43, 0x71, 0x5F, 0xE2, 0xE8, 0x10, 0x32, 0xB6, 0xAD, 0x69, 0x9B, 0xA8, 0xFA, 0x1D, 0x1F, 0xCD,
|
0xAB, 0x15, 0x95, 0x72, 0x9D, 0xF3, 0xF5, 0x63, 0x22, 0x58, 0x60, 0x3F, 0xA1, 0xDE, 0x5D, 0x57,
|
||||||
0x5C, 0x9A, 0xE2, 0xEC, 0xFC, 0x57, 0x44, 0x35, 0x73, 0x8B, 0x96, 0xD3, 0x78, 0x9A, 0x28, 0xAD,
|
0xD2, 0x21, 0x19, 0xFB, 0x83, 0xC8, 0x28, 0x1C, 0x7B, 0x3E, 0xBE, 0x45, 0x3F, 0x87, 0x4D, 0x3A,
|
||||||
0x87, 0xF9, 0x80, 0xED, 0x18, 0x35, 0x99, 0xD6, 0x0A, 0xF1, 0x7E, 0xF9, 0xFE, 0xDD, 0xF9, 0xFB,
|
0xA9, 0x17, 0xE8, 0x2E, 0xDF, 0xC6, 0x88, 0xD2, 0x0D, 0xD1, 0x2A, 0xC5, 0x28, 0xCF, 0x1F, 0x44,
|
||||||
0xB7, 0x27, 0xFA, 0x26, 0x5C, 0x7E, 0x6E, 0xAF, 0x97, 0x6A, 0x01, 0x29, 0xE7, 0x65, 0xC4, 0x5E,
|
0xB4, 0xBC, 0x9F, 0x4A, 0x42, 0x93, 0xBC, 0x52, 0x0F, 0x06, 0xCC, 0x4D, 0xE5, 0xA6, 0x82, 0x0F,
|
||||||
0x26, 0x31, 0xE4, 0xD9, 0xAC, 0x0E, 0xC2, 0x27, 0x5F, 0x77, 0xCC, 0x44, 0x85, 0x80, 0xEA, 0x74,
|
0xD1, 0xFE, 0x65, 0xF6, 0x5E, 0x24, 0x73, 0x7F, 0x1F, 0x38, 0x2A, 0x81, 0x40, 0x23, 0x8B, 0x1D,
|
||||||
0x9F, 0x4E, 0x3E, 0x9E, 0x9D, 0xBE, 0x7B, 0xF1, 0x36, 0xCF, 0x46, 0xCB, 0x04, 0x94, 0xCA, 0xA9,
|
0x2B, 0x74, 0xFE, 0x48, 0xF9, 0xD6, 0x5D, 0x74, 0xE3, 0xAE, 0x7B, 0x2E, 0xCF, 0xFE, 0x21, 0xD9,
|
||||||
0xF9, 0x70, 0xF5, 0x70, 0x58, 0xD7, 0xB0, 0x3A, 0x02, 0xAE, 0x72, 0x11, 0x31, 0x0E, 0x1B, 0x94,
|
0xAD, 0x7F, 0xB3, 0xC0, 0x75, 0xFC, 0xF9, 0x3B, 0xB8, 0x07, 0xA8, 0xE8, 0x40, 0xF0, 0x64, 0xB6,
|
||||||
0x4C, 0xA7, 0xB0, 0x03, 0x58, 0x76, 0xA5, 0xBD, 0x02, 0x45, 0xF2, 0xA3, 0x25, 0x7C, 0x88, 0x09,
|
0x85, 0x85, 0x32, 0x8E, 0xAE, 0x70, 0x71, 0xB1, 0x76, 0x4D, 0x2A, 0x0F, 0x17, 0xBF, 0xE2, 0xAE,
|
||||||
0x26, 0xCB, 0x0C, 0xB2, 0xF9, 0x8B, 0xC9, 0x3C, 0xB8, 0xE0, 0xD8, 0x09, 0x89, 0xFB, 0x84, 0xCD,
|
0x74, 0x31, 0x64, 0x11, 0x2C, 0x7E, 0x36, 0x67, 0xCF, 0x77, 0xB8, 0x58, 0xAC, 0xBA, 0x7F, 0xEB,
|
||||||
0x92, 0x08, 0x32, 0xFD, 0x91, 0x7E, 0xCE, 0x20, 0xF3, 0x7E, 0x99, 0xCC, 0xE7, 0x90, 0x81, 0x37,
|
0x7C, 0xD5, 0xD8, 0xC2, 0xB1, 0x71, 0xE1, 0x3E, 0xF8, 0x3F, 0xAB, 0xA7, 0x57, 0xBF, 0x5D, 0xBE,
|
||||||
0x9B, 0x4D, 0x5D, 0x71, 0xD8, 0xA2, 0x4E, 0xAB, 0x68, 0xB1, 0xA6, 0x1C, 0xF1, 0x29, 0x2C, 0x40,
|
0x39, 0x07, 0xC3, 0xB8, 0xA2, 0x7F, 0x4E, 0x68, 0x2A, 0xBA, 0x91, 0xCD, 0x23, 0x10, 0x8E, 0x3F,
|
||||||
0x14, 0x2F, 0x69, 0x0E, 0x89, 0x07, 0x0D, 0xC5, 0x31, 0xB6, 0x1E, 0x1D, 0x0A, 0x1C, 0x0A, 0x52,
|
0xC3, 0x0D, 0x28, 0x1D, 0x8C, 0xBD, 0xA8, 0x78, 0xED, 0x50, 0x9B, 0x1F, 0xB9, 0x6E, 0x64, 0x4B,
|
||||||
0xB1, 0x26, 0x41, 0xEB, 0x64, 0xC6, 0x26, 0xDF, 0xC7, 0xC9, 0x8D, 0x82, 0x0B, 0xD7, 0x95, 0x4D,
|
0x00, 0xDC, 0xAD, 0xE2, 0x7D, 0x0D, 0x04, 0x32, 0x6C, 0x53, 0x1B, 0xD6, 0xE7, 0x26, 0x70, 0x85,
|
||||||
0x60, 0x89, 0x11, 0xF0, 0x92, 0xA8, 0x9F, 0x27, 0x71, 0xC8, 0x93, 0xF4, 0x82, 0xC5, 0xC8, 0x9C,
|
0xC0, 0x56, 0xCC, 0x44, 0xA8, 0x34, 0x06, 0x4D, 0xA0, 0x37, 0xF4, 0x41, 0xD4, 0x6A, 0x9D, 0x23,
|
||||||
0x8B, 0x12, 0x00, 0xC4, 0x09, 0xC7, 0xB3, 0x40, 0x22, 0x62, 0x81, 0x2E, 0x4D, 0xDF, 0xF1, 0x8B,
|
0xA7, 0x55, 0x84, 0x7B, 0x5D, 0x7D, 0xCD, 0xF8, 0xAE, 0xB2, 0xAB, 0xD6, 0x31, 0x8B, 0xCA, 0x95,
|
||||||
0x02, 0xA8, 0x90, 0xAF, 0x0D, 0xD9, 0xC2, 0x9D, 0x91, 0xF2, 0x9D, 0x97, 0xE3, 0x2C, 0xAC, 0xD3,
|
0xCD, 0x56, 0xB3, 0x96, 0xB2, 0xE8, 0x73, 0x2F, 0xF1, 0x0D, 0x9F, 0xD3, 0xD4, 0x88, 0xB8, 0x30,
|
||||||
0x0E, 0xC6, 0x29, 0xF3, 0xBF, 0x5B, 0xAB, 0x24, 0x0D, 0xD0, 0x92, 0xA4, 0x4C, 0xF0, 0x10, 0x98,
|
0xBC, 0x28, 0x85, 0xED, 0x20, 0xEC, 0x7C, 0xE3, 0x04, 0xEC, 0x38, 0x09, 0x66, 0x28, 0xFA, 0x6C,
|
||||||
0x27, 0xCB, 0x10, 0x85, 0xD1, 0xC3, 0x72, 0x47, 0x7E, 0xFB, 0xA1, 0x8D, 0xD5, 0x13, 0xAC, 0x5F,
|
0x18, 0x88, 0x16, 0xDC, 0xB3, 0xB4, 0x6F, 0xF2, 0xCB, 0xE9, 0x0D, 0xB1, 0xA8, 0x85, 0x19, 0x05,
|
||||||
0x54, 0x1A, 0x36, 0x4F, 0x28, 0xB1, 0xB2, 0x57, 0x4C, 0x77, 0x2B, 0x8A, 0x5C, 0xD5, 0xE9, 0xFD,
|
0x9E, 0xAE, 0x45, 0xBE, 0x59, 0x5B, 0x64, 0x0E, 0x20, 0xC2, 0x23, 0xE6, 0x22, 0x17, 0x84, 0xFB,
|
||||||
0xF8, 0x76, 0x35, 0x63, 0x29, 0x23, 0xC3, 0x9E, 0x16, 0x4A, 0xA0, 0xFE, 0xDE, 0x2F, 0xBE, 0xAF,
|
0xD8, 0xD5, 0xFF, 0x3B, 0x2F, 0x02, 0xAD, 0x86, 0xB9, 0xDC, 0xAD, 0xDE, 0xFB, 0x5A, 0xDE, 0xD3,
|
||||||
0x4F, 0xDF, 0x9E, 0x9C, 0xFF, 0xE3, 0xFC, 0xD3, 0xC9, 0xD9, 0x3E, 0x09, 0x3E, 0x7E, 0x0D, 0xAD,
|
0xE2, 0x45, 0xC0, 0x36, 0xB8, 0x24, 0x9C, 0x82, 0x62, 0xE1, 0x05, 0xEC, 0xA3, 0x78, 0xCF, 0x41,
|
||||||
0x33, 0xED, 0x75, 0x18, 0xB1, 0xEC, 0x36, 0xE3, 0x6C, 0xBE, 0x4F, 0x60, 0xF5, 0xEA, 0xBE, 0x61,
|
0x34, 0x34, 0x01, 0xD0, 0xE0, 0x51, 0xD0, 0x97, 0xDC, 0x9F, 0x01, 0x60, 0xBA, 0x0B, 0x85, 0xF9,
|
||||||
0x31, 0x5F, 0xCC, 0x45, 0x65, 0x7D, 0x51, 0x5F, 0xD6, 0xB5, 0xD8, 0x9F, 0x23, 0x57, 0x6E, 0xB1,
|
0xB4, 0xFE, 0x2E, 0xD0, 0x7A, 0x66, 0x6F, 0x3B, 0xAC, 0x2E, 0x6D, 0x39, 0xE3, 0x5C, 0xC8, 0xA9,
|
||||||
0x31, 0xFB, 0xFA, 0x4D, 0xD7, 0xE6, 0xCB, 0x88, 0x87, 0x0B, 0x62, 0x95, 0x7C, 0xC3, 0x1D, 0xAA,
|
0x93, 0xC7, 0x59, 0x90, 0x93, 0x31, 0x78, 0x1C, 0x56, 0x13, 0x41, 0xDD, 0x9D, 0xAB, 0x34, 0xAC,
|
||||||
0x48, 0xF5, 0x86, 0x54, 0x89, 0x19, 0x84, 0xD8, 0x88, 0x39, 0x2A, 0xA7, 0x06, 0x6B, 0x62, 0x87,
|
0x70, 0x3B, 0xC1, 0xC3, 0x29, 0xC0, 0x4C, 0xB6, 0xC3, 0xA4, 0x00, 0x32, 0xAB, 0x06, 0xB9, 0xBC,
|
||||||
0x53, 0x91, 0x5B, 0x92, 0x02, 0xFF, 0x99, 0x60, 0xF5, 0xE3, 0x83, 0x78, 0x9C, 0x2D, 0x86, 0xE2,
|
0xFE, 0x05, 0x00, 0x6E, 0xAA, 0x01, 0xE2, 0x64, 0x84, 0xD3, 0xE0, 0xE1, 0x3C, 0x00, 0xDE, 0x3E,
|
||||||
0x37, 0xEC, 0x61, 0x72, 0x99, 0xB2, 0x2C, 0xDB, 0xED, 0xAC, 0x24, 0xE9, 0x8B, 0xF4, 0x52, 0x4C,
|
0x0A, 0xB8, 0xED, 0x4E, 0x68, 0x10, 0xFA, 0x2F, 0x45, 0xF4, 0x75, 0x95, 0x0A, 0xD5, 0x93, 0x4D,
|
||||||
0x49, 0x2F, 0xB0, 0x9B, 0x54, 0x12, 0x12, 0x1B, 0x21, 0x50, 0x80, 0x52, 0xA4, 0xE2, 0x67, 0x8B,
|
0x52, 0xC1, 0xC3, 0x57, 0xA1, 0x7F, 0x83, 0x94, 0xC9, 0x7B, 0x16, 0xD7, 0xA5, 0xB6, 0x3C, 0xF7,
|
||||||
0x51, 0xDA, 0xC5, 0xBA, 0x8A, 0x56, 0xE7, 0x0E, 0x90, 0x9C, 0xEC, 0x53, 0x58, 0x51, 0x55, 0x37,
|
0xB1, 0x21, 0xD9, 0x0F, 0xCD, 0x9A, 0x4E, 0x34, 0xF4, 0x9D, 0x75, 0xF7, 0xAB, 0xC2, 0x6F, 0xF1,
|
||||||
0xA9, 0x68, 0xB5, 0x28, 0xCC, 0x78, 0xCD, 0xAC, 0xF9, 0x51, 0x54, 0x53, 0xD8, 0xF0, 0x91, 0x4D,
|
0x16, 0x41, 0x6C, 0xB9, 0x45, 0x28, 0x63, 0xC4, 0x93, 0x6E, 0x61, 0xBD, 0xC7, 0x32, 0x19, 0x72,
|
||||||
0x81, 0xDA, 0x99, 0xE2, 0xC6, 0xD5, 0x59, 0x91, 0xCE, 0x02, 0xDB, 0x4B, 0x90, 0x76, 0xCE, 0x82,
|
0x82, 0x9B, 0xFC, 0x2C, 0x91, 0x05, 0x58, 0x4C, 0xEE, 0xCB, 0xD0, 0xF2, 0xA0, 0x0E, 0x80, 0x7A,
|
||||||
0x30, 0x45, 0x7D, 0xDB, 0xE3, 0xB0, 0x5B, 0x76, 0xE9, 0xAD, 0xF1, 0xBD, 0xE2, 0xAA, 0x5B, 0xF8,
|
0x58, 0x23, 0x93, 0xCD, 0xE4, 0x12, 0x82, 0x75, 0x16, 0x3B, 0xAE, 0x7B, 0x03, 0x2B, 0xEF, 0xE8,
|
||||||
0x7F, 0x80, 0x4F, 0x41, 0x0E, 0x34, 0x68, 0x6B, 0xEB, 0xDA, 0x2D, 0xF2, 0x4E, 0xCF, 0x47, 0x7B,
|
0x6C, 0x12, 0x17, 0x59, 0x49, 0x6B, 0xF3, 0xD6, 0xA1, 0x8B, 0xCC, 0x81, 0xAE, 0x57, 0xB2, 0x58,
|
||||||
0xCA, 0x68, 0x17, 0xDE, 0x53, 0x00, 0x72, 0xE1, 0x71, 0x4B, 0x0F, 0xE1, 0xA9, 0xE5, 0xF1, 0x03,
|
0xE2, 0x71, 0x11, 0x49, 0x81, 0x98, 0xB2, 0xE4, 0x83, 0xEF, 0x26, 0xAF, 0x37, 0xEE, 0xDE, 0x1B,
|
||||||
0x7A, 0xA3, 0x1C, 0x0F, 0x82, 0xDE, 0x12, 0xBA, 0x3C, 0x6C, 0x68, 0x2B, 0x31, 0x43, 0xFB, 0x41,
|
0x2B, 0x00, 0x57, 0x36, 0x03, 0x6F, 0xE8, 0xB3, 0x34, 0x0E, 0xBC, 0x99, 0xFB, 0xE6, 0x39, 0xE9,
|
||||||
0x3C, 0x68, 0x0C, 0x11, 0x8F, 0x23, 0x08, 0x72, 0xE1, 0x51, 0x1C, 0xBA, 0x40, 0x6B, 0x4F, 0x7E,
|
0x03, 0x63, 0xEF, 0x20, 0x2A, 0xE3, 0x2E, 0x41, 0x2E, 0xED, 0x5D, 0xB5, 0x50, 0xB1, 0xBA, 0x22,
|
||||||
0xAE, 0x24, 0x46, 0xF0, 0xA5, 0x39, 0x12, 0x3A, 0xBF, 0xD1, 0x8F, 0x1B, 0xC0, 0x40, 0xC0, 0x51,
|
0x52, 0x91, 0xC3, 0x7A, 0xFD, 0x08, 0x58, 0xEC, 0x8D, 0x94, 0x73, 0xDE, 0x89, 0xBA, 0x6A, 0xF7,
|
||||||
0xF8, 0x46, 0xA1, 0x84, 0x55, 0x9E, 0xCA, 0x80, 0x09, 0xB9, 0x4A, 0xB2, 0x03, 0xB1, 0x47, 0xC1,
|
0xBE, 0x95, 0xDB, 0x12, 0x53, 0x7F, 0x22, 0x04, 0xDF, 0x59, 0x6F, 0x5F, 0x6F, 0x8E, 0x79, 0xDD,
|
||||||
0xC9, 0x10, 0xDC, 0x50, 0x2E, 0x8D, 0xEA, 0xE8, 0x8A, 0x25, 0x12, 0x35, 0x48, 0x39, 0x42, 0x7C,
|
0x47, 0xF4, 0x59, 0x62, 0xBA, 0x88, 0xE2, 0x09, 0x4A, 0xB5, 0xA8, 0x25, 0xD6, 0x16, 0xE7, 0x1E,
|
||||||
0x54, 0x2E, 0xF3, 0x15, 0x06, 0xA7, 0x34, 0x27, 0x28, 0x55, 0xA2, 0xB2, 0x49, 0x52, 0x35, 0x53,
|
0x03, 0xA2, 0x29, 0x4F, 0xFC, 0x8D, 0xE3, 0xBE, 0xE2, 0x36, 0x48, 0x22, 0xAF, 0xBE, 0x0D, 0xBA,
|
||||||
0xF7, 0xF7, 0x13, 0x88, 0x0D, 0xE0, 0x9E, 0x61, 0xFB, 0xF1, 0x3B, 0x10, 0xEC, 0xE2, 0xE3, 0x1C,
|
0xBD, 0x3E, 0xBD, 0xDA, 0x76, 0x17, 0xF4, 0xEE, 0xC5, 0xF5, 0xF5, 0x87, 0xB7, 0x57, 0xAF, 0xB7,
|
||||||
0x96, 0x9D, 0x7F, 0x08, 0x53, 0x71, 0x7E, 0xC1, 0xC3, 0x39, 0xAC, 0xF3, 0x53, 0x58, 0x82, 0x55,
|
0xDD, 0x05, 0x5D, 0xDF, 0xBE, 0xBC, 0xBC, 0x80, 0x90, 0x46, 0x66, 0xF2, 0xDE, 0x09, 0xB9, 0xC1,
|
||||||
0x64, 0x65, 0xAD, 0xAD, 0x08, 0x0E, 0x67, 0xC5, 0x1A, 0x24, 0x19, 0xE4, 0xD7, 0x72, 0x93, 0x70,
|
0x36, 0x05, 0x7C, 0xF6, 0x78, 0xC0, 0x67, 0x6B, 0x01, 0x7F, 0x0F, 0xDA, 0x74, 0x20, 0x97, 0x61,
|
||||||
0x81, 0x62, 0x49, 0x70, 0xA2, 0xF0, 0xBA, 0xDF, 0x9F, 0xCB, 0xF2, 0xB7, 0x50, 0xBD, 0x8C, 0xFB,
|
0x9D, 0xFD, 0xD0, 0xB0, 0xCE, 0xBE, 0x2D, 0xAC, 0xE7, 0xC3, 0x6A, 0x9D, 0x17, 0x26, 0x86, 0x76,
|
||||||
0x7C, 0x99, 0xE9, 0xDB, 0xCC, 0xDE, 0xA3, 0x8C, 0xDF, 0x97, 0xCF, 0x1F, 0x5E, 0xBD, 0xF8, 0xB4,
|
0x56, 0x0C, 0xED, 0x91, 0x0C, 0xED, 0x2C, 0x0B, 0xED, 0xA0, 0x84, 0xA3, 0x6A, 0x39, 0x27, 0x74,
|
||||||
0xD7, 0x79, 0x17, 0x45, 0x2A, 0xED, 0xF3, 0x22, 0x00, 0xE1, 0x7F, 0xC0, 0xF2, 0x6D, 0x75, 0xCA,
|
0x08, 0xD9, 0xCB, 0x18, 0x88, 0x1E, 0xED, 0xA6, 0x84, 0xEB, 0x39, 0xAE, 0x35, 0xAE, 0x9E, 0x7E,
|
||||||
0x1B, 0x86, 0x70, 0xB5, 0xD3, 0x0C, 0x6E, 0x38, 0xBF, 0x27, 0x98, 0x3E, 0xF8, 0x50, 0x34, 0x5F,
|
0x82, 0x77, 0xD6, 0xF1, 0xD9, 0x07, 0x98, 0x7F, 0xBC, 0xDB, 0xFC, 0x55, 0xB7, 0xC4, 0x84, 0x58,
|
||||||
0x58, 0xB7, 0x4D, 0x9B, 0x87, 0x8B, 0x50, 0xA7, 0x79, 0x8A, 0xC1, 0x9B, 0xAE, 0x0A, 0x93, 0x87,
|
0x61, 0xD1, 0x77, 0xC4, 0x8F, 0x20, 0xF5, 0xCF, 0x74, 0x8C, 0x8A, 0x0B, 0x93, 0xFC, 0x69, 0x22,
|
||||||
0xAF, 0xDB, 0x8D, 0x5E, 0x81, 0xB9, 0x08, 0xEA, 0xE6, 0xD9, 0xE5, 0xBE, 0xE0, 0xFF, 0x23, 0x83,
|
0x6B, 0xE2, 0xDD, 0x28, 0x99, 0x14, 0xD1, 0x85, 0x9B, 0xC6, 0x48, 0x15, 0x2A, 0x0F, 0x82, 0x68,
|
||||||
0x7D, 0x4C, 0x39, 0x70, 0xDB, 0x84, 0x70, 0x03, 0x6F, 0xBA, 0x69, 0x2B, 0x3F, 0xE4, 0x10, 0x60,
|
0x11, 0x2A, 0x63, 0x91, 0xCF, 0x7B, 0x6B, 0x69, 0xFA, 0x99, 0x0E, 0xDA, 0x86, 0xAA, 0x42, 0x33,
|
||||||
0x34, 0x73, 0x8F, 0x5C, 0xA0, 0x9A, 0x24, 0x4B, 0x8C, 0xCD, 0x94, 0x58, 0x70, 0x47, 0x1C, 0x58,
|
0x9E, 0x93, 0xAC, 0xF4, 0xC9, 0x28, 0x1D, 0x95, 0xCB, 0x7A, 0x05, 0xA2, 0x6A, 0x0F, 0xB3, 0x29,
|
||||||
0x6E, 0x53, 0x91, 0x84, 0x60, 0xAD, 0xBF, 0x50, 0x36, 0x3A, 0x2C, 0xA8, 0x6E, 0x7C, 0xE5, 0xFC,
|
0x65, 0x8D, 0xC9, 0xDE, 0x5A, 0x24, 0x0B, 0xD5, 0x46, 0x3A, 0x8F, 0x54, 0xEB, 0xC1, 0x89, 0x4B,
|
||||||
0x60, 0x5B, 0x97, 0x38, 0x36, 0x82, 0x9E, 0x99, 0x77, 0x7C, 0x0A, 0xA4, 0xF3, 0x70, 0x1A, 0x4E,
|
0x7B, 0x38, 0xE3, 0x49, 0xF8, 0x1A, 0x6B, 0x52, 0xAE, 0xDC, 0x36, 0x88, 0x63, 0x73, 0xDD, 0x45,
|
||||||
0xE8, 0x10, 0x18, 0x02, 0x47, 0x6F, 0x8B, 0xCC, 0x95, 0xC7, 0x39, 0x32, 0xC6, 0x3D, 0xAE, 0x64,
|
0x99, 0xFF, 0x95, 0x2A, 0x9E, 0x83, 0xED, 0x02, 0xA2, 0x88, 0x77, 0xAC, 0x4A, 0xD9, 0xAA, 0xD2,
|
||||||
0x5B, 0xA2, 0x5B, 0x04, 0x61, 0x45, 0x9E, 0x72, 0xFC, 0x39, 0x03, 0xB5, 0x95, 0xCB, 0xD3, 0xF6,
|
0x06, 0x16, 0x8D, 0x0C, 0xDB, 0xB6, 0x9D, 0x9F, 0x08, 0x46, 0x86, 0x95, 0x9B, 0x5E, 0x5D, 0x48,
|
||||||
0x85, 0x75, 0x6A, 0x0C, 0x47, 0x8B, 0x5C, 0x96, 0xE1, 0x46, 0x79, 0xE7, 0xB2, 0x64, 0xD5, 0x2C,
|
0x73, 0xDE, 0x0D, 0x6C, 0x68, 0x4F, 0x3F, 0x30, 0x31, 0x96, 0x97, 0x0F, 0x5F, 0xBE, 0x98, 0x41,
|
||||||
0x7D, 0x3C, 0x11, 0x1F, 0xA0, 0x0F, 0xA3, 0x9A, 0x27, 0x10, 0xB2, 0x90, 0x43, 0x24, 0x31, 0x8B,
|
0xDD, 0x95, 0xD7, 0x10, 0xD9, 0x69, 0x80, 0x70, 0x9D, 0xAE, 0x38, 0xC9, 0xF8, 0xD0, 0x15, 0xF5,
|
||||||
0xFD, 0xC4, 0x8C, 0xB7, 0xC5, 0xD7, 0xEA, 0x01, 0xD7, 0x5A, 0x18, 0x91, 0x4B, 0xFA, 0xC3, 0x01,
|
0x7A, 0xB6, 0x0D, 0xA0, 0x1F, 0x05, 0x5E, 0x51, 0x05, 0x90, 0x18, 0xAB, 0x23, 0xB0, 0x6B, 0xD2,
|
||||||
0xE6, 0xDB, 0x8F, 0xE8, 0x9D, 0xA4, 0xBC, 0x9F, 0x2F, 0xC7, 0xF3, 0x90, 0x6F, 0xB5, 0x10, 0x10,
|
0xCD, 0x51, 0x31, 0x74, 0x30, 0x78, 0x74, 0x57, 0xC0, 0x1E, 0xCE, 0x54, 0xAA, 0x03, 0x46, 0x95,
|
||||||
0xF3, 0x85, 0x0B, 0x7E, 0x7C, 0xED, 0xA7, 0xDA, 0x2A, 0xBB, 0xC8, 0x92, 0x65, 0x3A, 0x61, 0xE6,
|
0x0D, 0xAA, 0x2D, 0x2E, 0x37, 0x78, 0x17, 0xEB, 0x52, 0x9B, 0xE0, 0xBB, 0xB7, 0xD7, 0xE8, 0x8B,
|
||||||
0xCD, 0x3C, 0xC2, 0x1A, 0x93, 0x08, 0x23, 0xCC, 0xC9, 0x32, 0xC5, 0x03, 0x7A, 0xB4, 0xD2, 0x90,
|
0x9A, 0x6A, 0xA1, 0x90, 0x48, 0x49, 0x6B, 0xBC, 0xB4, 0x95, 0x52, 0x6E, 0xD0, 0x22, 0xB0, 0xEB,
|
||||||
0xBD, 0xE8, 0x26, 0x2C, 0x61, 0x86, 0xDB, 0x2E, 0x36, 0x7D, 0xF4, 0xCC, 0x31, 0x57, 0x6C, 0xBC,
|
0x11, 0x98, 0x60, 0xBA, 0x12, 0x58, 0x65, 0xAD, 0x93, 0x5A, 0x01, 0x56, 0x53, 0x4F, 0x04, 0xD6,
|
||||||
0x24, 0x95, 0xC2, 0x8F, 0x69, 0x11, 0x1F, 0xC9, 0xAE, 0x2C, 0x81, 0x48, 0x93, 0x5F, 0x2C, 0x92,
|
0xB6, 0x64, 0x3B, 0x7D, 0xD4, 0x11, 0xC8, 0x0F, 0xFD, 0x26, 0x55, 0x97, 0x61, 0xFF, 0x6C, 0x39,
|
||||||
0x94, 0x8F, 0x6C, 0xA5, 0xE1, 0xF4, 0x03, 0x84, 0xDB, 0xA6, 0x9F, 0xDD, 0xC6, 0x93, 0x0B, 0x68,
|
0x4E, 0x77, 0x95, 0xDF, 0x62, 0x47, 0x7E, 0xAB, 0x2B, 0xB5, 0x33, 0xF6, 0x40, 0x7D, 0xD3, 0xA9,
|
||||||
0x85, 0xD8, 0x7C, 0xBE, 0x8C, 0x15, 0xAC, 0x28, 0xA9, 0x17, 0xC8, 0x45, 0xDD, 0x04, 0xC9, 0xBD,
|
0xE1, 0x4D, 0x95, 0x2A, 0xDB, 0x28, 0xA9, 0x23, 0xE7, 0x71, 0x8A, 0xD6, 0x6E, 0xED, 0xB5, 0x70,
|
||||||
0x80, 0x88, 0xBD, 0x8A, 0x90, 0xF4, 0x05, 0x62, 0x59, 0x68, 0x64, 0xD9, 0xE2, 0x82, 0xA5, 0x29,
|
0x35, 0x6A, 0xA3, 0x00, 0x2C, 0x2A, 0x3A, 0xD0, 0xF1, 0xD7, 0xA9, 0x4B, 0x51, 0xEB, 0x96, 0x0A,
|
||||||
0xC4, 0xBC, 0x73, 0xD0, 0x3E, 0x18, 0x87, 0x83, 0xCA, 0xC6, 0x49, 0x12, 0x30, 0x98, 0x1A, 0x79,
|
0x6E, 0xC9, 0x5D, 0x96, 0x7B, 0x99, 0xFB, 0xD9, 0x2A, 0x85, 0xDC, 0xA5, 0xB8, 0x48, 0xFC, 0xE5,
|
||||||
0x28, 0xD6, 0x84, 0x74, 0x80, 0xD8, 0xCE, 0xB1, 0x1D, 0x20, 0x81, 0xD1, 0x10, 0x99, 0xFA, 0xD1,
|
0x45, 0x47, 0x8F, 0x0D, 0x7C, 0x64, 0xBF, 0x6A, 0x9D, 0xB9, 0x47, 0x4E, 0x5E, 0xBB, 0x75, 0x05,
|
||||||
0x05, 0xE9, 0x65, 0x44, 0xCB, 0xC8, 0xDB, 0x50, 0x6E, 0x47, 0xAF, 0x7E, 0x3D, 0x39, 0xAD, 0x97,
|
0x8A, 0xE4, 0x25, 0x02, 0xCB, 0xD0, 0x6C, 0x3B, 0x2B, 0x60, 0x9C, 0x7A, 0x4C, 0x18, 0x47, 0x0E,
|
||||||
0x69, 0x87, 0x61, 0xAE, 0x32, 0x50, 0x67, 0x1C, 0x7A, 0x26, 0x63, 0xED, 0x64, 0x09, 0xFC, 0xE2,
|
0xBA, 0xB2, 0x94, 0x8A, 0x0B, 0xC8, 0xE0, 0x13, 0xE0, 0x95, 0x59, 0x74, 0x3A, 0x67, 0x8D, 0xC6,
|
||||||
0xA3, 0xAF, 0xDF, 0x86, 0xD3, 0x65, 0x4C, 0xF7, 0x23, 0xB4, 0xB5, 0x3C, 0xE7, 0x4E, 0xC5, 0xD8,
|
0x0E, 0x73, 0x90, 0xFA, 0x59, 0x9D, 0xE0, 0x34, 0xC0, 0xDF, 0xB3, 0xFD, 0xFD, 0x3C, 0x52, 0x27,
|
||||||
0x24, 0xA1, 0x68, 0xCA, 0x33, 0xC1, 0xD1, 0x3A, 0x01, 0xCF, 0x75, 0x3C, 0x25, 0xD4, 0x07, 0x3A,
|
0x14, 0x65, 0x89, 0x6E, 0xCE, 0x6A, 0xD1, 0xC3, 0x6C, 0xFF, 0xFA, 0x10, 0x06, 0x18, 0xDB, 0xBF,
|
||||||
0x5D, 0xEE, 0xD8, 0x46, 0xE0, 0x7A, 0xCB, 0x7D, 0x31, 0x2D, 0xD1, 0xCA, 0x8C, 0xBB, 0x94, 0xF1,
|
0x37, 0xDC, 0xFD, 0xA1, 0xE3, 0x1A, 0xB1, 0x32, 0x89, 0x42, 0xB8, 0xBA, 0x54, 0xB1, 0x89, 0x63,
|
||||||
0x65, 0x1A, 0x6B, 0x41, 0x32, 0x59, 0xCE, 0x61, 0xBB, 0x9A, 0x90, 0x6B, 0x9E, 0x44, 0x0C, 0x5F,
|
0xD9, 0xC9, 0x02, 0xBD, 0xEB, 0x64, 0x47, 0xEF, 0x5A, 0x52, 0x49, 0x65, 0x51, 0xB8, 0x51, 0x51,
|
||||||
0x7F, 0xB9, 0x3D, 0x0D, 0x00, 0xA2, 0x1C, 0xB2, 0x25, 0x1D, 0xB9, 0x0B, 0xA7, 0x75, 0xFB, 0x48,
|
0xCA, 0x53, 0x28, 0xCD, 0xCD, 0x3C, 0xE3, 0xE4, 0x51, 0xCF, 0x28, 0x56, 0x3D, 0x63, 0x0B, 0xC2,
|
||||||
0xAC, 0x7B, 0x2D, 0x1B, 0x32, 0x9A, 0x24, 0x56, 0xCD, 0x88, 0xC5, 0x97, 0x7C, 0x66, 0xDC, 0x55,
|
0xC3, 0x66, 0x51, 0x0D, 0x2B, 0xDA, 0x47, 0x15, 0xED, 0x37, 0xD5, 0x1C, 0xBB, 0xDD, 0xD6, 0x95,
|
||||||
0x59, 0x70, 0x21, 0x8C, 0x6B, 0x7D, 0xDF, 0xD0, 0x86, 0xFE, 0x5B, 0xAC, 0x1B, 0x43, 0x14, 0x3A,
|
0x79, 0xCB, 0x9B, 0xAD, 0x1E, 0x52, 0x6C, 0xF6, 0x90, 0x11, 0x78, 0xC8, 0x68, 0xCD, 0x43, 0x46,
|
||||||
0x36, 0x8A, 0xD9, 0x4A, 0xFB, 0x9F, 0xB3, 0xB7, 0x6F, 0x40, 0xE0, 0x3E, 0xB2, 0xAB, 0x25, 0x98,
|
0x2B, 0x1E, 0x92, 0x81, 0x87, 0x64, 0x4B, 0x0F, 0xC9, 0x32, 0x0F, 0xC9, 0xC1, 0x43, 0xB2, 0x4F,
|
||||||
0xC1, 0x21, 0x6B, 0x26, 0x31, 0x04, 0x59, 0xC1, 0x2D, 0xBA, 0x36, 0x36, 0x99, 0xF9, 0x31, 0xEC,
|
0xB0, 0xA3, 0x8E, 0xEA, 0x7C, 0xE9, 0x21, 0x73, 0x54, 0x01, 0x78, 0x46, 0xE5, 0x21, 0xC5, 0xBA,
|
||||||
0x68, 0x4E, 0x2D, 0xD0, 0xD6, 0x1A, 0x8D, 0x58, 0x93, 0x00, 0xCE, 0x11, 0xE0, 0xE0, 0x00, 0xB2,
|
0x87, 0xE4, 0x56, 0x36, 0x68, 0x47, 0x0F, 0xA9, 0xC7, 0xFD, 0x5D, 0xEE, 0xF1, 0x36, 0x77, 0x8B,
|
||||||
0x76, 0x6C, 0x12, 0x9E, 0xF0, 0xE0, 0x60, 0x3B, 0x45, 0x38, 0x24, 0x5B, 0xC0, 0x76, 0xB0, 0x4F,
|
0x37, 0x7F, 0xBD, 0x2B, 0x8C, 0xAB, 0x05, 0x3C, 0xAC, 0xEE, 0x1A, 0xED, 0xA6, 0x31, 0x55, 0x4A,
|
||||||
0xA0, 0xE7, 0xC6, 0xBD, 0x09, 0xD3, 0x2C, 0x58, 0x5C, 0xD7, 0x7F, 0x3D, 0xF9, 0xA4, 0x9B, 0x98,
|
0x56, 0x6C, 0x9F, 0x54, 0x3A, 0xD4, 0x5F, 0xCC, 0xCB, 0xF2, 0x81, 0xD5, 0xDF, 0x66, 0xEF, 0x42,
|
||||||
0x97, 0xD3, 0xDA, 0x9F, 0x03, 0xB1, 0x23, 0xBD, 0xC1, 0x62, 0x94, 0x9A, 0xCF, 0x1F, 0x4F, 0xF7,
|
0xDA, 0xFB, 0xB6, 0x4D, 0x51, 0xC8, 0x23, 0x26, 0x78, 0xF2, 0x3B, 0x95, 0x05, 0xFB, 0xBF, 0x7B,
|
||||||
0xAE, 0xC4, 0x30, 0x9F, 0xD9, 0x06, 0x20, 0xCA, 0x18, 0x32, 0xCD, 0xDC, 0x07, 0x0A, 0xD2, 0x72,
|
0x13, 0xC1, 0xD5, 0x5B, 0x2E, 0xBB, 0x6E, 0x91, 0xBE, 0x69, 0x66, 0x59, 0x9B, 0x4F, 0xFD, 0xE7,
|
||||||
0x5F, 0xB2, 0x3C, 0xF6, 0xAF, 0xC7, 0x3E, 0x44, 0x90, 0x77, 0x82, 0x09, 0xBA, 0xE2, 0x33, 0x61,
|
0xA6, 0x7C, 0xCD, 0xE7, 0x03, 0x64, 0xD4, 0x1D, 0x78, 0x6A, 0x21, 0xA5, 0xAB, 0xBB, 0x4E, 0xB5,
|
||||||
0xBB, 0x47, 0x8A, 0xCE, 0x35, 0x41, 0x44, 0x42, 0x5E, 0x07, 0xCD, 0x33, 0xCC, 0x98, 0x14, 0x30,
|
0xD7, 0xB4, 0xD2, 0xDD, 0xA8, 0xB9, 0x73, 0xF7, 0xEE, 0xAC, 0xBB, 0xE7, 0xA6, 0xBF, 0x3A, 0x8B,
|
||||||
0x1C, 0x39, 0x43, 0xB0, 0x3D, 0x75, 0xD6, 0xC0, 0x71, 0x81, 0xB4, 0x06, 0x35, 0x11, 0x83, 0xD6,
|
0xDA, 0xB9, 0x5A, 0xBE, 0x7E, 0x87, 0x07, 0x9C, 0x3A, 0x7F, 0xCF, 0xE8, 0x14, 0x31, 0xFB, 0x1B,
|
||||||
0xB4, 0xC2, 0x0A, 0xFC, 0xA6, 0xAB, 0xAA, 0x5B, 0x3B, 0xAC, 0x0D, 0xB5, 0xDD, 0x91, 0xF0, 0x6F,
|
0x31, 0x22, 0x2D, 0xC9, 0x6E, 0x48, 0xFB, 0xEE, 0x5E, 0xDF, 0xEA, 0x3F, 0x37, 0x07, 0x15, 0x48,
|
||||||
0xFA, 0xF1, 0x21, 0xF9, 0x11, 0x7D, 0x18, 0x1E, 0x71, 0xB9, 0xB9, 0x96, 0x33, 0x34, 0x76, 0xCC,
|
0x07, 0x1B, 0x90, 0x0E, 0x2A, 0x91, 0x6E, 0xEE, 0xB1, 0x86, 0x5B, 0x8E, 0x4F, 0x60, 0x0B, 0xA5,
|
||||||
0xB2, 0x63, 0x12, 0xBD, 0x51, 0x8F, 0x1B, 0x23, 0xFE, 0x35, 0xFC, 0xD6, 0x40, 0x8A, 0x1B, 0xFA,
|
0x4E, 0x97, 0x51, 0xD7, 0x97, 0x96, 0xF6, 0x9B, 0xCC, 0xBD, 0x87, 0x5F, 0x73, 0x44, 0x03, 0xB6,
|
||||||
0x43, 0x93, 0xEA, 0x0D, 0x01, 0x5C, 0x78, 0x4C, 0x49, 0x85, 0x19, 0x36, 0x1A, 0x43, 0x29, 0xC3,
|
0x1F, 0xC6, 0xC2, 0xC4, 0xDB, 0x5A, 0x75, 0x9C, 0x6D, 0xA8, 0xBA, 0x40, 0x4C, 0x83, 0xB1, 0x68,
|
||||||
0x44, 0x82, 0xEA, 0xDE, 0xF4, 0x92, 0x91, 0x60, 0xAD, 0xB3, 0xD9, 0x05, 0x96, 0xD6, 0xEA, 0xB9,
|
0x76, 0xCF, 0x05, 0xA7, 0xBF, 0x72, 0x26, 0xD3, 0x73, 0xE4, 0x19, 0xF7, 0x92, 0x0A, 0x2B, 0x3F,
|
||||||
0xCC, 0xEB, 0x4A, 0x14, 0x5E, 0x73, 0x5B, 0xB5, 0x3C, 0xFE, 0xA5, 0xF7, 0x3C, 0x0A, 0xAF, 0x51,
|
0x42, 0xC1, 0xF5, 0xC0, 0x7E, 0xA9, 0x5A, 0xFD, 0xCE, 0x3E, 0x7C, 0xCD, 0x0B, 0x2F, 0xC5, 0x4B,
|
||||||
0xC1, 0xCC, 0xC5, 0x13, 0x96, 0x5E, 0xAD, 0x88, 0x9F, 0x6B, 0x6D, 0xB7, 0x06, 0x71, 0x6F, 0xCD,
|
0x13, 0xB9, 0x0F, 0xC6, 0x1A, 0xFC, 0x11, 0x78, 0xDD, 0x49, 0x1F, 0xDF, 0x96, 0x68, 0x06, 0x93,
|
||||||
0x81, 0x07, 0x44, 0xCA, 0xB5, 0x4E, 0x0D, 0x23, 0x65, 0x7C, 0xE4, 0xE8, 0xDA, 0x25, 0xBA, 0x6E,
|
0x41, 0x43, 0x7D, 0x6D, 0x9E, 0x5E, 0xBF, 0x3B, 0x7C, 0xDD, 0x14, 0x09, 0xA5, 0xCD, 0x43, 0xDB,
|
||||||
0x4D, 0xDA, 0xF6, 0x1A, 0x46, 0xC0, 0x83, 0x94, 0x05, 0xC3, 0x9A, 0x76, 0xB8, 0x89, 0x6B, 0xFB,
|
0x21, 0xA5, 0x1B, 0x96, 0x6A, 0x72, 0x6E, 0xD9, 0x5F, 0x49, 0x4E, 0xE3, 0xC3, 0xE9, 0xCB, 0xDB,
|
||||||
0x68, 0xB7, 0x3A, 0x9A, 0xC2, 0xE7, 0xEA, 0x78, 0xCF, 0x16, 0xE3, 0x7B, 0x3B, 0x68, 0xE9, 0x74,
|
0x8B, 0xAF, 0x26, 0x6A, 0x1C, 0xC4, 0x7F, 0x29, 0x93, 0xA6, 0xEC, 0x8E, 0x95, 0x69, 0x81, 0x0C,
|
||||||
0x4B, 0x6C, 0x10, 0x80, 0x3C, 0x40, 0x8D, 0x5B, 0xC5, 0xE6, 0xD8, 0x02, 0x1D, 0x3E, 0x25, 0xBE,
|
0xC1, 0xAC, 0x9D, 0x34, 0xD5, 0xAB, 0x7D, 0xBD, 0x13, 0xA9, 0x8F, 0x86, 0x90, 0xEF, 0x2B, 0x60,
|
||||||
0x9E, 0x8A, 0xAF, 0xF5, 0x38, 0x74, 0x6E, 0x7F, 0xEB, 0x70, 0xEF, 0xC1, 0xC5, 0xB5, 0xC4, 0xF8,
|
0x4A, 0xD8, 0x1C, 0x40, 0x70, 0xE8, 0xFD, 0x73, 0x3E, 0xE4, 0x91, 0x68, 0x0C, 0xBD, 0x90, 0x05,
|
||||||
0x96, 0x27, 0xC8, 0xE9, 0x0A, 0x6A, 0xBA, 0x05, 0x36, 0x05, 0x59, 0xE7, 0x61, 0x6C, 0x9D, 0x3F,
|
0xB3, 0x4E, 0x0A, 0xBB, 0xE6, 0x46, 0x4A, 0x13, 0x36, 0xEC, 0x0E, 0xB0, 0xD4, 0xA7, 0xF3, 0x8F,
|
||||||
0x14, 0x5B, 0xEF, 0x0F, 0xC1, 0x46, 0x09, 0x90, 0x22, 0xA9, 0x78, 0xFD, 0xE4, 0xF7, 0x0A, 0xAA,
|
0xE3, 0x9F, 0x8F, 0x8F, 0xFD, 0x67, 0xDD, 0xBE, 0x37, 0xB8, 0x1B, 0xC9, 0x9B, 0xE0, 0x86, 0xEE,
|
||||||
0xDB, 0x82, 0xFF, 0xD7, 0x8A, 0xA3, 0x95, 0xDA, 0x59, 0xD7, 0xF4, 0xB4, 0xB7, 0xAE, 0xD9, 0xD3,
|
0xA0, 0x74, 0xE8, 0x0C, 0x0F, 0xBB, 0x8D, 0x29, 0xED, 0xDF, 0x31, 0xD1, 0x98, 0xC0, 0x28, 0x18,
|
||||||
0xDE, 0x76, 0x4D, 0xC7, 0xA3, 0xDF, 0xB6, 0xF6, 0xD6, 0x91, 0x8F, 0x9E, 0xE9, 0x38, 0xE2, 0xD1,
|
0x19, 0x80, 0xBE, 0x75, 0x50, 0xD5, 0xBB, 0x8D, 0x90, 0x7F, 0xDE, 0xD4, 0x9A, 0xAE, 0x37, 0xAE,
|
||||||
0x16, 0x8D, 0x1D, 0x78, 0xD8, 0xF4, 0xE8, 0x9B, 0x4E, 0x97, 0x7E, 0xF7, 0xA9, 0xC9, 0x05, 0x70,
|
0x36, 0x2C, 0xFA, 0xDC, 0x9F, 0xCD, 0x43, 0x16, 0xA9, 0xDB, 0xEA, 0xCE, 0xE1, 0x13, 0x27, 0x7E,
|
||||||
0x57, 0x3E, 0x5C, 0xD3, 0xE9, 0xD1, 0xA3, 0x47, 0x6D, 0x1D, 0xC4, 0xDA, 0xD1, 0x7E, 0xE0, 0x02,
|
0x58, 0x8C, 0x93, 0x39, 0x6C, 0xED, 0x7C, 0xBC, 0x73, 0xE6, 0x71, 0xA7, 0x15, 0x3F, 0x18, 0x10,
|
||||||
0xD3, 0xE4, 0x3B, 0xAC, 0x90, 0xAA, 0x90, 0x35, 0x91, 0xEF, 0xD5, 0x68, 0xA5, 0x5B, 0x17, 0x2A,
|
0x5A, 0x98, 0x6F, 0x68, 0x12, 0x17, 0xF8, 0xC6, 0x9E, 0x00, 0x03, 0x7D, 0xE9, 0x25, 0x73, 0x6D,
|
||||||
0xC2, 0xFA, 0x0B, 0xCC, 0x90, 0xC1, 0x0F, 0x29, 0xE6, 0xA1, 0x31, 0x62, 0x68, 0x15, 0x4C, 0xD5,
|
0x75, 0x9D, 0x61, 0x40, 0x1F, 0xBA, 0xF8, 0xD1, 0x98, 0x26, 0x5E, 0xDC, 0xC1, 0x8F, 0x6E, 0x0C,
|
||||||
0x20, 0xE8, 0x94, 0xF8, 0x98, 0x3A, 0x18, 0x04, 0x5D, 0x71, 0x49, 0x58, 0xA9, 0x83, 0x7C, 0xE3,
|
0xFC, 0x87, 0xB0, 0xD5, 0x69, 0xC1, 0xA4, 0xD9, 0x97, 0x46, 0x40, 0x87, 0xA2, 0xD3, 0x3A, 0x86,
|
||||||
0x1C, 0xF2, 0xB9, 0xF8, 0x32, 0xAB, 0x33, 0x93, 0xE7, 0x4C, 0xAB, 0x33, 0xB0, 0xF4, 0x3C, 0x79,
|
0x96, 0xF5, 0x95, 0x0E, 0x87, 0xC3, 0x6E, 0xE8, 0x25, 0x23, 0xA0, 0xA7, 0xCF, 0x85, 0xE0, 0x61,
|
||||||
0x9B, 0xAC, 0x58, 0xFA, 0x12, 0xC2, 0xE4, 0xBA, 0x61, 0x1C, 0xD5, 0xF9, 0x88, 0xAF, 0xB5, 0x3D,
|
0xE7, 0x09, 0x90, 0x63, 0x0F, 0x42, 0x7F, 0x9E, 0x31, 0xE9, 0xF8, 0x78, 0x11, 0x78, 0x7D, 0x1A,
|
||||||
0xB7, 0x9C, 0x01, 0x3F, 0x62, 0xCF, 0x9D, 0x81, 0x5D, 0x62, 0x45, 0x7F, 0xEB, 0xF3, 0xC9, 0x8C,
|
0xE4, 0x88, 0xA5, 0xCF, 0xE8, 0x2A, 0xF2, 0xD1, 0x67, 0xE6, 0x58, 0x0F, 0x81, 0xEE, 0x56, 0x1B,
|
||||||
0x62, 0x14, 0x72, 0x16, 0x48, 0x21, 0x9A, 0x60, 0x8E, 0xCE, 0x1C, 0xC3, 0x8E, 0x21, 0x38, 0x3E,
|
0xF0, 0x3C, 0xC6, 0x5F, 0xC4, 0x3A, 0x98, 0x24, 0x29, 0x3C, 0xCB, 0x0B, 0x75, 0x9A, 0x2C, 0xE2,
|
||||||
0xF8, 0x50, 0xCB, 0x21, 0xE7, 0x04, 0x39, 0xD0, 0xC0, 0x29, 0x48, 0x17, 0xD3, 0xA8, 0xF4, 0xFF,
|
0x84, 0xCE, 0x4B, 0x04, 0x1F, 0x17, 0x56, 0x90, 0x60, 0x5D, 0x00, 0xB6, 0x2C, 0xEC, 0x90, 0xFB,
|
||||||
0x54, 0x3F, 0x3E, 0x25, 0xDC, 0x8F, 0x34, 0x71, 0x8D, 0x91, 0x46, 0x70, 0x6C, 0xD8, 0x33, 0x00,
|
0x5E, 0x30, 0x8F, 0x79, 0xCA, 0xE4, 0x7D, 0xF2, 0x10, 0xC3, 0x72, 0xF7, 0x73, 0x43, 0xD6, 0x4A,
|
||||||
0x22, 0xDD, 0x40, 0x85, 0x5F, 0xC2, 0xF7, 0x1E, 0xF0, 0xF7, 0x93, 0xC9, 0x72, 0x21, 0xFE, 0x74,
|
0xC0, 0xB2, 0x1D, 0xDC, 0xF3, 0xE8, 0x51, 0x92, 0x95, 0x0E, 0x72, 0x42, 0x4E, 0x08, 0xFB, 0x3F,
|
||||||
0x4C, 0x3B, 0x9A, 0x33, 0x88, 0x03, 0x34, 0x08, 0x04, 0x40, 0x4A, 0x6A, 0x94, 0x89, 0x08, 0x43,
|
0x68, 0x70, 0x34, 0xE1, 0xD0, 0xF1, 0x53, 0x57, 0x15, 0x1C, 0xA8, 0x67, 0x88, 0x58, 0xC9, 0x30,
|
||||||
0x30, 0x03, 0x31, 0x1A, 0xD5, 0xFA, 0xF0, 0x26, 0x5C, 0x4F, 0x0D, 0x11, 0x27, 0xC5, 0x48, 0xB0,
|
0xE0, 0x53, 0xB5, 0xA4, 0x75, 0x9A, 0x71, 0xE6, 0xB5, 0xD6, 0x64, 0xD4, 0xF7, 0x4C, 0xC7, 0xC2,
|
||||||
0xCA, 0xB0, 0x6B, 0x34, 0x58, 0x66, 0xDA, 0xEB, 0xFD, 0x7F, 0xD5, 0xA5, 0x2F, 0x93, 0xC9, 0xA5,
|
0x7F, 0xF6, 0x51, 0x4D, 0x53, 0xD7, 0xD0, 0x47, 0xFB, 0x05, 0x91, 0xCA, 0x25, 0x35, 0x12, 0xC8,
|
||||||
0xD1, 0x0C, 0xE3, 0x98, 0xA5, 0x6F, 0x3E, 0x9D, 0xBD, 0x1D, 0x71, 0x93, 0x98, 0x05, 0x1B, 0xF9,
|
0x29, 0x26, 0xA9, 0x12, 0x4E, 0xA1, 0x4F, 0xAE, 0x6E, 0x53, 0xA7, 0x92, 0x48, 0xE5, 0x58, 0xDD,
|
||||||
0x4C, 0xF5, 0x53, 0x82, 0x8F, 0x61, 0xC5, 0x75, 0x81, 0xCB, 0xE0, 0xA7, 0x78, 0xF7, 0xEF, 0xFD,
|
0xBD, 0x61, 0xF8, 0x1A, 0xF1, 0x99, 0x24, 0xE4, 0xC0, 0x75, 0xFD, 0xEA, 0xE6, 0xFC, 0x84, 0xBC,
|
||||||
0x14, 0x1D, 0x98, 0x59, 0xE9, 0x13, 0x1E, 0xC6, 0x35, 0x86, 0x9C, 0x3C, 0x4C, 0x9A, 0xEB, 0x91,
|
0xDF, 0xC3, 0xB7, 0x4B, 0xB4, 0x52, 0x94, 0xE5, 0xEB, 0x40, 0xEB, 0x83, 0xD6, 0xDB, 0xA3, 0x63,
|
||||||
0x7A, 0x97, 0x7F, 0x8F, 0x9F, 0xA9, 0xB8, 0x48, 0x00, 0x61, 0x75, 0x1B, 0x7C, 0x86, 0xF3, 0x08,
|
0x27, 0x17, 0x47, 0x63, 0x2C, 0x2F, 0x26, 0xE6, 0xB9, 0xF6, 0x3D, 0x41, 0x45, 0x78, 0xB2, 0x54,
|
||||||
0x97, 0x83, 0xDE, 0x0C, 0xFC, 0x8E, 0xA2, 0x8F, 0xA5, 0xFB, 0x01, 0xC1, 0x8B, 0x30, 0x36, 0x07,
|
0x04, 0x94, 0xF7, 0x23, 0x44, 0x7D, 0x2F, 0x97, 0x36, 0x2C, 0x4A, 0x4B, 0xB7, 0x6D, 0x1F, 0x43,
|
||||||
0xED, 0xAF, 0x1D, 0x43, 0xB6, 0x8B, 0xD9, 0x57, 0x9E, 0x5C, 0xE9, 0xF7, 0xAC, 0x49, 0x92, 0xD3,
|
0x42, 0xD2, 0xC5, 0x1A, 0x87, 0x46, 0xB9, 0x49, 0x7A, 0x07, 0xCC, 0x5D, 0x3B, 0x2D, 0xD9, 0x90,
|
||||||
0x04, 0xFA, 0x78, 0xBD, 0x08, 0x48, 0x14, 0xE1, 0xDC, 0x90, 0xDB, 0x26, 0xA6, 0x8D, 0x26, 0xA7,
|
0x2D, 0x47, 0x9A, 0x68, 0xD1, 0x94, 0xD4, 0x62, 0x36, 0xEA, 0x71, 0x36, 0x66, 0x28, 0xEF, 0x71,
|
||||||
0x87, 0x71, 0x6F, 0x20, 0xD7, 0x46, 0x2A, 0x8B, 0x0E, 0x0E, 0xEA, 0x20, 0x75, 0xB6, 0x41, 0x0E,
|
0x36, 0xB0, 0x60, 0x89, 0x12, 0x30, 0x6E, 0x36, 0x85, 0x6D, 0xA6, 0xFF, 0xBD, 0xBA, 0xB0, 0xEE,
|
||||||
0x1D, 0x19, 0x98, 0x60, 0xF0, 0x99, 0x8D, 0xEC, 0x61, 0x76, 0x94, 0xCF, 0x26, 0x38, 0x35, 0xCC,
|
0x2D, 0xD4, 0x3D, 0xB0, 0x14, 0x36, 0x9F, 0x36, 0x12, 0x0A, 0x7A, 0x9F, 0xD2, 0x05, 0xC3, 0x33,
|
||||||
0x1A, 0x0D, 0x43, 0xB7, 0x1C, 0xE0, 0xBA, 0xC0, 0x5E, 0x97, 0xFD, 0x5F, 0xB3, 0x6F, 0x4D, 0x2C,
|
0xDD, 0x6A, 0x13, 0xCF, 0x2C, 0x45, 0x31, 0x2E, 0x5B, 0xE5, 0x93, 0xCC, 0xE0, 0x8B, 0xCC, 0x6D,
|
||||||
0xCF, 0x18, 0x80, 0x8B, 0x58, 0xF9, 0xE9, 0xA3, 0x4C, 0x3D, 0xC1, 0xB8, 0xA8, 0x16, 0x45, 0x31,
|
0xD9, 0x47, 0xED, 0xA7, 0xC7, 0x3F, 0xB7, 0x8E, 0x0E, 0x33, 0xE2, 0x34, 0x3D, 0x47, 0x3B, 0x7A,
|
||||||
0x34, 0x5B, 0x8C, 0x8B, 0x76, 0xAC, 0xC1, 0xFF, 0x4A, 0x0B, 0xE3, 0x98, 0x2E, 0x58, 0x08, 0xD3,
|
0x06, 0x3E, 0x11, 0x38, 0x5F, 0xC7, 0xD1, 0x44, 0x55, 0x69, 0xED, 0x42, 0x9D, 0x94, 0x3F, 0x4A,
|
||||||
0x75, 0xD0, 0xCE, 0xB8, 0xF8, 0xDE, 0x11, 0x8F, 0x2E, 0xB5, 0x39, 0x68, 0x1B, 0xDE, 0x3A, 0xAE,
|
0x74, 0xDB, 0x3E, 0xFA, 0x1A, 0xA2, 0x81, 0x1F, 0x82, 0x0D, 0x40, 0xA4, 0x5E, 0xC0, 0x46, 0x51,
|
||||||
0xFC, 0xED, 0x68, 0x08, 0xE6, 0x3C, 0xC2, 0x5A, 0xE0, 0xA5, 0x5D, 0xED, 0xC6, 0x11, 0x3E, 0xF6,
|
0x27, 0x64, 0xBE, 0x1F, 0xD0, 0x15, 0x77, 0xB5, 0xC1, 0x92, 0xD0, 0x3F, 0xC8, 0x32, 0xF1, 0x86,
|
||||||
0x16, 0x9F, 0x35, 0xED, 0xC6, 0x85, 0x07, 0x58, 0xD5, 0x5B, 0x97, 0xFC, 0xDB, 0x1A, 0x06, 0xF1,
|
0xAA, 0x32, 0x8E, 0xB8, 0xF4, 0xC8, 0x95, 0x2C, 0xD8, 0x66, 0x13, 0x8B, 0x4E, 0x47, 0x86, 0x98,
|
||||||
0x69, 0x49, 0xF2, 0x9D, 0x5A, 0x6E, 0x72, 0xC4, 0xCE, 0x7C, 0x7A, 0xB5, 0x1E, 0x9A, 0x08, 0x39,
|
0x6C, 0x9F, 0xD3, 0xE8, 0x83, 0xDF, 0xDF, 0x06, 0xAC, 0x03, 0x55, 0x0E, 0x2F, 0xF3, 0xFC, 0xAF,
|
||||||
0xFA, 0x4D, 0x2F, 0xAE, 0x42, 0x2E, 0x6E, 0x68, 0xDB, 0xE5, 0x09, 0xCC, 0x6F, 0x3A, 0x4A, 0x3B,
|
0x1A, 0xB1, 0x19, 0xC3, 0xB0, 0x85, 0xFF, 0x16, 0x36, 0x82, 0x01, 0x84, 0x95, 0x81, 0xCF, 0x75,
|
||||||
0xD9, 0x23, 0x85, 0x83, 0xB8, 0x41, 0x8D, 0x5A, 0x71, 0x2A, 0x23, 0x0E, 0x65, 0x2A, 0x79, 0x99,
|
0xCC, 0x50, 0x2E, 0x76, 0xA9, 0xE5, 0xAD, 0x64, 0xB3, 0x92, 0xCB, 0x69, 0x2A, 0xDD, 0xCF, 0xC2,
|
||||||
0x72, 0x06, 0x53, 0x5B, 0x1F, 0x69, 0xEA, 0x74, 0xC5, 0xB5, 0x89, 0x7F, 0x3A, 0xDC, 0xBC, 0xFC,
|
0x56, 0x01, 0xE6, 0x47, 0xCA, 0x2B, 0x53, 0x0A, 0x16, 0xC9, 0x61, 0x6B, 0xBA, 0xB1, 0x93, 0x22,
|
||||||
0x01, 0x7B, 0xB4, 0x06, 0x70, 0x70, 0xA0, 0x40, 0x6C, 0x76, 0xFF, 0xFC, 0x89, 0x62, 0xE0, 0x18,
|
0xEA, 0x90, 0xA0, 0x02, 0xAC, 0x17, 0xCD, 0xA6, 0x63, 0x9A, 0xD0, 0x62, 0x30, 0xEE, 0x69, 0x15,
|
||||||
0x26, 0x6D, 0xA0, 0x4C, 0xD0, 0xF0, 0x80, 0xE7, 0xD3, 0x2B, 0x5C, 0x21, 0xC6, 0x84, 0x8D, 0xD1,
|
0xD4, 0xEC, 0x50, 0x71, 0x0A, 0x43, 0xED, 0x42, 0x96, 0x7D, 0xCF, 0x37, 0xBB, 0x0C, 0x35, 0xA8,
|
||||||
0xDA, 0x7E, 0x4B, 0x58, 0xEA, 0x55, 0xBA, 0x66, 0x7E, 0xF6, 0x7E, 0x15, 0x7F, 0x48, 0x21, 0xB6,
|
0xA3, 0xDE, 0xE3, 0xDB, 0x00, 0xE3, 0xF4, 0x9D, 0xA7, 0xCF, 0x9E, 0x2D, 0x26, 0xC1, 0xD6, 0x58,
|
||||||
0x4D, 0xF9, 0x6D, 0x5D, 0xA7, 0x72, 0x95, 0xF1, 0xBC, 0x0E, 0x82, 0x65, 0x8B, 0x21, 0x38, 0x42,
|
0x8F, 0x27, 0xEE, 0x0D, 0x99, 0xF8, 0x34, 0x30, 0xF1, 0x51, 0xE9, 0x86, 0x76, 0xDB, 0x87, 0xCB,
|
||||||
0x5D, 0x00, 0x42, 0x34, 0x24, 0x26, 0x63, 0x90, 0x83, 0x48, 0xCC, 0xF2, 0x33, 0x17, 0x1E, 0xFB,
|
0xE0, 0x89, 0xCF, 0x32, 0xBA, 0xEA, 0x2E, 0xE5, 0xCF, 0x50, 0x66, 0x98, 0x84, 0x68, 0x76, 0x1E,
|
||||||
0xAF, 0x35, 0x95, 0x29, 0xBF, 0xC9, 0xCA, 0xE7, 0x6F, 0xBA, 0xA2, 0xA8, 0xAF, 0x18, 0x9E, 0xB1,
|
0x1E, 0xCB, 0x06, 0xF0, 0xEE, 0xA5, 0x86, 0xCA, 0x78, 0x91, 0x73, 0x66, 0xA6, 0xB8, 0x59, 0xC1,
|
||||||
0xD4, 0x6B, 0xFA, 0x06, 0x7F, 0xF5, 0x9A, 0x21, 0x42, 0x3E, 0x25, 0x68, 0x6B, 0x14, 0xEB, 0xC5,
|
0xA9, 0x80, 0xE5, 0x0E, 0xF1, 0x19, 0x62, 0x3D, 0x92, 0x48, 0x24, 0x19, 0x8E, 0xA1, 0x74, 0x65,
|
||||||
0x49, 0x85, 0xAE, 0xE1, 0x2F, 0x90, 0x62, 0xBD, 0x54, 0x0B, 0x1F, 0x34, 0xC2, 0x5F, 0xD7, 0x08,
|
0x89, 0x01, 0x76, 0x8B, 0xB0, 0x63, 0x06, 0x7F, 0x4A, 0xA3, 0x89, 0x34, 0xA1, 0x64, 0x2E, 0x57,
|
||||||
0x5F, 0x6A, 0xC4, 0x68, 0x5D, 0x23, 0xFC, 0x3F, 0x48, 0x23, 0x14, 0x6D, 0xE8, 0x0B, 0x97, 0xDA,
|
0x0C, 0xBC, 0x99, 0x76, 0x5A, 0x5D, 0x6D, 0x79, 0x0D, 0x8A, 0xE9, 0x65, 0xAA, 0x72, 0x29, 0x3B,
|
||||||
0x47, 0xE7, 0x08, 0x8E, 0x15, 0x7C, 0xA8, 0xFC, 0xD5, 0x46, 0x37, 0xD9, 0x42, 0xE9, 0x6F, 0xA1,
|
0xC6, 0x3A, 0x83, 0xF5, 0x95, 0x95, 0x8D, 0xAE, 0x25, 0x23, 0x55, 0xF1, 0x85, 0xAF, 0x79, 0xD9,
|
||||||
0xBE, 0xB4, 0x49, 0x69, 0x5C, 0x02, 0xC5, 0x07, 0x3A, 0x57, 0x54, 0x21, 0x8F, 0xC6, 0xB7, 0xE9,
|
0x1C, 0xEC, 0xE5, 0x1B, 0x64, 0xBA, 0x27, 0xA1, 0xFE, 0xC2, 0xCE, 0xDE, 0x1D, 0x9C, 0x57, 0xA3,
|
||||||
0xB7, 0x2B, 0x34, 0x08, 0xFA, 0x1F, 0xE7, 0x5B, 0x0B, 0x41, 0xAF, 0x4A, 0xBA, 0x56, 0x48, 0x64,
|
0xCE, 0x22, 0xDF, 0xB7, 0xC7, 0xB0, 0xAA, 0xA8, 0x58, 0x50, 0xC3, 0xCC, 0x2C, 0xD6, 0xA2, 0x58,
|
||||||
0x11, 0x83, 0x6C, 0x5E, 0xF9, 0x56, 0x2D, 0xA8, 0xE2, 0x98, 0x95, 0xCD, 0xF1, 0xCB, 0xCD, 0x11,
|
0xD1, 0x4A, 0xDA, 0xB8, 0x76, 0xCC, 0x99, 0x56, 0xF2, 0x2A, 0x3B, 0xE2, 0xDF, 0x4F, 0xE4, 0xD6,
|
||||||
0x01, 0xF9, 0x46, 0x47, 0x21, 0x86, 0xD5, 0x97, 0x52, 0xEC, 0xFC, 0x5D, 0x62, 0x67, 0xAA, 0x52,
|
0xD4, 0x14, 0x10, 0xE8, 0xE0, 0xF7, 0xBD, 0x69, 0xCB, 0xF6, 0x78, 0x9E, 0xB1, 0xFC, 0x47, 0x22,
|
||||||
0xF7, 0x74, 0x19, 0xDA, 0x4D, 0xE9, 0x13, 0xC5, 0x48, 0x38, 0xB3, 0xBC, 0x78, 0xAB, 0x7A, 0xB3,
|
0xDB, 0x14, 0x6F, 0x37, 0xE7, 0xC8, 0x4B, 0x5B, 0xD9, 0x51, 0x0E, 0xB9, 0x9E, 0x3B, 0x19, 0xE1,
|
||||||
0xE4, 0xB9, 0x0E, 0x79, 0x36, 0x56, 0x73, 0x73, 0x97, 0x87, 0x87, 0xA0, 0x2A, 0x44, 0xFC, 0x5C,
|
0x79, 0xE6, 0xAF, 0xC7, 0x1D, 0x3B, 0x95, 0x29, 0x79, 0xA6, 0xC0, 0xCA, 0x9F, 0x54, 0xE5, 0x04,
|
||||||
0xC7, 0x33, 0x1F, 0xAD, 0xA2, 0xE1, 0x5A, 0x98, 0x81, 0xDF, 0xCD, 0x32, 0xB5, 0x5E, 0x27, 0x6A,
|
0x2A, 0xB1, 0xDF, 0x28, 0x91, 0xD5, 0x8C, 0x2C, 0x33, 0x8D, 0x85, 0x8D, 0x87, 0x32, 0xB9, 0x5F,
|
||||||
0x0B, 0x5A, 0xC8, 0x01, 0x61, 0x6E, 0x6C, 0x20, 0xEB, 0x92, 0xCB, 0xD4, 0x6A, 0x6B, 0xE5, 0x9A,
|
0x51, 0xAA, 0x2C, 0xCF, 0xC9, 0xB2, 0x30, 0xEB, 0x64, 0xB3, 0xA3, 0x0D, 0xAE, 0x66, 0x7D, 0x98,
|
||||||
0xDA, 0xF1, 0xAF, 0x89, 0xC6, 0x13, 0x4D, 0x5C, 0xC4, 0x0D, 0xCB, 0x9B, 0x40, 0xFE, 0x71, 0x4E,
|
0x29, 0x6B, 0x78, 0x43, 0xF8, 0x56, 0xF6, 0x34, 0x9E, 0x6F, 0x88, 0x7C, 0x19, 0xEE, 0xA7, 0x3B,
|
||||||
0x4A, 0x59, 0x19, 0xAE, 0x3A, 0x60, 0xD1, 0x4B, 0x75, 0xF3, 0x0A, 0xA5, 0x32, 0xA9, 0x54, 0x8A,
|
0xBB, 0x6E, 0x50, 0xB0, 0x47, 0x72, 0xA1, 0x8D, 0xEE, 0x34, 0xBD, 0x1F, 0x55, 0x38, 0x5A, 0x3B,
|
||||||
0x01, 0x42, 0x15, 0x31, 0x0C, 0xC3, 0x53, 0xE7, 0x74, 0x5E, 0xD7, 0x5F, 0x8A, 0x17, 0x2D, 0xC0,
|
0xAB, 0x50, 0xEE, 0x8C, 0xD1, 0x43, 0xCD, 0x57, 0x83, 0xF8, 0x23, 0xC6, 0x97, 0xF1, 0x33, 0x2B,
|
||||||
0x2E, 0x84, 0x49, 0xA6, 0x28, 0x75, 0x22, 0xFA, 0x00, 0x8D, 0xA9, 0x04, 0x67, 0x04, 0x04, 0x9C,
|
0xA0, 0x56, 0xB3, 0x58, 0x01, 0xD3, 0xAE, 0x1B, 0x9F, 0xBE, 0x69, 0x62, 0x14, 0xB1, 0xF4, 0x39,
|
||||||
0x61, 0x1B, 0x38, 0xF3, 0xE8, 0x6E, 0x1F, 0x5A, 0x80, 0x01, 0x79, 0x4B, 0xD2, 0xDB, 0x3D, 0xB8,
|
0x6A, 0xDD, 0x03, 0xAA, 0x4C, 0x35, 0xC7, 0xF3, 0x58, 0x64, 0x58, 0x59, 0x57, 0x0F, 0x39, 0xF0,
|
||||||
0x01, 0xA6, 0x8A, 0x5E, 0x39, 0x5E, 0x91, 0xC9, 0xF1, 0x22, 0x05, 0xA7, 0x0A, 0x19, 0xF0, 0xAB,
|
0x6D, 0x6B, 0x53, 0xA1, 0xA8, 0xB7, 0x99, 0x85, 0x7A, 0x84, 0xA4, 0xD4, 0xA7, 0x03, 0x9E, 0xC8,
|
||||||
0x1C, 0x1D, 0xD5, 0x62, 0x21, 0x02, 0x81, 0x8D, 0x8D, 0x97, 0x51, 0x04, 0xD6, 0x74, 0x0D, 0xF5,
|
0xBB, 0x81, 0xD2, 0x26, 0x2E, 0x7F, 0xDC, 0x63, 0x21, 0xBE, 0x1A, 0xED, 0x45, 0xA2, 0x40, 0x9D,
|
||||||
0x24, 0xC7, 0x81, 0x22, 0x0A, 0xA6, 0x61, 0x0E, 0x01, 0x61, 0x39, 0x43, 0x98, 0xBD, 0x0D, 0xE7,
|
0x66, 0xD3, 0x6A, 0x03, 0xA2, 0xB3, 0x4A, 0x41, 0xB0, 0x82, 0x00, 0xBD, 0xDC, 0x7F, 0x5C, 0x5E,
|
||||||
0xA0, 0x60, 0xC1, 0x49, 0x7C, 0x1D, 0xA6, 0x49, 0x8C, 0x35, 0x91, 0x62, 0xB2, 0xAF, 0x3A, 0x88,
|
0xFF, 0x32, 0x5F, 0xE7, 0xD7, 0x3F, 0x2A, 0xCF, 0xEF, 0xE6, 0x4B, 0xE3, 0x5B, 0xF5, 0x87, 0xFF,
|
||||||
0x20, 0x34, 0x64, 0x5E, 0xF3, 0x92, 0x0A, 0x38, 0x78, 0xBF, 0x0A, 0xE6, 0x82, 0x85, 0xC6, 0x0C,
|
0x0A, 0xA9, 0xCF, 0x3C, 0x03, 0xE0, 0x28, 0xFE, 0x06, 0x44, 0xE4, 0x1B, 0xE6, 0x52, 0xBD, 0x9F,
|
||||||
0xFF, 0x14, 0x2F, 0xE4, 0xB7, 0x74, 0x78, 0xDA, 0xC4, 0xA0, 0x75, 0xB1, 0x28, 0x00, 0x9A, 0xFE,
|
0xE0, 0x6E, 0xB1, 0x36, 0x2F, 0x86, 0xA0, 0x92, 0xA5, 0x2C, 0x4E, 0x9A, 0x32, 0xE0, 0xF6, 0x4E,
|
||||||
0x77, 0x7F, 0xEE, 0x87, 0x58, 0xAF, 0x88, 0x13, 0x2C, 0xB5, 0x82, 0x9D, 0x12, 0x3D, 0x78, 0x4B,
|
0x9A, 0xEA, 0xF7, 0x8F, 0xD0, 0xA4, 0x7B, 0x27, 0x3E, 0xBB, 0xEF, 0x9D, 0x4C, 0x02, 0x2C, 0xB7,
|
||||||
0x93, 0x20, 0xC3, 0xC5, 0x2C, 0x01, 0x24, 0x2C, 0x8A, 0x94, 0x9E, 0x10, 0xAF, 0x60, 0x67, 0x4D,
|
0xC6, 0x42, 0xF8, 0xEC, 0xC8, 0xA8, 0x97, 0x5D, 0xEB, 0x62, 0x81, 0x75, 0xDE, 0xA9, 0x0F, 0x70,
|
||||||
0x3A, 0xF7, 0x90, 0x2D, 0xE3, 0x24, 0xF9, 0xAE, 0x36, 0xF8, 0x61, 0x8A, 0xD5, 0x33, 0x08, 0x0D,
|
0x7A, 0xF2, 0xD2, 0x66, 0x08, 0x38, 0x4A, 0xBD, 0xD9, 0x49, 0x4A, 0xEF, 0x9C, 0x06, 0x71, 0xA9,
|
||||||
0x65, 0x03, 0x9F, 0x81, 0xD2, 0x07, 0xE1, 0x74, 0xCA, 0x30, 0x8E, 0x10, 0xED, 0x72, 0x7E, 0x16,
|
0x27, 0xBB, 0x34, 0xD2, 0x35, 0x3E, 0xEA, 0x70, 0xB5, 0x27, 0xCF, 0x47, 0x72, 0x38, 0xDD, 0xB5,
|
||||||
0x5C, 0x42, 0xD0, 0xC1, 0x30, 0xA4, 0x6E, 0xCE, 0xB3, 0x29, 0x8F, 0x27, 0x59, 0x28, 0x67, 0x9B,
|
0x24, 0x9F, 0xF4, 0x4A, 0x73, 0x2C, 0x0B, 0x5E, 0xCA, 0xB3, 0xBC, 0xC1, 0xF6, 0x12, 0x64, 0x76,
|
||||||
0x87, 0x93, 0x34, 0xC9, 0x92, 0x29, 0xA7, 0xEF, 0x6F, 0x18, 0xE9, 0xEA, 0x2F, 0x3E, 0x80, 0x33,
|
0xB7, 0x65, 0x64, 0x41, 0xD0, 0x5D, 0xBE, 0x4A, 0xAF, 0xE7, 0x6C, 0xE2, 0x8A, 0x9B, 0x72, 0xED,
|
||||||
0xCA, 0x6B, 0x61, 0x86, 0x08, 0x62, 0x9E, 0x39, 0x85, 0xD9, 0xE5, 0x60, 0x76, 0x21, 0x8A, 0xCE,
|
0xE3, 0x44, 0x32, 0x41, 0x8E, 0xC4, 0x1A, 0xAF, 0xAC, 0x3D, 0x6B, 0x2B, 0x55, 0x05, 0x66, 0xA8,
|
||||||
0x0D, 0x2E, 0x07, 0x83, 0x0B, 0xA3, 0x2C, 0xE7, 0xD9, 0xA8, 0xA8, 0x2B, 0x45, 0x89, 0x28, 0xD9,
|
0xA5, 0x53, 0x34, 0x14, 0x01, 0xAB, 0x90, 0xBA, 0xD2, 0xAD, 0x04, 0xAA, 0x7D, 0x1A, 0xE9, 0xDD,
|
||||||
0x35, 0x67, 0x49, 0xC6, 0x9B, 0xA1, 0x8C, 0xF6, 0xD8, 0x57, 0xFE, 0xCD, 0xC8, 0xF1, 0xD9, 0xC3,
|
0xD0, 0x24, 0xC4, 0x82, 0xD2, 0xCD, 0x48, 0x64, 0xE1, 0x5B, 0x79, 0x20, 0x4A, 0xC9, 0xC8, 0xC3,
|
||||||
0x1C, 0xF1, 0x5A, 0xCD, 0x49, 0xEE, 0x17, 0x05, 0x50, 0x38, 0x5D, 0xBC, 0xA5, 0x1A, 0x64, 0x86,
|
0x94, 0xC6, 0xA6, 0x21, 0x96, 0xB9, 0x1C, 0xB4, 0xCB, 0xFD, 0x46, 0xD6, 0x33, 0xE4, 0x49, 0xF8,
|
||||||
0x23, 0xFD, 0x90, 0xF4, 0xFF, 0xB9, 0xF8, 0xC3, 0x23, 0x2C, 0xCE, 0x0C, 0xB7, 0xAB, 0x2A, 0x4A,
|
0x4A, 0xF5, 0x12, 0x03, 0x75, 0x6B, 0xC0, 0xC3, 0x18, 0x6B, 0xD3, 0x5C, 0xC2, 0x87, 0x43, 0x62,
|
||||||
0x21, 0xED, 0x52, 0x7C, 0x89, 0x27, 0xF3, 0x10, 0x0F, 0x42, 0x24, 0x8F, 0x63, 0x45, 0xF1, 0x5E,
|
0x64, 0x67, 0xE9, 0x0A, 0x79, 0xB1, 0x4E, 0xAA, 0x67, 0x9C, 0x28, 0xED, 0xCE, 0xA6, 0xEA, 0x8B,
|
||||||
0x29, 0xEA, 0x70, 0x43, 0x74, 0x8A, 0xAA, 0xA6, 0xD2, 0xA1, 0x46, 0xB4, 0x66, 0xFC, 0x70, 0x21,
|
0x48, 0x83, 0xA9, 0x82, 0xA7, 0xDE, 0x35, 0x8D, 0xFC, 0x93, 0xA6, 0x36, 0xBE, 0x47, 0xC8, 0x51,
|
||||||
0x2A, 0xAE, 0x14, 0xA2, 0xEA, 0x54, 0x89, 0x8A, 0x65, 0x9A, 0xF0, 0x7C, 0x4B, 0xBE, 0xF1, 0xDF,
|
0xA7, 0x5A, 0xF2, 0x3C, 0xBA, 0xCF, 0x1F, 0xD4, 0x3C, 0xD5, 0x27, 0xD7, 0x86, 0x3E, 0xB8, 0xD6,
|
||||||
0xE7, 0xEF, 0xDF, 0x41, 0xF0, 0x91, 0x42, 0x92, 0x12, 0x57, 0x0B, 0x52, 0xC6, 0xA0, 0x65, 0x3B,
|
0x23, 0x50, 0x5C, 0xC6, 0x89, 0x4C, 0xAF, 0x0D, 0x58, 0xD0, 0xB6, 0x91, 0xBD, 0x17, 0xF9, 0x33,
|
||||||
0xCA, 0x60, 0xBC, 0x3E, 0x34, 0xA8, 0x4F, 0x44, 0xFD, 0x10, 0xD8, 0x7C, 0x59, 0xCF, 0xBB, 0x0C,
|
0x08, 0x18, 0x47, 0x64, 0x62, 0x54, 0x9F, 0x31, 0x16, 0xF7, 0x2E, 0xF9, 0x9C, 0xD5, 0x0D, 0xE2,
|
||||||
0xF3, 0xF5, 0x97, 0x13, 0xAC, 0x6C, 0x82, 0x58, 0x1B, 0xF7, 0x48, 0x65, 0x59, 0xC7, 0x0A, 0xA9,
|
0x8B, 0x09, 0x09, 0x2D, 0x83, 0x66, 0x22, 0x29, 0xD4, 0x78, 0x6E, 0x95, 0xFA, 0x5A, 0xA5, 0xE5,
|
||||||
0x22, 0x15, 0xCB, 0x8A, 0x54, 0x95, 0xDF, 0xE2, 0x1C, 0x44, 0x0A, 0x7A, 0x69, 0x61, 0xF2, 0x73,
|
0x66, 0xC1, 0x2F, 0x7F, 0xDA, 0xA7, 0x12, 0xCF, 0x0F, 0x93, 0xBE, 0xA4, 0x50, 0xF3, 0x5E, 0x56,
|
||||||
0x18, 0x43, 0x98, 0x59, 0x94, 0x0B, 0x1B, 0x23, 0x94, 0xBC, 0xC0, 0x27, 0x20, 0xAB, 0x87, 0xCA,
|
0x1A, 0x96, 0xE5, 0xAD, 0xEE, 0xA9, 0x8C, 0x70, 0x12, 0x08, 0x06, 0x4A, 0x01, 0x7C, 0xD5, 0x4F,
|
||||||
0x45, 0x51, 0x4B, 0x9C, 0xB0, 0xE4, 0x0C, 0x97, 0x86, 0x29, 0xBD, 0x04, 0x00, 0x51, 0xE2, 0x2C,
|
0x5B, 0x84, 0x9F, 0x95, 0xD5, 0xF4, 0xAE, 0xD4, 0x43, 0xAE, 0x00, 0xD5, 0xEA, 0x92, 0x1F, 0x58,
|
||||||
0x8F, 0x3A, 0xE4, 0xB1, 0x47, 0xC4, 0xF4, 0xA1, 0x10, 0x2D, 0xDC, 0xEB, 0xD7, 0x49, 0x3A, 0x7F,
|
0x1B, 0xEA, 0x87, 0x36, 0xC8, 0x2B, 0xD9, 0xB2, 0xAC, 0xE5, 0x26, 0xBD, 0xFA, 0xE3, 0xD3, 0x14,
|
||||||
0xE5, 0x73, 0x7F, 0xC8, 0x51, 0x45, 0x90, 0x66, 0x61, 0xD6, 0xD4, 0x54, 0xA1, 0x8C, 0x02, 0x62,
|
0x6B, 0x5F, 0xB2, 0x89, 0x26, 0xFA, 0x87, 0x23, 0x64, 0x63, 0x61, 0x92, 0x22, 0x77, 0x94, 0xDA,
|
||||||
0x10, 0xC7, 0xB8, 0x14, 0xC7, 0x18, 0xC4, 0x51, 0x66, 0x1D, 0xEC, 0x6B, 0xFC, 0x0D, 0x9C, 0x8D,
|
0x28, 0x4E, 0xE0, 0x3C, 0xC5, 0xEA, 0xCC, 0x9E, 0xF3, 0x53, 0xAE, 0x17, 0x6A, 0x4F, 0x98, 0x73,
|
||||||
0x9A, 0x6C, 0x86, 0xD2, 0x59, 0x9C, 0xEB, 0x25, 0xF2, 0xC4, 0x0C, 0x45, 0x64, 0x60, 0x96, 0xF3,
|
0x5D, 0xED, 0x15, 0xD7, 0xC7, 0x11, 0xF9, 0xEA, 0x2C, 0x81, 0x1C, 0x22, 0x67, 0xE6, 0xB1, 0xA3,
|
||||||
0x95, 0xE7, 0x4E, 0xC0, 0xBC, 0x4D, 0x04, 0xC6, 0x7D, 0xBD, 0x52, 0x0F, 0xDF, 0x22, 0xA2, 0x86,
|
0xF4, 0x47, 0xCD, 0xB0, 0x49, 0x7D, 0xF4, 0x59, 0x5A, 0x59, 0xA6, 0x64, 0x23, 0x4C, 0xBF, 0x5A,
|
||||||
0xDC, 0x80, 0x0F, 0xEF, 0xCF, 0xA9, 0x92, 0x48, 0xF8, 0x74, 0xDA, 0x88, 0xCA, 0xD0, 0xA6, 0x7C,
|
0xF6, 0x99, 0x06, 0xAD, 0xAD, 0x4E, 0x13, 0x88, 0xB7, 0xA5, 0xBD, 0xA6, 0x46, 0xAF, 0x92, 0x1A,
|
||||||
0x80, 0x93, 0x3E, 0xB9, 0x86, 0x59, 0xDE, 0x82, 0x65, 0x67, 0x20, 0xBB, 0xC8, 0x31, 0x71, 0x70,
|
0x0D, 0xA5, 0x33, 0x1C, 0xFC, 0x6C, 0xE0, 0x2B, 0xAC, 0xB1, 0x74, 0x80, 0x42, 0xB9, 0x7F, 0xF9,
|
||||||
0xA4, 0x9B, 0x65, 0x56, 0x41, 0x35, 0xD8, 0x7C, 0xAD, 0xA0, 0x2A, 0x8B, 0x25, 0x15, 0xBF, 0xF2,
|
0xDE, 0xD5, 0xB8, 0x87, 0xBF, 0x93, 0x73, 0xD2, 0xC4, 0x97, 0x73, 0xE0, 0x3F, 0xFE, 0xBC, 0x44,
|
||||||
0x7C, 0x15, 0x45, 0xC2, 0x0F, 0x58, 0x70, 0x28, 0x53, 0xCC, 0xFF, 0x82, 0xCC, 0x6F, 0xA8, 0xF2,
|
0xFE, 0xE5, 0x9A, 0x7D, 0xCE, 0xBF, 0xE8, 0x37, 0x9D, 0x88, 0xF3, 0x13, 0xAE, 0xB9, 0xDC, 0x86,
|
||||||
0x5F, 0x6C, 0x50, 0xEE, 0x2C, 0x1E, 0xDA, 0x3E, 0x0D, 0xF7, 0xAF, 0x81, 0x59, 0xF4, 0x6B, 0xFC,
|
0x79, 0x55, 0xD6, 0x8A, 0xAF, 0xDC, 0xE0, 0x93, 0xC2, 0x20, 0x57, 0x90, 0x2D, 0x54, 0xBE, 0xED,
|
||||||
0xA3, 0xAD, 0xBA, 0x6D, 0x60, 0x16, 0x78, 0x7F, 0x6F, 0x52, 0x54, 0x5A, 0x56, 0xCE, 0x9D, 0xB5,
|
0x82, 0x9D, 0x2A, 0xEE, 0x34, 0x25, 0x59, 0x5B, 0xB8, 0xA6, 0x8B, 0x8B, 0xCB, 0x3C, 0xC9, 0xED,
|
||||||
0x25, 0x25, 0x31, 0x35, 0x2B, 0x4A, 0x41, 0x2A, 0x30, 0xAA, 0x42, 0x49, 0x91, 0xAE, 0x3F, 0x82,
|
0xA0, 0x68, 0xB1, 0x9B, 0xAD, 0x57, 0x57, 0x5E, 0x3F, 0x62, 0xBB, 0xA5, 0xE2, 0xE4, 0x2A, 0xCB,
|
||||||
0x96, 0x87, 0x84, 0x48, 0x1E, 0x98, 0x99, 0xDB, 0xE4, 0x37, 0x2F, 0xB4, 0x9A, 0xFB, 0x15, 0xAF,
|
0xD5, 0x05, 0x4E, 0xAA, 0x6A, 0xA3, 0x02, 0xD1, 0xDF, 0x61, 0xBC, 0xDE, 0x60, 0x40, 0x63, 0xE1,
|
||||||
0x4A, 0x5B, 0x55, 0x09, 0x8D, 0x81, 0x68, 0x96, 0xFA, 0x75, 0xBF, 0xB6, 0x5C, 0x52, 0x2B, 0x6E,
|
0x12, 0xFC, 0x89, 0xA3, 0xA5, 0x29, 0x0F, 0xA7, 0xE4, 0x11, 0xF3, 0xC1, 0x7A, 0x35, 0x70, 0xDB,
|
||||||
0x28, 0x95, 0x5C, 0xF5, 0xFE, 0xCD, 0x1D, 0xE8, 0xAF, 0xA0, 0x6B, 0xF7, 0x1D, 0x1C, 0xA3, 0x29,
|
0x78, 0x8E, 0x6F, 0xA0, 0x25, 0xED, 0x6A, 0x30, 0xCB, 0x32, 0x95, 0xAF, 0x35, 0x19, 0x35, 0x72,
|
||||||
0xEF, 0xDE, 0x80, 0xB5, 0x90, 0xF5, 0x62, 0xE5, 0xA6, 0x0C, 0xAC, 0x98, 0xC0, 0x3E, 0x25, 0x8B,
|
0x67, 0xA3, 0x29, 0x7E, 0xF6, 0x0B, 0xF1, 0x78, 0x59, 0xBD, 0x9A, 0xA7, 0x07, 0x78, 0x60, 0x59,
|
||||||
0xD1, 0xEE, 0xDE, 0x37, 0x14, 0xC3, 0x2A, 0xDA, 0x0D, 0x71, 0xDF, 0xBB, 0xE5, 0x7C, 0x0C, 0xA2,
|
0x14, 0x63, 0xB1, 0x3D, 0x3B, 0xBC, 0xDE, 0xD4, 0x95, 0x49, 0xF3, 0x02, 0xF6, 0xE9, 0x82, 0x0D,
|
||||||
0x44, 0xB6, 0xB4, 0xD4, 0x17, 0x14, 0x0E, 0x19, 0x1C, 0x83, 0xB3, 0x94, 0xC2, 0x74, 0xC4, 0x87,
|
0xF5, 0x4F, 0xDF, 0x14, 0x84, 0x59, 0x82, 0x96, 0xE6, 0x58, 0x2D, 0xB0, 0x35, 0x4B, 0xEC, 0xDD,
|
||||||
0x06, 0x98, 0x51, 0x5B, 0x6F, 0xC4, 0x79, 0x89, 0x35, 0x2E, 0x71, 0x41, 0xFA, 0xF3, 0xE1, 0x25,
|
0xA6, 0xB0, 0xFD, 0xD0, 0xB3, 0x29, 0x71, 0xE6, 0xF4, 0xAB, 0x8A, 0xD3, 0xD5, 0x74, 0x63, 0xB7,
|
||||||
0x06, 0x44, 0x85, 0xA9, 0x40, 0x89, 0x07, 0x25, 0x65, 0x45, 0x3D, 0x16, 0x0F, 0x13, 0x5E, 0x83,
|
0x69, 0xDF, 0xE9, 0xAA, 0xD5, 0xF2, 0xD4, 0x4A, 0x39, 0xB2, 0x8A, 0xD6, 0xCC, 0x0D, 0x14, 0xEB,
|
||||||
0xE7, 0xFD, 0x07, 0xC3, 0x70, 0xA3, 0xA1, 0x5B, 0x7A, 0x43, 0xA1, 0x00, 0x7B, 0xCF, 0x80, 0xE2,
|
0x5B, 0xD7, 0x8D, 0xA2, 0xB4, 0xBC, 0x5C, 0x23, 0xB5, 0xD6, 0xA8, 0x09, 0x75, 0xF1, 0xEE, 0x9A,
|
||||||
0x19, 0x74, 0x41, 0x90, 0xBB, 0xB5, 0x1F, 0xD1, 0xD5, 0x8D, 0x1D, 0x9D, 0x6F, 0x92, 0x65, 0x9A,
|
0x0E, 0x15, 0x2B, 0x7B, 0xB3, 0x74, 0x2B, 0x53, 0xA0, 0x0D, 0x76, 0xA8, 0xED, 0x5B, 0xFE, 0xF4,
|
||||||
0xED, 0xEC, 0x3D, 0x0B, 0xE3, 0x25, 0x67, 0xBB, 0xFB, 0xCF, 0x19, 0xB0, 0x2B, 0x10, 0xFD, 0xE5,
|
0xE6, 0x7F, 0x03, 0x98, 0x91, 0xF0, 0xE8, 0x8A, 0x53, 0x00, 0x00
|
||||||
0xAA, 0xDE, 0x84, 0x01, 0x7B, 0x01, 0x7B, 0x04, 0xFA, 0x53, 0x9C, 0x26, 0xD9, 0x9B, 0xA7, 0x49,
|
|
||||||
0x07, 0x07, 0xC5, 0x31, 0x58, 0x73, 0x12, 0x25, 0x58, 0x4A, 0x32, 0x0B, 0x57, 0x47, 0x7F, 0x21,
|
|
||||||
0x35, 0xAA, 0x7E, 0x36, 0xF4, 0x3A, 0x08, 0x9B, 0x8C, 0x0E, 0x58, 0x60, 0xEC, 0x8A, 0x22, 0x99,
|
|
||||||
0x6C, 0x57, 0xEE, 0x1A, 0x19, 0x6B, 0xA7, 0x40, 0xE2, 0xD0, 0x27, 0x87, 0xCB, 0x8F, 0xE5, 0xF7,
|
|
||||||
0x42, 0xE5, 0x17, 0xEF, 0xB6, 0x03, 0x95, 0xAB, 0x2F, 0xFC, 0xC5, 0x5D, 0xCE, 0x07, 0xFD, 0xB5,
|
|
||||||
0x0F, 0xBA, 0x11, 0x60, 0x00, 0x5A, 0x9E, 0xBC, 0xE1, 0xDF, 0x75, 0x41, 0xC2, 0xF3, 0xFA, 0xCB,
|
|
||||||
0x33, 0xB5, 0x16, 0xF7, 0xFA, 0xCB, 0xFB, 0xEF, 0xF5, 0xDC, 0x0D, 0xEC, 0x72, 0xB9, 0x2C, 0x78,
|
|
||||||
0x90, 0x26, 0x79, 0x98, 0x55, 0x1E, 0x10, 0x16, 0x1A, 0xB0, 0x8F, 0x29, 0x62, 0x94, 0x51, 0x1E,
|
|
||||||
0x32, 0x96, 0xA3, 0x76, 0xB2, 0x48, 0x8E, 0x29, 0x97, 0x70, 0x0A, 0xDA, 0xF8, 0xF9, 0xB4, 0xBE,
|
|
||||||
0x27, 0xCA, 0x60, 0xA3, 0xDD, 0x27, 0x40, 0xFA, 0x57, 0x88, 0xD1, 0x7B, 0xB6, 0xFD, 0x0D, 0xB3,
|
|
||||||
0x07, 0xE8, 0x51, 0x34, 0xC4, 0x18, 0xEE, 0x38, 0xC0, 0xDC, 0x3C, 0x25, 0x7D, 0x28, 0x98, 0x00,
|
|
||||||
0x6B, 0xBF, 0x16, 0x4F, 0xE4, 0xFA, 0x27, 0xAA, 0x92, 0x95, 0xD0, 0x22, 0xF7, 0x02, 0xBB, 0xC3,
|
|
||||||
0x89, 0xE1, 0x75, 0x12, 0x06, 0x1A, 0x9A, 0x62, 0xDE, 0x7C, 0xFD, 0xE5, 0xEF, 0x2C, 0xCD, 0x60,
|
|
||||||
0x9A, 0x9F, 0x3F, 0x95, 0xD6, 0x37, 0x10, 0xB0, 0x89, 0xE2, 0x83, 0xD2, 0xF8, 0x85, 0x8D, 0xC5,
|
|
||||||
0x79, 0xD9, 0x7A, 0xEB, 0x39, 0xE9, 0x09, 0xC6, 0xA1, 0xDB, 0x7B, 0x4E, 0x3F, 0xAC, 0xB7, 0xBF,
|
|
||||||
0x54, 0x19, 0x52, 0xE9, 0x2C, 0xEF, 0xD0, 0x55, 0x9A, 0x5F, 0x54, 0x78, 0xF6, 0x1C, 0x16, 0x6E,
|
|
||||||
0x0F, 0x8A, 0xBD, 0xCE, 0xAF, 0xC4, 0x56, 0x84, 0xEF, 0x1A, 0x5D, 0x56, 0xB1, 0x3A, 0x53, 0x7F,
|
|
||||||
0x87, 0x62, 0xFF, 0xAC, 0x32, 0x03, 0x88, 0x8B, 0x7A, 0x24, 0x0D, 0x3E, 0x19, 0x12, 0x89, 0x0C,
|
|
||||||
0xAD, 0x72, 0x40, 0x90, 0xC5, 0x82, 0x01, 0x50, 0x39, 0xC8, 0x06, 0xB8, 0xE2, 0x88, 0x18, 0x80,
|
|
||||||
0xC2, 0xD7, 0xE1, 0x19, 0xBC, 0xAE, 0x9F, 0x67, 0xAF, 0x71, 0xA6, 0x7A, 0xBA, 0x5D, 0x61, 0x8E,
|
|
||||||
0xA9, 0x9F, 0x83, 0x9C, 0xCC, 0x20, 0xDD, 0x48, 0x20, 0x5C, 0x7F, 0xB6, 0x85, 0x43, 0x30, 0xFF,
|
|
||||||
0xAE, 0xC3, 0x70, 0x20, 0x66, 0x7B, 0xD2, 0xF2, 0x5C, 0x70, 0x27, 0xBF, 0xBB, 0x5B, 0xE1, 0xCD,
|
|
||||||
0x29, 0xD7, 0x32, 0xC6, 0xE6, 0x99, 0x76, 0x9B, 0x2C, 0x35, 0xBC, 0xBB, 0x13, 0xC6, 0x5A, 0x24,
|
|
||||||
0x70, 0x68, 0xAC, 0x44, 0x62, 0xE2, 0x2D, 0x84, 0x3C, 0x85, 0xC5, 0x38, 0x46, 0xF3, 0xB5, 0x71,
|
|
||||||
0x9A, 0xAC, 0x32, 0x96, 0x6A, 0x4B, 0xCC, 0x6F, 0x8F, 0x7E, 0x81, 0x14, 0xBA, 0xA1, 0xAE, 0x0C,
|
|
||||||
0x72, 0x6D, 0x18, 0x03, 0x96, 0x03, 0x14, 0x41, 0xF3, 0xA3, 0x48, 0x9B, 0x42, 0xBA, 0xB5, 0x04,
|
|
||||||
0xE9, 0xD3, 0x56, 0x49, 0xFA, 0x1D, 0x2F, 0x0C, 0x0D, 0xF6, 0xD0, 0xA5, 0x9B, 0xC2, 0xA0, 0x98,
|
|
||||||
0x64, 0x72, 0x05, 0x7F, 0x36, 0xAD, 0x6C, 0x29, 0x9E, 0x15, 0x83, 0xB1, 0xF3, 0xE8, 0x60, 0x6D,
|
|
||||||
0x57, 0xD7, 0x44, 0xA9, 0xBE, 0xAE, 0x8E, 0xB6, 0x34, 0x56, 0xE5, 0xC5, 0xFC, 0x7D, 0x01, 0xAB,
|
|
||||||
0x31, 0x78, 0x0C, 0xB4, 0x8C, 0x4C, 0x8C, 0x7B, 0x16, 0x01, 0x2B, 0xB7, 0x05, 0xF3, 0x28, 0x57,
|
|
||||||
0xE6, 0xD6, 0x88, 0xDE, 0x18, 0x82, 0xFC, 0x15, 0x56, 0xFA, 0x7E, 0x2D, 0xA8, 0x67, 0x3B, 0x82,
|
|
||||||
0xFA, 0x1D, 0x07, 0xDD, 0x22, 0x72, 0x5C, 0x3F, 0x99, 0x1F, 0xD5, 0xD7, 0xBE, 0xAB, 0x9F, 0x90,
|
|
||||||
0x14, 0xC6, 0xC0, 0x1D, 0x18, 0x67, 0xC8, 0x7A, 0x3A, 0x5E, 0x75, 0x37, 0x94, 0x54, 0x90, 0x4E,
|
|
||||||
0x48, 0x30, 0x00, 0x5F, 0x1B, 0xA8, 0x44, 0xE3, 0xBC, 0xB1, 0x86, 0x15, 0xC2, 0xF2, 0xE1, 0xB6,
|
|
||||||
0x38, 0x46, 0xAD, 0x66, 0xA8, 0x11, 0x94, 0x12, 0x58, 0x55, 0xC4, 0xE3, 0xEE, 0x51, 0x9E, 0xBA,
|
|
||||||
0x5E, 0x34, 0x8D, 0xB6, 0xAB, 0xD2, 0x73, 0xB4, 0xFC, 0x85, 0x56, 0xD6, 0xF5, 0x15, 0xFE, 0x1D,
|
|
||||||
0xD5, 0xBA, 0x70, 0x0F, 0xD4, 0x06, 0x54, 0xEB, 0x86, 0x7E, 0xB8, 0x82, 0xD0, 0xFC, 0xAB, 0xEE,
|
|
||||||
0xA7, 0xC1, 0x32, 0x8C, 0x13, 0xFD, 0x9B, 0x31, 0xF8, 0x5D, 0x88, 0x2A, 0x28, 0x8C, 0xE6, 0x38,
|
|
||||||
0x8C, 0xFD, 0xF4, 0xF6, 0x13, 0x5D, 0xED, 0xF1, 0xD3, 0xD4, 0xBF, 0x1D, 0x2F, 0x31, 0xA5, 0xD7,
|
|
||||||
0xCD, 0x72, 0x65, 0x60, 0x2E, 0x40, 0x0C, 0x46, 0x6A, 0x56, 0xA0, 0xCA, 0x8F, 0xFE, 0xE5, 0x5C,
|
|
||||||
0xB8, 0xC6, 0xF5, 0x3B, 0x31, 0xF6, 0x7D, 0x05, 0x09, 0x31, 0xA8, 0x82, 0x65, 0xEB, 0x3D, 0x9A,
|
|
||||||
0x0A, 0xEA, 0xFF, 0x23, 0xDC, 0x32, 0x58, 0xFA, 0xF9, 0x33, 0x63, 0x1C, 0x5D, 0x1E, 0x6C, 0x6B,
|
|
||||||
0x5D, 0xD9, 0x19, 0xD3, 0x63, 0x9E, 0x51, 0x9D, 0x8B, 0xEE, 0xDC, 0xEC, 0xA5, 0x18, 0xEB, 0x3D,
|
|
||||||
0x95, 0x21, 0xF9, 0xAD, 0x1D, 0x75, 0x50, 0x2E, 0x73, 0x43, 0xCA, 0x82, 0x40, 0xB0, 0x7D, 0x30,
|
|
||||||
0x60, 0x30, 0x73, 0x3C, 0x61, 0xC9, 0x54, 0x7B, 0x81, 0xEC, 0xFA, 0x85, 0xD8, 0xA5, 0x86, 0xBB,
|
|
||||||
0xB8, 0x2B, 0x9F, 0xC3, 0x98, 0xF7, 0xA8, 0x5F, 0x8E, 0x03, 0xE3, 0x09, 0x62, 0x1B, 0x1E, 0xE5,
|
|
||||||
0xE1, 0xEF, 0x30, 0x14, 0x92, 0x2A, 0xE2, 0xE2, 0xE6, 0x34, 0x4D, 0xE6, 0x2F, 0x67, 0x7E, 0xFA,
|
|
||||||
0x12, 0xEC, 0x7B, 0x3D, 0xFE, 0x1A, 0x7E, 0x33, 0x4C, 0x07, 0xF2, 0x5F, 0x7C, 0x3B, 0x38, 0x70,
|
|
||||||
0x3C, 0xF1, 0xF6, 0xF3, 0x67, 0x7D, 0xBB, 0xB2, 0xD1, 0x4D, 0xA0, 0xC6, 0x88, 0x43, 0x92, 0x34,
|
|
||||||
0xCA, 0x6F, 0x05, 0x19, 0xC3, 0xBC, 0x95, 0x4C, 0xC1, 0x9D, 0x38, 0xD7, 0xA9, 0x63, 0xCE, 0x46,
|
|
||||||
0xF4, 0xE4, 0x57, 0x3A, 0x06, 0x00, 0xE9, 0x1E, 0x8D, 0x12, 0x49, 0x17, 0x38, 0x80, 0xFC, 0x90,
|
|
||||||
0xEB, 0xF4, 0x95, 0x3E, 0x1A, 0x25, 0x5F, 0x6D, 0xA0, 0xA0, 0x9E, 0xDF, 0x83, 0x4A, 0xBE, 0x3A,
|
|
||||||
0xDF, 0xAA, 0x3B, 0x74, 0xFA, 0x4A, 0xC3, 0xE8, 0x97, 0xBA, 0x0D, 0xB0, 0x80, 0xE2, 0x3F, 0x15,
|
|
||||||
0xA5, 0x8C, 0x95, 0x7D, 0xCF, 0x68, 0xEC, 0xC1, 0x41, 0x11, 0xFB, 0x6D, 0xB8, 0x06, 0x19, 0xBF,
|
|
||||||
0x6A, 0xC8, 0x0B, 0xCD, 0x8F, 0x13, 0x30, 0x96, 0xA9, 0x96, 0x57, 0x76, 0x4C, 0x04, 0x4B, 0x09,
|
|
||||||
0x2E, 0x4E, 0x56, 0x9A, 0x1A, 0xEE, 0xA2, 0xDD, 0x3D, 0xF9, 0xF8, 0xF1, 0xFD, 0xC7, 0x92, 0xDC,
|
|
||||||
0xCD, 0xBB, 0x58, 0xC9, 0x57, 0xF7, 0xDB, 0xFA, 0x6D, 0xAC, 0x8D, 0xC5, 0x20, 0x50, 0x43, 0xD7,
|
|
||||||
0xB0, 0x13, 0xD4, 0x06, 0xBB, 0x0D, 0xB3, 0x92, 0x89, 0xAD, 0x25, 0x62, 0xFE, 0x18, 0xCF, 0xE0,
|
|
||||||
0xB0, 0xFE, 0xA1, 0x98, 0x8C, 0xCA, 0x80, 0x3B, 0x2C, 0x62, 0x54, 0x66, 0x05, 0x37, 0x10, 0x31,
|
|
||||||
0x18, 0x25, 0x2F, 0x80, 0x6A, 0x53, 0x0A, 0x81, 0xEB, 0x10, 0xEA, 0x55, 0xC0, 0x1A, 0x60, 0xEF,
|
|
||||||
0x35, 0xB5, 0x51, 0x2E, 0xC4, 0xD8, 0xB8, 0x52, 0x66, 0x0C, 0xB6, 0x21, 0x84, 0xE0, 0xD9, 0x04,
|
|
||||||
0xDB, 0x5F, 0x26, 0xCD, 0xFF, 0xBA, 0xBC, 0x77, 0xA7, 0x7B, 0x34, 0x06, 0x45, 0x9D, 0x2E, 0x65,
|
|
||||||
0x38, 0x9D, 0xEA, 0x46, 0xD4, 0x5B, 0xB2, 0xE8, 0x3A, 0x36, 0x8A, 0xBA, 0x6B, 0xD7, 0x7F, 0xB5,
|
|
||||||
0xE7, 0x80, 0xB0, 0x5A, 0x46, 0x5A, 0x3D, 0xB2, 0x88, 0x84, 0xD7, 0x73, 0x1F, 0xB1, 0x3A, 0x05,
|
|
||||||
0xDD, 0x43, 0xB0, 0x78, 0xAF, 0x76, 0x9F, 0xEF, 0xAE, 0x80, 0x55, 0xC2, 0x90, 0x1D, 0x09, 0xCD,
|
|
||||||
0x87, 0xF2, 0xF6, 0xED, 0xE3, 0xD2, 0xAC, 0x27, 0x66, 0x76, 0xE2, 0xDE, 0xF0, 0xDE, 0xFA, 0x58,
|
|
||||||
0xE9, 0x73, 0xD5, 0x1A, 0x99, 0xF9, 0x60, 0xF9, 0x4B, 0x07, 0x17, 0xF4, 0xB4, 0xB2, 0x97, 0xA8,
|
|
||||||
0x7A, 0x95, 0xE3, 0x8C, 0xFB, 0xCA, 0x2D, 0xC9, 0x27, 0x97, 0xBE, 0x44, 0xF8, 0x0C, 0xEB, 0xFB,
|
|
||||||
0xB7, 0x56, 0xBF, 0x88, 0xBF, 0xD5, 0xFA, 0xD7, 0xC6, 0xFE, 0x3F, 0xAE, 0xF2, 0xF5, 0x50, 0xB1,
|
|
||||||
0x2B, 0xCF, 0xCB, 0xB6, 0xD6, 0xBB, 0xD6, 0xA4, 0x7E, 0xAB, 0xBA, 0x6F, 0xD0, 0x55, 0x5E, 0x04,
|
|
||||||
0x6F, 0x2A, 0x25, 0xD5, 0xFC, 0xCA, 0xF7, 0x23, 0x24, 0xFD, 0x91, 0x3A, 0x56, 0x01, 0xCB, 0xFF,
|
|
||||||
0x80, 0x61, 0x71, 0xB3, 0x4D, 0x05, 0x0B, 0xF3, 0xF2, 0x74, 0xED, 0xDC, 0x84, 0x55, 0xA6, 0x92,
|
|
||||||
0x37, 0x40, 0x1F, 0x57, 0x99, 0xA3, 0xE3, 0x0A, 0x87, 0x8E, 0xCE, 0xF3, 0x7B, 0x9E, 0x7A, 0xAB,
|
|
||||||
0xFA, 0xA9, 0xF6, 0xFE, 0xFC, 0x59, 0xF5, 0x1E, 0xBA, 0xAB, 0x97, 0x57, 0x44, 0x8D, 0xAA, 0xD9,
|
|
||||||
0x9E, 0x60, 0x50, 0x21, 0x0C, 0xF7, 0x90, 0x62, 0x77, 0x9C, 0xCA, 0x53, 0xE1, 0x85, 0xD4, 0x91,
|
|
||||||
0x02, 0x56, 0x85, 0x0C, 0xEF, 0xDC, 0xB4, 0x6C, 0xF0, 0xFD, 0x10, 0x1E, 0xD1, 0x1F, 0xF3, 0x03,
|
|
||||||
0xAF, 0xEA, 0x8A, 0x7C, 0xC4, 0x8D, 0x91, 0x63, 0x6E, 0x93, 0xCB, 0x78, 0x63, 0x63, 0x4B, 0x19,
|
|
||||||
0x68, 0x39, 0x56, 0x6C, 0xB6, 0xEC, 0x23, 0x4C, 0x09, 0x27, 0x60, 0x8D, 0xD2, 0x02, 0x33, 0xC7,
|
|
||||||
0x80, 0x6C, 0xCD, 0x8E, 0x43, 0x2C, 0xE5, 0x60, 0x10, 0x46, 0x94, 0x57, 0x8B, 0x97, 0x5B, 0x9A,
|
|
||||||
0x76, 0xD5, 0x33, 0x4B, 0x6F, 0x80, 0xA9, 0xCA, 0x9D, 0x92, 0xEF, 0xD0, 0x5F, 0x0C, 0xEC, 0x28,
|
|
||||||
0xB1, 0x28, 0xE7, 0x0B, 0x78, 0xE3, 0xFC, 0xE1, 0x61, 0x64, 0x08, 0x87, 0xAA, 0xEB, 0x88, 0x4A,
|
|
||||||
0xDD, 0x90, 0x47, 0x75, 0xC0, 0x4D, 0xD9, 0xB5, 0xD8, 0xE8, 0xC2, 0x1B, 0xB0, 0x84, 0xFE, 0xF9,
|
|
||||||
0xE7, 0xF3, 0x93, 0x8F, 0x6A, 0x95, 0x06, 0x6D, 0x04, 0x20, 0x8F, 0x31, 0x83, 0x69, 0xE8, 0x07,
|
|
||||||
0x1F, 0x5E, 0x9C, 0x9F, 0x7F, 0x79, 0xFF, 0xF1, 0xD5, 0x76, 0x10, 0x8E, 0x20, 0xE7, 0x9F, 0x7F,
|
|
||||||
0x39, 0x3B, 0xFD, 0x34, 0xBA, 0xC5, 0x5A, 0x7D, 0xB8, 0xED, 0x1E, 0x72, 0xF8, 0xF0, 0xF1, 0x4F,
|
|
||||||
0xB8, 0x71, 0xFC, 0xF3, 0x0C, 0xDA, 0x64, 0xD2, 0x47, 0x29, 0x60, 0x58, 0x4D, 0x01, 0x8B, 0x1C,
|
|
||||||
0xAF, 0x12, 0xFD, 0x84, 0x45, 0x1E, 0x38, 0xC8, 0x4B, 0x55, 0xB0, 0x55, 0xA1, 0x9A, 0x03, 0xC6,
|
|
||||||
0x64, 0x51, 0xC3, 0x3C, 0x07, 0x5C, 0x85, 0x71, 0x90, 0xAC, 0xB6, 0x58, 0xA4, 0x7C, 0xFC, 0xFD,
|
|
||||||
0xF0, 0xE8, 0x50, 0xDE, 0xEE, 0x3F, 0x3A, 0x94, 0x7F, 0x54, 0x44, 0xFF, 0xAD, 0xFB, 0xFF, 0x07,
|
|
||||||
0x65, 0xE6, 0x36, 0x6D, 0xF2, 0x5E, 0x00, 0x00
|
|
||||||
};
|
};
|
||||||
#endif //__embedded_h
|
#endif //__embedded_h
|
Loading…
x
Reference in New Issue
Block a user