diff --git a/.vscode/settings.json b/.vscode/settings.json
index 24e61dba..03671897 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -2,7 +2,8 @@
"git.ignoreLimitWarning": true,
"files.associations": {
"*.tcc": "cpp",
- "fstream": "cpp"
+ "fstream": "cpp",
+ "string": "cpp"
},
"cmake.configureOnOpen": false
}
\ No newline at end of file
diff --git a/Features.md b/Features.md
index be5e9ac7..b84b7b30 100644
--- a/Features.md
+++ b/Features.md
@@ -14,7 +14,7 @@
* FTP support (limited to 1 connection at once)
* WebDav support
* Local FS support:
- * Little FS (prefered)
+ * Little FS (recommended)
* Fat (ESP32 only)
* SPIFFS (deprecated)
* SD support
@@ -29,13 +29,15 @@
* Sharing connection using hardware switch
* e.g.: Panucatt Wifi Backpack / Azteeg X5 WiFi
* MKS fast upload by serial
- * NOT SUPPORTED
+ * NOT SUPPORTED ANYMORE
* M28/M29 File transfer protocol
+ * Serial file transfer using custom protocol (planned)
* USB support
* planned
* Global FS under FTP / Webdav : SD + Local FS in same directory
* Buzzer support
* Recovery pin support
+* Pins control by commands
* ESP32 Camera support (only with PSRAM)
* Basic oled screen support
* I2C SSD1306 128x64
@@ -44,7 +46,7 @@
* SPI ST7789 135x240
* SPI ST7789 240x240
* Time synchronization support (manual / internet server)
-* Lua interpreter support
+* Lua interpreter support (Work in progress)
* Notifications support
* WebUI
* TFT/OLED
@@ -58,11 +60,13 @@
* Analog
* BMX280
* Auto script support at start
-* Basic Host GCODE stream for macros hosted on local FS
+* Basic Host GCODE stream for macros hosted on local FS (Work in Progress to improve it)
* Update
* ESP3D configuration using ini file on SD
* ESP3D update using binary file on SD
-
- *
+ * OTA support
+ * Update by WebUI
+
+
diff --git a/README.md b/README.md
index d2f1596f..c4aae61f 100644
--- a/README.md
+++ b/README.md
@@ -21,6 +21,7 @@ I did a project board to put all majors tasks/issues in one places : [ESP3D Proj
- [Finish web UI Major features (3D printing and GRBL)](https://github.com/luc-github/ESP3D-WEBUI/issues/94#issuecomment-660600551)
- Do user documentation: Readme / features list description / wiki/ Features videos etc...
+- Complete all planned features
- Test current features heavily
- Collect some feedback
diff --git a/embedded/assets/favicon.ico b/embedded/assets/favicon.ico
new file mode 100644
index 00000000..6794fd9f
Binary files /dev/null and b/embedded/assets/favicon.ico differ
diff --git a/embedded/assets/footer.txt b/embedded/assets/footer.txt
new file mode 100644
index 00000000..5548a77d
--- /dev/null
+++ b/embedded/assets/footer.txt
@@ -0,0 +1 @@
+#endif //__favicon_h
\ No newline at end of file
diff --git a/embedded/assets/header.txt b/embedded/assets/header.txt
new file mode 100644
index 00000000..fde9da06
--- /dev/null
+++ b/embedded/assets/header.txt
@@ -0,0 +1,22 @@
+/*
+ favicon.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
+*/
+
+#ifndef __favicon_h
+#define __favicon_h
diff --git a/embedded/config/buildassets.js b/embedded/config/buildassets.js
new file mode 100644
index 00000000..ba223a95
--- /dev/null
+++ b/embedded/config/buildassets.js
@@ -0,0 +1,95 @@
+let path = require("path");
+const fs = require("fs");
+const { createReadStream, createWriteStream } = require("fs");
+const { createGzip } = require("zlib");
+const chalk = require("chalk");
+
+let distPath = path.normalize(__dirname + "/../dist/");
+let srcPath = path.normalize(__dirname + "/../assets/");
+let headerPath = path.normalize(
+ __dirname + "/../../esp3d/src/modules/http/favicon.h"
+);
+
+
+
+const convertToC = (filepath) => {
+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 + "favicon.h")) fs.rmSync(distPath + "favicon.h");
+
+const data = new Uint8Array(
+ fs.readFileSync(filepath, { flag: "r" })
+);
+console.log("data size is ", data.length);
+let out = "#define favicon_size " + data.length + "\n";
+out += "const unsigned char favicon[" + data.length + "] PROGMEM = {\n ";
+let nb = 0;
+data.forEach((byte, index) => {
+ out += " 0x" + (byte.toString(16).length == 1 ? "0" : "") + byte.toString(16);
+ if (index < data.length - 1) out += ",";
+ if (nb == 15) {
+ out += "\n ";
+ nb = 0;
+ } else {
+ nb++;
+ }
+});
+
+out += "\n};\n";
+fs.writeFileSync(distPath + "out.tmp", out);
+
+//Check conversion
+if (fs.existsSync(distPath + "out.tmp")) {
+ console.log(chalk.green("[ok]"));
+} else {
+ console.log(chalk.red("[error]Conversion failed"));
+ return;
+}
+
+//Format header file
+console.log(chalk.yellow("Building header"));
+fs.writeFileSync(
+ distPath + "favicon.h",
+ fs.readFileSync(srcPath + "header.txt")
+);
+let bin2cfile = fs.readFileSync(distPath + "out.tmp").toString();
+fs.appendFileSync(distPath + "favicon.h", bin2cfile);
+fs.appendFileSync(
+ distPath + "favicon.h",
+ fs.readFileSync(srcPath + "footer.txt")
+);
+
+//Check format result
+if (fs.existsSync(distPath + "favicon.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 + "favicon.h"));
+if (fs.existsSync(headerPath)) {
+ console.log(chalk.green("[ok]"));
+} else {
+ console.log(chalk.red("[error]Overwriting failed"));
+ return;
+}
+
+}
+
+
+// Create a gzip function for reusable purpose
+const compressFile = (filePath, targetPath) => {
+ const stream = createReadStream(filePath);
+ stream
+ .pipe(createGzip(targetPath))
+ .pipe(createWriteStream(targetPath))
+ .on("finish", () =>{console.log(`Successfully compressed at ${targetPath}`);
+ convertToC (targetPath)}
+ );
+};
+
+compressFile(srcPath + "favicon.ico", distPath + "favicon.ico.gz");
\ No newline at end of file
diff --git a/embedded/config/pack_favicon.js b/embedded/config/pack_favicon.js
new file mode 100644
index 00000000..ac56755e
--- /dev/null
+++ b/embedded/config/pack_favicon.js
@@ -0,0 +1,15 @@
+const path = require("path");
+const { createReadStream, createWriteStream } = require("fs");
+const { createGzip } = require("zlib");
+const faviconPath = path.normalize(__dirname + "/../assets/favicon.ico");
+
+// Create a gzip function for reusable purpose
+const compressFile = (filePath) => {
+ const stream = createReadStream(filePath);
+ stream
+ .pipe(createGzip())
+ .pipe(createWriteStream(`${filePath}.gz`))
+ .on("finish", () =>console.log(`Successfully compressed the file at ${filePath}`)
+ );
+};
+compressFile(faviconPath);
\ No newline at end of file
diff --git a/embedded/config/server.js b/embedded/config/server.js
index bc1797c5..5e410f25 100644
--- a/embedded/config/server.js
+++ b/embedded/config/server.js
@@ -15,9 +15,12 @@ let currentID = 0;
const app = express();
const fileUpload = require("express-fileupload");
let serverpath = path.normalize(__dirname + "/../server/public/");
+let sdpath = path.normalize(__dirname + "/../server/sd/");
let WebSocketServer = require("ws").Server,
- wss = new WebSocketServer({ port: 81 });
+ wss = new WebSocketServer({ port: 81,handleProtocols:function(protocol) {console.log( "protocol received from client " + protocol );
+ return "webui-v3";
+ return null;}});
app.use(fileUpload({ preserveExtension: true, debug: false }));
app.listen(port, () =>
console.log(expresscolor(`[express] Listening on port ${port}!`))
@@ -85,22 +88,30 @@ app.get("/command", function (req, res) {
console.log(commandcolor(`[server]/command params: ${req.query.cmd}`));
let url = req.query.cmd;
if (url.startsWith("[ESP800]json")) {
- 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",
- });
+ res.json(
+ {
+ cmd: "800",
+ status: "ok",
+ data:{
+ FWVersion: "3.0.0.a28",
+ FWTarget: 40,
+ SDConnection: "none",
+ Authentication: "Disabled",
+ WebCommunication: "Synchronous",
+ WebSocketIP: "localhost",
+ WebSocketPort: "81",
+ WebSocketSubProtocol: "webui-v3",
+ Hostname: "esp3d",
+ WiFiMode: "STA",
+ WebUpdate: "Enabled",
+ FlashFileSystem: "LittleFs",
+ HostPath: "/",
+ Time: "none",
+ Cam_ID: "4",
+ Cam_name: "ESP32 Cam",
+ }
+ }
+ );
return;
}
if (url.indexOf("ESP111") != -1) {
@@ -465,12 +476,12 @@ function fileSizeString(size) {
return "X B";
}
-function filesList(mypath) {
+function filesList(mypath,mainpath) {
let res = '{"files":[';
let nb = 0;
- let total = 1.31 * 1024 * 1024;
- let totalused = getTotalSize(serverpath);
- let currentpath = path.normalize(serverpath + mypath);
+ let total = sdpath==mainpath? (4096 * 1024 * 1024):(1.2 * 1024 * 1024);
+ let totalused = getTotalSize(mainpath);
+ let currentpath = path.normalize(mainpath + mypath);
console.log("[path]" + currentpath);
fs.readdirSync(currentpath).forEach((fileelement) => {
let fullpath = path.normalize(currentpath + "/" + fileelement);
@@ -548,6 +559,55 @@ app.all("/updatefw", function (req, res) {
res.send("ok");
});
+app.all("/sdfiles", function (req, res) {
+ let mypath = req.query.path;
+ let url = req.originalUrl;
+ let filepath = path.normalize(sdpath + 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,sdpath));
+ }
+ let myFile = req.files.myfiles;
+ if (typeof myFile.length == "undefined") {
+ let fullpath = path.normalize(sdpath + 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,sdpath));
+ });
+ return;
+ } else {
+ console.log(myFile.length + " files");
+ for (let i = 0; i < myFile.length; i++) {
+ let fullpath = path.normalize(sdpath + mypath + myFile[i].name);
+ console.log(fullpath);
+ myFile[i].mv(fullpath).then(() => {
+ if (i == myFile.length - 1) res.send(filesList(mypath,sdpath));
+ });
+ }
+ }
+});
+
app.all("/files", function (req, res) {
let mypath = req.query.path;
let url = req.originalUrl;
@@ -574,7 +634,7 @@ app.all("/files", function (req, res) {
}
console.log("[server]path is " + mypath);
if (!req.files || Object.keys(req.files).length === 0) {
- return res.send(filesList(mypath));
+ return res.send(filesList(mypath,serverpath));
}
let myFile = req.files.myfiles;
if (typeof myFile.length == "undefined") {
@@ -582,7 +642,7 @@ app.all("/files", function (req, res) {
console.log("[server]one file:" + fullpath);
myFile.mv(fullpath, function (err) {
if (err) return res.status(500).send(err);
- res.send(filesList(mypath));
+ res.send(filesList(mypath, serverpath));
});
return;
} else {
@@ -591,7 +651,7 @@ app.all("/files", function (req, res) {
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));
+ if (i == myFile.length - 1) res.send(filesList(mypath, serverpath));
});
}
}
diff --git a/embedded/package-lock.json b/embedded/package-lock.json
index db03a77d..d447676b 100644
--- a/embedded/package-lock.json
+++ b/embedded/package-lock.json
@@ -1653,6 +1653,64 @@
"node": ">=10.0.0"
}
},
+ "node_modules/@jridgewell/gen-mapping": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
+ "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==",
+ "dev": true,
+ "dependencies": {
+ "@jridgewell/set-array": "^1.0.1",
+ "@jridgewell/sourcemap-codec": "^1.4.10",
+ "@jridgewell/trace-mapping": "^0.3.9"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/resolve-uri": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz",
+ "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/set-array": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
+ "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/source-map": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz",
+ "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==",
+ "dev": true,
+ "dependencies": {
+ "@jridgewell/gen-mapping": "^0.3.0",
+ "@jridgewell/trace-mapping": "^0.3.9"
+ }
+ },
+ "node_modules/@jridgewell/sourcemap-codec": {
+ "version": "1.4.14",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
+ "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==",
+ "dev": true
+ },
+ "node_modules/@jridgewell/trace-mapping": {
+ "version": "0.3.14",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz",
+ "integrity": "sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==",
+ "dev": true,
+ "dependencies": {
+ "@jridgewell/resolve-uri": "^3.0.3",
+ "@jridgewell/sourcemap-codec": "^1.4.10"
+ }
+ },
"node_modules/@nodelib/fs.scandir": {
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
@@ -1688,27 +1746,6 @@
"node": ">= 8"
}
},
- "node_modules/@sindresorhus/is": {
- "version": "0.14.0",
- "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz",
- "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/@szmarczak/http-timer": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz",
- "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==",
- "dev": true,
- "dependencies": {
- "defer-to-connect": "^1.0.1"
- },
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/@types/anymatch": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/@types/anymatch/-/anymatch-1.3.1.tgz",
@@ -2272,44 +2309,6 @@
"ajv": "^6.9.1"
}
},
- "node_modules/ansi-align": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz",
- "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==",
- "dev": true,
- "dependencies": {
- "string-width": "^4.1.0"
- }
- },
- "node_modules/ansi-align/node_modules/emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "dev": true
- },
- "node_modules/ansi-align/node_modules/is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/ansi-align/node_modules/string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dev": true,
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/ansi-html-community": {
"version": "0.0.8",
"resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz",
@@ -2384,9 +2383,9 @@
}
},
"node_modules/async": {
- "version": "2.6.3",
- "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz",
- "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
+ "version": "2.6.4",
+ "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz",
+ "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==",
"dev": true,
"dependencies": {
"lodash": "^4.17.14"
@@ -2601,107 +2600,6 @@
"integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=",
"dev": true
},
- "node_modules/boxen": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz",
- "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==",
- "dev": true,
- "dependencies": {
- "ansi-align": "^3.0.0",
- "camelcase": "^6.2.0",
- "chalk": "^4.1.0",
- "cli-boxes": "^2.2.1",
- "string-width": "^4.2.2",
- "type-fest": "^0.20.2",
- "widest-line": "^3.1.0",
- "wrap-ansi": "^7.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/boxen/node_modules/ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/boxen/node_modules/color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/boxen/node_modules/color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
- "node_modules/boxen/node_modules/emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "dev": true
- },
- "node_modules/boxen/node_modules/is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/boxen/node_modules/string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dev": true,
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/boxen/node_modules/wrap-ansi": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
- "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
- }
- },
"node_modules/brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
@@ -2760,15 +2658,15 @@
"dev": true
},
"node_modules/busboy": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/busboy/-/busboy-0.3.1.tgz",
- "integrity": "sha512-y7tTxhGKXcyBxRKAni+awqx8uqaJKrSFSNFSeRG5CsWNdmy2BIK+6VGWEW7TZnIO/533mtMEA4rOevQV815YJw==",
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz",
+ "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==",
"dev": true,
"dependencies": {
- "dicer": "0.3.0"
+ "streamsearch": "^1.1.0"
},
"engines": {
- "node": ">=4.5.0"
+ "node": ">=10.16.0"
}
},
"node_modules/bytes": {
@@ -2780,48 +2678,6 @@
"node": ">= 0.8"
}
},
- "node_modules/cacheable-request": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz",
- "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==",
- "dev": true,
- "dependencies": {
- "clone-response": "^1.0.2",
- "get-stream": "^5.1.0",
- "http-cache-semantics": "^4.0.0",
- "keyv": "^3.0.0",
- "lowercase-keys": "^2.0.0",
- "normalize-url": "^4.1.0",
- "responselike": "^1.0.2"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/cacheable-request/node_modules/get-stream": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
- "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
- "dev": true,
- "dependencies": {
- "pump": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/cacheable-request/node_modules/lowercase-keys": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
- "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/call-bind": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
@@ -2845,18 +2701,6 @@
"tslib": "^2.0.3"
}
},
- "node_modules/camelcase": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
- "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/caniuse-lite": {
"version": "1.0.30001296",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001296.tgz",
@@ -2946,12 +2790,6 @@
"node": ">=6.0"
}
},
- "node_modules/ci-info": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz",
- "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==",
- "dev": true
- },
"node_modules/clean-css": {
"version": "4.2.3",
"resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz",
@@ -2989,18 +2827,6 @@
"webpack": "*"
}
},
- "node_modules/cli-boxes": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz",
- "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==",
- "dev": true,
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/clone-deep": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz",
@@ -3015,15 +2841,6 @@
"node": ">=6"
}
},
- "node_modules/clone-response": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz",
- "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=",
- "dev": true,
- "dependencies": {
- "mimic-response": "^1.0.0"
- }
- },
"node_modules/color-convert": {
"version": "1.9.3",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
@@ -3309,23 +3126,6 @@
"node": ">=10"
}
},
- "node_modules/configstore": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz",
- "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==",
- "dev": true,
- "dependencies": {
- "dot-prop": "^5.2.0",
- "graceful-fs": "^4.1.2",
- "make-dir": "^3.0.0",
- "unique-string": "^2.0.0",
- "write-file-atomic": "^3.0.0",
- "xdg-basedir": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/connect-history-api-fallback": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz",
@@ -3440,15 +3240,6 @@
"node": ">= 8"
}
},
- "node_modules/crypto-random-string": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz",
- "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/css-loader": {
"version": "5.2.7",
"resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.2.7.tgz",
@@ -3562,18 +3353,6 @@
}
}
},
- "node_modules/decompress-response": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz",
- "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=",
- "dev": true,
- "dependencies": {
- "mimic-response": "^1.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
"node_modules/deep-equal": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz",
@@ -3591,15 +3370,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/deep-extend": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
- "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
- "dev": true,
- "engines": {
- "node": ">=4.0.0"
- }
- },
"node_modules/default-gateway": {
"version": "6.0.3",
"resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz",
@@ -3612,12 +3382,6 @@
"node": ">= 10"
}
},
- "node_modules/defer-to-connect": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz",
- "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==",
- "dev": true
- },
"node_modules/define-lazy-prop": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz",
@@ -3678,18 +3442,6 @@
"integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==",
"dev": true
},
- "node_modules/dicer": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/dicer/-/dicer-0.3.0.tgz",
- "integrity": "sha512-MdceRRWqltEG2dZqO769g27N/3PXfcKl04VhYnBlo2YhH7zPi88VebsjTKclaOyiuMaGU72hTfw3VkUitGcVCA==",
- "dev": true,
- "dependencies": {
- "streamsearch": "0.1.2"
- },
- "engines": {
- "node": ">=4.5.0"
- }
- },
"node_modules/dir-glob": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
@@ -3801,24 +3553,6 @@
"tslib": "^2.0.3"
}
},
- "node_modules/dot-prop": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz",
- "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==",
- "dev": true,
- "dependencies": {
- "is-obj": "^2.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/duplexer3": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz",
- "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=",
- "dev": true
- },
"node_modules/ee-first": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
@@ -3849,15 +3583,6 @@
"node": ">= 0.8"
}
},
- "node_modules/end-of-stream": {
- "version": "1.4.4",
- "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
- "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
- "dev": true,
- "dependencies": {
- "once": "^1.4.0"
- }
- },
"node_modules/enhanced-resolve": {
"version": "5.8.3",
"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.3.tgz",
@@ -3907,15 +3632,6 @@
"node": ">=6"
}
},
- "node_modules/escape-goat": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz",
- "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/escape-html": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
@@ -4090,15 +3806,15 @@
}
},
"node_modules/express-fileupload": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/express-fileupload/-/express-fileupload-1.2.1.tgz",
- "integrity": "sha512-fWPNAkBj+Azt9Itmcz/Reqdg3LeBfaXptDEev2JM8bCC0yDptglCnlizhf0YZauyU5X/g6v7v4Xxqhg8tmEfEA==",
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/express-fileupload/-/express-fileupload-1.4.0.tgz",
+ "integrity": "sha512-RjzLCHxkv3umDeZKeFeMg8w7qe0V09w3B7oGZprr/oO2H/ISCgNzuqzn7gV3HRWb37GjRk429CCpSLS2KNTqMQ==",
"dev": true,
"dependencies": {
- "busboy": "^0.3.1"
+ "busboy": "^1.6.0"
},
"engines": {
- "node": ">=8.0.0"
+ "node": ">=12.0.0"
}
},
"node_modules/express-ws": {
@@ -4372,18 +4088,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/get-stream": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
- "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
- "dev": true,
- "dependencies": {
- "pump": "^3.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/glob": {
"version": "7.1.6",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
@@ -4422,21 +4126,6 @@
"integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==",
"dev": true
},
- "node_modules/global-dirs": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.0.tgz",
- "integrity": "sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA==",
- "dev": true,
- "dependencies": {
- "ini": "2.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/globals": {
"version": "11.12.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
@@ -4471,28 +4160,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/got": {
- "version": "9.6.0",
- "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz",
- "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==",
- "dev": true,
- "dependencies": {
- "@sindresorhus/is": "^0.14.0",
- "@szmarczak/http-timer": "^1.1.2",
- "cacheable-request": "^6.0.0",
- "decompress-response": "^3.3.0",
- "duplexer3": "^0.1.4",
- "get-stream": "^4.1.0",
- "lowercase-keys": "^1.0.1",
- "mimic-response": "^1.0.1",
- "p-cancelable": "^1.0.0",
- "to-readable-stream": "^1.0.0",
- "url-parse-lax": "^3.0.0"
- },
- "engines": {
- "node": ">=8.6"
- }
- },
"node_modules/graceful-fs": {
"version": "4.2.9",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz",
@@ -4553,15 +4220,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/has-yarn": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz",
- "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/he": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
@@ -4760,13 +4418,14 @@
}
},
"node_modules/html-webpack-plugin/node_modules/terser": {
- "version": "5.10.0",
- "resolved": "https://registry.npmjs.org/terser/-/terser-5.10.0.tgz",
- "integrity": "sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA==",
+ "version": "5.14.2",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-5.14.2.tgz",
+ "integrity": "sha512-oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA==",
"dev": true,
"dependencies": {
+ "@jridgewell/source-map": "^0.3.2",
+ "acorn": "^8.5.0",
"commander": "^2.20.0",
- "source-map": "~0.7.2",
"source-map-support": "~0.5.20"
},
"bin": {
@@ -4774,14 +4433,6 @@
},
"engines": {
"node": ">=10"
- },
- "peerDependencies": {
- "acorn": "^8.5.0"
- },
- "peerDependenciesMeta": {
- "acorn": {
- "optional": true
- }
}
},
"node_modules/html-webpack-plugin/node_modules/terser/node_modules/commander": {
@@ -4790,15 +4441,6 @@
"integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
"dev": true
},
- "node_modules/html-webpack-plugin/node_modules/terser/node_modules/source-map": {
- "version": "0.7.3",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
- "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
- "dev": true,
- "engines": {
- "node": ">= 8"
- }
- },
"node_modules/htmlparser2": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz",
@@ -4818,12 +4460,6 @@
"entities": "^2.0.0"
}
},
- "node_modules/http-cache-semantics": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz",
- "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==",
- "dev": true
- },
"node_modules/http-deceiver": {
"version": "1.2.7",
"resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz",
@@ -4938,15 +4574,6 @@
"integrity": "sha1-SMptcvbGo68Aqa1K5odr44ieKwk=",
"dev": true
},
- "node_modules/import-lazy": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz",
- "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
"node_modules/import-local": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz",
@@ -4966,15 +4593,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/imurmurhash": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
- "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
- "dev": true,
- "engines": {
- "node": ">=0.8.19"
- }
- },
"node_modules/indent-string": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
@@ -5000,15 +4618,6 @@
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
"dev": true
},
- "node_modules/ini": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz",
- "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==",
- "dev": true,
- "engines": {
- "node": ">=10"
- }
- },
"node_modules/interpret": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz",
@@ -5061,18 +4670,6 @@
"node": ">=8"
}
},
- "node_modules/is-ci": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz",
- "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==",
- "dev": true,
- "dependencies": {
- "ci-info": "^2.0.0"
- },
- "bin": {
- "is-ci": "bin.js"
- }
- },
"node_modules/is-core-module": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz",
@@ -5136,43 +4733,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/is-installed-globally": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz",
- "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==",
- "dev": true,
- "dependencies": {
- "global-dirs": "^3.0.0",
- "is-path-inside": "^3.0.2"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/is-installed-globally/node_modules/is-path-inside": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
- "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/is-npm": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-5.0.0.tgz",
- "integrity": "sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/is-number": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
@@ -5182,15 +4742,6 @@
"node": ">=0.12.0"
}
},
- "node_modules/is-obj": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz",
- "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/is-path-cwd": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz",
@@ -5276,12 +4827,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/is-typedarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
- "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
- "dev": true
- },
"node_modules/is-wsl": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
@@ -5294,12 +4839,6 @@
"node": ">=8"
}
},
- "node_modules/is-yarn-global": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz",
- "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==",
- "dev": true
- },
"node_modules/isarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
@@ -5353,12 +4892,6 @@
"node": ">=4"
}
},
- "node_modules/json-buffer": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz",
- "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=",
- "dev": true
- },
"node_modules/json-parse-better-errors": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
@@ -5386,15 +4919,6 @@
"node": ">=6"
}
},
- "node_modules/keyv": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz",
- "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==",
- "dev": true,
- "dependencies": {
- "json-buffer": "3.0.0"
- }
- },
"node_modules/kind-of": {
"version": "6.0.3",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
@@ -5404,18 +4928,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/latest-version": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz",
- "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==",
- "dev": true,
- "dependencies": {
- "package-json": "^6.3.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/loader-runner": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz",
@@ -5472,15 +4984,6 @@
"tslib": "^2.0.3"
}
},
- "node_modules/lowercase-keys": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz",
- "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/lru-cache": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
@@ -5614,15 +5117,6 @@
"node": ">=6"
}
},
- "node_modules/mimic-response": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz",
- "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
"node_modules/mini-css-extract-plugin": {
"version": "1.6.2",
"resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.6.2.tgz",
@@ -5663,9 +5157,9 @@
}
},
"node_modules/minimist": {
- "version": "1.2.5",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
- "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
+ "version": "1.2.6",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
+ "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==",
"dev": true
},
"node_modules/mkdirp": {
@@ -5743,9 +5237,9 @@
}
},
"node_modules/node-forge": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.2.1.tgz",
- "integrity": "sha512-Fcvtbb+zBcZXbTTVwqGA5W+MKBj56UjVRevvchv5XrcyXbmNdesfZL37nlcWOfpgHhgmxApw3tQbTr4CqNmX4w==",
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz",
+ "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==",
"dev": true,
"engines": {
"node": ">= 6.13.0"
@@ -5758,9 +5252,9 @@
"dev": true
},
"node_modules/nodemon": {
- "version": "2.0.15",
- "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.15.tgz",
- "integrity": "sha512-gdHMNx47Gw7b3kWxJV64NI+Q5nfl0y5DgDbiVtShiwa7Z0IZ07Ll4RLFo6AjrhzMtoEZn5PDE3/c2AbVsiCkpA==",
+ "version": "2.0.19",
+ "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.19.tgz",
+ "integrity": "sha512-4pv1f2bMDj0Eeg/MhGqxrtveeQ5/G/UVe9iO6uTZzjnRluSA4PVWf8CW99LUPwGB3eNIA7zUFoP77YuI7hOc0A==",
"dev": true,
"hasInstallScript": true,
"dependencies": {
@@ -5770,10 +5264,10 @@
"minimatch": "^3.0.4",
"pstree.remy": "^1.1.8",
"semver": "^5.7.1",
+ "simple-update-notifier": "^1.0.7",
"supports-color": "^5.5.0",
"touch": "^3.1.0",
- "undefsafe": "^2.0.5",
- "update-notifier": "^5.1.0"
+ "undefsafe": "^2.0.5"
},
"bin": {
"nodemon": "bin/nodemon.js"
@@ -5849,15 +5343,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/normalize-url": {
- "version": "4.5.1",
- "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz",
- "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/npm-run-path": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
@@ -6002,15 +5487,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/p-cancelable": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz",
- "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/p-limit": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
@@ -6084,21 +5560,6 @@
"node": ">=6"
}
},
- "node_modules/package-json": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz",
- "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==",
- "dev": true,
- "dependencies": {
- "got": "^9.6.0",
- "registry-auth-token": "^4.0.0",
- "registry-url": "^5.0.0",
- "semver": "^6.2.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/param-case": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz",
@@ -6361,15 +5822,6 @@
"integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==",
"dev": true
},
- "node_modules/prepend-http": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz",
- "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
"node_modules/pretty-error": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz",
@@ -6405,16 +5857,6 @@
"integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==",
"dev": true
},
- "node_modules/pump": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
- "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
- "dev": true,
- "dependencies": {
- "end-of-stream": "^1.1.0",
- "once": "^1.3.1"
- }
- },
"node_modules/punycode": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
@@ -6424,18 +5866,6 @@
"node": ">=6"
}
},
- "node_modules/pupa": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz",
- "integrity": "sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==",
- "dev": true,
- "dependencies": {
- "escape-goat": "^2.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/qs": {
"version": "6.9.6",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.9.6.tgz",
@@ -6501,27 +5931,6 @@
"node": ">= 0.8"
}
},
- "node_modules/rc": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
- "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
- "dev": true,
- "dependencies": {
- "deep-extend": "^0.6.0",
- "ini": "~1.3.0",
- "minimist": "^1.2.0",
- "strip-json-comments": "~2.0.1"
- },
- "bin": {
- "rc": "cli.js"
- }
- },
- "node_modules/rc/node_modules/ini": {
- "version": "1.3.8",
- "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
- "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
- "dev": true
- },
"node_modules/readable-stream": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
@@ -6626,30 +6035,6 @@
"node": ">=4"
}
},
- "node_modules/registry-auth-token": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.1.tgz",
- "integrity": "sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw==",
- "dev": true,
- "dependencies": {
- "rc": "^1.2.8"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/registry-url": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz",
- "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==",
- "dev": true,
- "dependencies": {
- "rc": "^1.2.8"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/regjsgen": {
"version": "0.5.2",
"resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz",
@@ -6757,15 +6142,6 @@
"node": ">=8"
}
},
- "node_modules/responselike": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz",
- "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=",
- "dev": true,
- "dependencies": {
- "lowercase-keys": "^1.0.0"
- }
- },
"node_modules/retry": {
"version": "0.13.1",
"resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz",
@@ -6909,18 +6285,6 @@
"semver": "bin/semver.js"
}
},
- "node_modules/semver-diff": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz",
- "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==",
- "dev": true,
- "dependencies": {
- "semver": "^6.3.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/send": {
"version": "0.17.2",
"resolved": "https://registry.npmjs.org/send/-/send-0.17.2.tgz",
@@ -7095,6 +6459,27 @@
"integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==",
"dev": true
},
+ "node_modules/simple-update-notifier": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-1.0.7.tgz",
+ "integrity": "sha512-BBKgR84BJQJm6WjWFMHgLVuo61FBDSj1z/xSFUIozqO6wO7ii0JxCqlIud7Enr/+LhlbNI0whErq96P2qHNWew==",
+ "dev": true,
+ "dependencies": {
+ "semver": "~7.0.0"
+ },
+ "engines": {
+ "node": ">=8.10.0"
+ }
+ },
+ "node_modules/simple-update-notifier/node_modules/semver": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz",
+ "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==",
+ "dev": true,
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
"node_modules/slash": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
@@ -7195,12 +6580,12 @@
}
},
"node_modules/streamsearch": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-0.1.2.tgz",
- "integrity": "sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo=",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz",
+ "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==",
"dev": true,
"engines": {
- "node": ">=0.8.0"
+ "node": ">=10.0.0"
}
},
"node_modules/string_decoder": {
@@ -7239,15 +6624,6 @@
"node": ">=6"
}
},
- "node_modules/strip-json-comments": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
- "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/style-loader": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/style-loader/-/style-loader-2.0.0.tgz",
@@ -7290,9 +6666,9 @@
}
},
"node_modules/terser": {
- "version": "4.8.0",
- "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz",
- "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==",
+ "version": "4.8.1",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz",
+ "integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==",
"dev": true,
"dependencies": {
"commander": "^2.20.0",
@@ -7419,13 +6795,14 @@
}
},
"node_modules/terser-webpack-plugin/node_modules/terser": {
- "version": "5.10.0",
- "resolved": "https://registry.npmjs.org/terser/-/terser-5.10.0.tgz",
- "integrity": "sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA==",
+ "version": "5.14.2",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-5.14.2.tgz",
+ "integrity": "sha512-oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA==",
"dev": true,
"dependencies": {
+ "@jridgewell/source-map": "^0.3.2",
+ "acorn": "^8.5.0",
"commander": "^2.20.0",
- "source-map": "~0.7.2",
"source-map-support": "~0.5.20"
},
"bin": {
@@ -7433,23 +6810,6 @@
},
"engines": {
"node": ">=10"
- },
- "peerDependencies": {
- "acorn": "^8.5.0"
- },
- "peerDependenciesMeta": {
- "acorn": {
- "optional": true
- }
- }
- },
- "node_modules/terser-webpack-plugin/node_modules/terser/node_modules/source-map": {
- "version": "0.7.3",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
- "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
- "dev": true,
- "engines": {
- "node": ">= 8"
}
},
"node_modules/terser/node_modules/commander": {
@@ -7473,15 +6833,6 @@
"node": ">=4"
}
},
- "node_modules/to-readable-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz",
- "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/to-regex-range": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
@@ -7530,18 +6881,6 @@
"integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==",
"dev": true
},
- "node_modules/type-fest": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
- "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/type-is": {
"version": "1.6.18",
"resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
@@ -7555,15 +6894,6 @@
"node": ">= 0.6"
}
},
- "node_modules/typedarray-to-buffer": {
- "version": "3.1.5",
- "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
- "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
- "dev": true,
- "dependencies": {
- "is-typedarray": "^1.0.0"
- }
- },
"node_modules/undefsafe": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz",
@@ -7610,18 +6940,6 @@
"node": ">=4"
}
},
- "node_modules/unique-string": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz",
- "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==",
- "dev": true,
- "dependencies": {
- "crypto-random-string": "^2.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/unpipe": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
@@ -7631,49 +6949,6 @@
"node": ">= 0.8"
}
},
- "node_modules/update-notifier": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-5.1.0.tgz",
- "integrity": "sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==",
- "dev": true,
- "dependencies": {
- "boxen": "^5.0.0",
- "chalk": "^4.1.0",
- "configstore": "^5.0.1",
- "has-yarn": "^2.1.0",
- "import-lazy": "^2.1.0",
- "is-ci": "^2.0.0",
- "is-installed-globally": "^0.4.0",
- "is-npm": "^5.0.0",
- "is-yarn-global": "^0.3.0",
- "latest-version": "^5.1.0",
- "pupa": "^2.1.1",
- "semver": "^7.3.4",
- "semver-diff": "^3.1.1",
- "xdg-basedir": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/yeoman/update-notifier?sponsor=1"
- }
- },
- "node_modules/update-notifier/node_modules/semver": {
- "version": "7.3.5",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
- "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
- "dev": true,
- "dependencies": {
- "lru-cache": "^6.0.0"
- },
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
"node_modules/uri-js": {
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
@@ -7683,18 +6958,6 @@
"punycode": "^2.1.0"
}
},
- "node_modules/url-parse-lax": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz",
- "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=",
- "dev": true,
- "dependencies": {
- "prepend-http": "^2.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
"node_modules/util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
@@ -8313,47 +7576,6 @@
"node": ">= 8"
}
},
- "node_modules/widest-line": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz",
- "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==",
- "dev": true,
- "dependencies": {
- "string-width": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/widest-line/node_modules/emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "dev": true
- },
- "node_modules/widest-line/node_modules/is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/widest-line/node_modules/string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dev": true,
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/wildcard": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz",
@@ -8366,18 +7588,6 @@
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
"dev": true
},
- "node_modules/write-file-atomic": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz",
- "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==",
- "dev": true,
- "dependencies": {
- "imurmurhash": "^0.1.4",
- "is-typedarray": "^1.0.0",
- "signal-exit": "^3.0.2",
- "typedarray-to-buffer": "^3.1.5"
- }
- },
"node_modules/ws": {
"version": "8.5.0",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz",
@@ -8399,15 +7609,6 @@
}
}
},
- "node_modules/xdg-basedir": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz",
- "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
@@ -9559,6 +8760,55 @@
"integrity": "sha512-ws57AidsDvREKrZKYffXddNkyaF14iHNHm8VQnZH6t99E8gczjNN0GpvcGny0imC80yQ0tHz1xVUKk/KFQSUyA==",
"dev": true
},
+ "@jridgewell/gen-mapping": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
+ "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==",
+ "dev": true,
+ "requires": {
+ "@jridgewell/set-array": "^1.0.1",
+ "@jridgewell/sourcemap-codec": "^1.4.10",
+ "@jridgewell/trace-mapping": "^0.3.9"
+ }
+ },
+ "@jridgewell/resolve-uri": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz",
+ "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==",
+ "dev": true
+ },
+ "@jridgewell/set-array": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
+ "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
+ "dev": true
+ },
+ "@jridgewell/source-map": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz",
+ "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==",
+ "dev": true,
+ "requires": {
+ "@jridgewell/gen-mapping": "^0.3.0",
+ "@jridgewell/trace-mapping": "^0.3.9"
+ }
+ },
+ "@jridgewell/sourcemap-codec": {
+ "version": "1.4.14",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
+ "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==",
+ "dev": true
+ },
+ "@jridgewell/trace-mapping": {
+ "version": "0.3.14",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz",
+ "integrity": "sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==",
+ "dev": true,
+ "requires": {
+ "@jridgewell/resolve-uri": "^3.0.3",
+ "@jridgewell/sourcemap-codec": "^1.4.10"
+ }
+ },
"@nodelib/fs.scandir": {
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
@@ -9585,21 +8835,6 @@
"fastq": "^1.6.0"
}
},
- "@sindresorhus/is": {
- "version": "0.14.0",
- "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz",
- "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==",
- "dev": true
- },
- "@szmarczak/http-timer": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz",
- "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==",
- "dev": true,
- "requires": {
- "defer-to-connect": "^1.0.1"
- }
- },
"@types/anymatch": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/@types/anymatch/-/anymatch-1.3.1.tgz",
@@ -10119,40 +9354,6 @@
"dev": true,
"requires": {}
},
- "ansi-align": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz",
- "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==",
- "dev": true,
- "requires": {
- "string-width": "^4.1.0"
- },
- "dependencies": {
- "emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "dev": true
- },
- "is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true
- },
- "string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dev": true,
- "requires": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- }
- }
- }
- },
"ansi-html-community": {
"version": "0.0.8",
"resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz",
@@ -10206,9 +9407,9 @@
"dev": true
},
"async": {
- "version": "2.6.3",
- "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz",
- "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
+ "version": "2.6.4",
+ "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz",
+ "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==",
"dev": true,
"requires": {
"lodash": "^4.17.14"
@@ -10391,82 +9592,6 @@
"integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=",
"dev": true
},
- "boxen": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz",
- "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==",
- "dev": true,
- "requires": {
- "ansi-align": "^3.0.0",
- "camelcase": "^6.2.0",
- "chalk": "^4.1.0",
- "cli-boxes": "^2.2.1",
- "string-width": "^4.2.2",
- "type-fest": "^0.20.2",
- "widest-line": "^3.1.0",
- "wrap-ansi": "^7.0.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "requires": {
- "color-convert": "^2.0.1"
- }
- },
- "color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
- "emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "dev": true
- },
- "is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true
- },
- "string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dev": true,
- "requires": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- }
- },
- "wrap-ansi": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
- "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
- }
- }
- }
- },
"brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
@@ -10512,12 +9637,12 @@
"dev": true
},
"busboy": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/busboy/-/busboy-0.3.1.tgz",
- "integrity": "sha512-y7tTxhGKXcyBxRKAni+awqx8uqaJKrSFSNFSeRG5CsWNdmy2BIK+6VGWEW7TZnIO/533mtMEA4rOevQV815YJw==",
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz",
+ "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==",
"dev": true,
"requires": {
- "dicer": "0.3.0"
+ "streamsearch": "^1.1.0"
}
},
"bytes": {
@@ -10526,38 +9651,6 @@
"integrity": "sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg==",
"dev": true
},
- "cacheable-request": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz",
- "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==",
- "dev": true,
- "requires": {
- "clone-response": "^1.0.2",
- "get-stream": "^5.1.0",
- "http-cache-semantics": "^4.0.0",
- "keyv": "^3.0.0",
- "lowercase-keys": "^2.0.0",
- "normalize-url": "^4.1.0",
- "responselike": "^1.0.2"
- },
- "dependencies": {
- "get-stream": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
- "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
- "dev": true,
- "requires": {
- "pump": "^3.0.0"
- }
- },
- "lowercase-keys": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
- "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==",
- "dev": true
- }
- }
- },
"call-bind": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
@@ -10578,12 +9671,6 @@
"tslib": "^2.0.3"
}
},
- "camelcase": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
- "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
- "dev": true
- },
"caniuse-lite": {
"version": "1.0.30001296",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001296.tgz",
@@ -10648,12 +9735,6 @@
"integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==",
"dev": true
},
- "ci-info": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz",
- "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==",
- "dev": true
- },
"clean-css": {
"version": "4.2.3",
"resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz",
@@ -10679,12 +9760,6 @@
"del": "^4.1.1"
}
},
- "cli-boxes": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz",
- "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==",
- "dev": true
- },
"clone-deep": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz",
@@ -10696,15 +9771,6 @@
"shallow-clone": "^3.0.0"
}
},
- "clone-response": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz",
- "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=",
- "dev": true,
- "requires": {
- "mimic-response": "^1.0.0"
- }
- },
"color-convert": {
"version": "1.9.3",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
@@ -10930,20 +9996,6 @@
}
}
},
- "configstore": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz",
- "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==",
- "dev": true,
- "requires": {
- "dot-prop": "^5.2.0",
- "graceful-fs": "^4.1.2",
- "make-dir": "^3.0.0",
- "unique-string": "^2.0.0",
- "write-file-atomic": "^3.0.0",
- "xdg-basedir": "^4.0.0"
- }
- },
"connect-history-api-fallback": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz",
@@ -11035,12 +10087,6 @@
"which": "^2.0.1"
}
},
- "crypto-random-string": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz",
- "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==",
- "dev": true
- },
"css-loader": {
"version": "5.2.7",
"resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.2.7.tgz",
@@ -11110,15 +10156,6 @@
"ms": "2.1.2"
}
},
- "decompress-response": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz",
- "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=",
- "dev": true,
- "requires": {
- "mimic-response": "^1.0.0"
- }
- },
"deep-equal": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz",
@@ -11133,12 +10170,6 @@
"regexp.prototype.flags": "^1.2.0"
}
},
- "deep-extend": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
- "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
- "dev": true
- },
"default-gateway": {
"version": "6.0.3",
"resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz",
@@ -11148,12 +10179,6 @@
"execa": "^5.0.0"
}
},
- "defer-to-connect": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz",
- "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==",
- "dev": true
- },
"define-lazy-prop": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz",
@@ -11202,15 +10227,6 @@
"integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==",
"dev": true
},
- "dicer": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/dicer/-/dicer-0.3.0.tgz",
- "integrity": "sha512-MdceRRWqltEG2dZqO769g27N/3PXfcKl04VhYnBlo2YhH7zPi88VebsjTKclaOyiuMaGU72hTfw3VkUitGcVCA==",
- "dev": true,
- "requires": {
- "streamsearch": "0.1.2"
- }
- },
"dir-glob": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
@@ -11301,21 +10317,6 @@
"tslib": "^2.0.3"
}
},
- "dot-prop": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz",
- "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==",
- "dev": true,
- "requires": {
- "is-obj": "^2.0.0"
- }
- },
- "duplexer3": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz",
- "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=",
- "dev": true
- },
"ee-first": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
@@ -11340,15 +10341,6 @@
"integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
"dev": true
},
- "end-of-stream": {
- "version": "1.4.4",
- "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
- "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
- "dev": true,
- "requires": {
- "once": "^1.4.0"
- }
- },
"enhanced-resolve": {
"version": "5.8.3",
"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.3.tgz",
@@ -11383,12 +10375,6 @@
"integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
"dev": true
},
- "escape-goat": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz",
- "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==",
- "dev": true
- },
"escape-html": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
@@ -11545,12 +10531,12 @@
}
},
"express-fileupload": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/express-fileupload/-/express-fileupload-1.2.1.tgz",
- "integrity": "sha512-fWPNAkBj+Azt9Itmcz/Reqdg3LeBfaXptDEev2JM8bCC0yDptglCnlizhf0YZauyU5X/g6v7v4Xxqhg8tmEfEA==",
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/express-fileupload/-/express-fileupload-1.4.0.tgz",
+ "integrity": "sha512-RjzLCHxkv3umDeZKeFeMg8w7qe0V09w3B7oGZprr/oO2H/ISCgNzuqzn7gV3HRWb37GjRk429CCpSLS2KNTqMQ==",
"dev": true,
"requires": {
- "busboy": "^0.3.1"
+ "busboy": "^1.6.0"
}
},
"express-ws": {
@@ -11750,15 +10736,6 @@
"has-symbols": "^1.0.1"
}
},
- "get-stream": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
- "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
- "dev": true,
- "requires": {
- "pump": "^3.0.0"
- }
- },
"glob": {
"version": "7.1.6",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
@@ -11788,15 +10765,6 @@
"integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==",
"dev": true
},
- "global-dirs": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.0.tgz",
- "integrity": "sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA==",
- "dev": true,
- "requires": {
- "ini": "2.0.0"
- }
- },
"globals": {
"version": "11.12.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
@@ -11824,25 +10792,6 @@
}
}
},
- "got": {
- "version": "9.6.0",
- "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz",
- "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==",
- "dev": true,
- "requires": {
- "@sindresorhus/is": "^0.14.0",
- "@szmarczak/http-timer": "^1.1.2",
- "cacheable-request": "^6.0.0",
- "decompress-response": "^3.3.0",
- "duplexer3": "^0.1.4",
- "get-stream": "^4.1.0",
- "lowercase-keys": "^1.0.1",
- "mimic-response": "^1.0.1",
- "p-cancelable": "^1.0.0",
- "to-readable-stream": "^1.0.0",
- "url-parse-lax": "^3.0.0"
- }
- },
"graceful-fs": {
"version": "4.2.9",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz",
@@ -11885,12 +10834,6 @@
"has-symbols": "^1.0.2"
}
},
- "has-yarn": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz",
- "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==",
- "dev": true
- },
"he": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
@@ -12045,13 +10988,14 @@
}
},
"terser": {
- "version": "5.10.0",
- "resolved": "https://registry.npmjs.org/terser/-/terser-5.10.0.tgz",
- "integrity": "sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA==",
+ "version": "5.14.2",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-5.14.2.tgz",
+ "integrity": "sha512-oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA==",
"dev": true,
"requires": {
+ "@jridgewell/source-map": "^0.3.2",
+ "acorn": "^8.5.0",
"commander": "^2.20.0",
- "source-map": "~0.7.2",
"source-map-support": "~0.5.20"
},
"dependencies": {
@@ -12060,12 +11004,6 @@
"resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
"integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
"dev": true
- },
- "source-map": {
- "version": "0.7.3",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
- "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
- "dev": true
}
}
}
@@ -12083,12 +11021,6 @@
"entities": "^2.0.0"
}
},
- "http-cache-semantics": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz",
- "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==",
- "dev": true
- },
"http-deceiver": {
"version": "1.2.7",
"resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz",
@@ -12172,12 +11104,6 @@
"integrity": "sha1-SMptcvbGo68Aqa1K5odr44ieKwk=",
"dev": true
},
- "import-lazy": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz",
- "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=",
- "dev": true
- },
"import-local": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz",
@@ -12188,12 +11114,6 @@
"resolve-cwd": "^3.0.0"
}
},
- "imurmurhash": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
- "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
- "dev": true
- },
"indent-string": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
@@ -12216,12 +11136,6 @@
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
"dev": true
},
- "ini": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz",
- "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==",
- "dev": true
- },
"interpret": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz",
@@ -12259,15 +11173,6 @@
"binary-extensions": "^2.0.0"
}
},
- "is-ci": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz",
- "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==",
- "dev": true,
- "requires": {
- "ci-info": "^2.0.0"
- }
- },
"is-core-module": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz",
@@ -12307,42 +11212,12 @@
"is-extglob": "^2.1.1"
}
},
- "is-installed-globally": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz",
- "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==",
- "dev": true,
- "requires": {
- "global-dirs": "^3.0.0",
- "is-path-inside": "^3.0.2"
- },
- "dependencies": {
- "is-path-inside": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
- "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==",
- "dev": true
- }
- }
- },
- "is-npm": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-5.0.0.tgz",
- "integrity": "sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==",
- "dev": true
- },
"is-number": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
"dev": true
},
- "is-obj": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz",
- "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==",
- "dev": true
- },
"is-path-cwd": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz",
@@ -12398,12 +11273,6 @@
"integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
"dev": true
},
- "is-typedarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
- "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
- "dev": true
- },
"is-wsl": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
@@ -12413,12 +11282,6 @@
"is-docker": "^2.0.0"
}
},
- "is-yarn-global": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz",
- "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==",
- "dev": true
- },
"isarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
@@ -12460,12 +11323,6 @@
"integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
"dev": true
},
- "json-buffer": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz",
- "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=",
- "dev": true
- },
"json-parse-better-errors": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
@@ -12487,30 +11344,12 @@
"minimist": "^1.2.5"
}
},
- "keyv": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz",
- "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==",
- "dev": true,
- "requires": {
- "json-buffer": "3.0.0"
- }
- },
"kind-of": {
"version": "6.0.3",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
"integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
"dev": true
},
- "latest-version": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz",
- "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==",
- "dev": true,
- "requires": {
- "package-json": "^6.3.0"
- }
- },
"loader-runner": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz",
@@ -12558,12 +11397,6 @@
"tslib": "^2.0.3"
}
},
- "lowercase-keys": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz",
- "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==",
- "dev": true
- },
"lru-cache": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
@@ -12658,12 +11491,6 @@
"integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
"dev": true
},
- "mimic-response": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz",
- "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==",
- "dev": true
- },
"mini-css-extract-plugin": {
"version": "1.6.2",
"resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.6.2.tgz",
@@ -12691,9 +11518,9 @@
}
},
"minimist": {
- "version": "1.2.5",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
- "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
+ "version": "1.2.6",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
+ "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==",
"dev": true
},
"mkdirp": {
@@ -12756,9 +11583,9 @@
}
},
"node-forge": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.2.1.tgz",
- "integrity": "sha512-Fcvtbb+zBcZXbTTVwqGA5W+MKBj56UjVRevvchv5XrcyXbmNdesfZL37nlcWOfpgHhgmxApw3tQbTr4CqNmX4w==",
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz",
+ "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==",
"dev": true
},
"node-releases": {
@@ -12768,9 +11595,9 @@
"dev": true
},
"nodemon": {
- "version": "2.0.15",
- "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.15.tgz",
- "integrity": "sha512-gdHMNx47Gw7b3kWxJV64NI+Q5nfl0y5DgDbiVtShiwa7Z0IZ07Ll4RLFo6AjrhzMtoEZn5PDE3/c2AbVsiCkpA==",
+ "version": "2.0.19",
+ "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.19.tgz",
+ "integrity": "sha512-4pv1f2bMDj0Eeg/MhGqxrtveeQ5/G/UVe9iO6uTZzjnRluSA4PVWf8CW99LUPwGB3eNIA7zUFoP77YuI7hOc0A==",
"dev": true,
"requires": {
"chokidar": "^3.5.2",
@@ -12779,10 +11606,10 @@
"minimatch": "^3.0.4",
"pstree.remy": "^1.1.8",
"semver": "^5.7.1",
+ "simple-update-notifier": "^1.0.7",
"supports-color": "^5.5.0",
"touch": "^3.1.0",
- "undefsafe": "^2.0.5",
- "update-notifier": "^5.1.0"
+ "undefsafe": "^2.0.5"
},
"dependencies": {
"debug": {
@@ -12832,12 +11659,6 @@
"integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
"dev": true
},
- "normalize-url": {
- "version": "4.5.1",
- "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz",
- "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==",
- "dev": true
- },
"npm-run-path": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
@@ -12940,12 +11761,6 @@
"is-wsl": "^2.2.0"
}
},
- "p-cancelable": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz",
- "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==",
- "dev": true
- },
"p-limit": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
@@ -12997,18 +11812,6 @@
"integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
"dev": true
},
- "package-json": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz",
- "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==",
- "dev": true,
- "requires": {
- "got": "^9.6.0",
- "registry-auth-token": "^4.0.0",
- "registry-url": "^5.0.0",
- "semver": "^6.2.0"
- }
- },
"param-case": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz",
@@ -13204,12 +12007,6 @@
"integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==",
"dev": true
},
- "prepend-http": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz",
- "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=",
- "dev": true
- },
"pretty-error": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz",
@@ -13242,31 +12039,12 @@
"integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==",
"dev": true
},
- "pump": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
- "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
- "dev": true,
- "requires": {
- "end-of-stream": "^1.1.0",
- "once": "^1.3.1"
- }
- },
"punycode": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
"integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
"dev": true
},
- "pupa": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz",
- "integrity": "sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==",
- "dev": true,
- "requires": {
- "escape-goat": "^2.0.0"
- }
- },
"qs": {
"version": "6.9.6",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.9.6.tgz",
@@ -13306,26 +12084,6 @@
"unpipe": "1.0.0"
}
},
- "rc": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
- "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
- "dev": true,
- "requires": {
- "deep-extend": "^0.6.0",
- "ini": "~1.3.0",
- "minimist": "^1.2.0",
- "strip-json-comments": "~2.0.1"
- },
- "dependencies": {
- "ini": {
- "version": "1.3.8",
- "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
- "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
- "dev": true
- }
- }
- },
"readable-stream": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
@@ -13409,24 +12167,6 @@
"unicode-match-property-value-ecmascript": "^2.0.0"
}
},
- "registry-auth-token": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.1.tgz",
- "integrity": "sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw==",
- "dev": true,
- "requires": {
- "rc": "^1.2.8"
- }
- },
- "registry-url": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz",
- "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==",
- "dev": true,
- "requires": {
- "rc": "^1.2.8"
- }
- },
"regjsgen": {
"version": "0.5.2",
"resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz",
@@ -13512,15 +12252,6 @@
"integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
"dev": true
},
- "responselike": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz",
- "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=",
- "dev": true,
- "requires": {
- "lowercase-keys": "^1.0.0"
- }
- },
"retry": {
"version": "0.13.1",
"resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz",
@@ -13612,15 +12343,6 @@
"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
"dev": true
},
- "semver-diff": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz",
- "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==",
- "dev": true,
- "requires": {
- "semver": "^6.3.0"
- }
- },
"send": {
"version": "0.17.2",
"resolved": "https://registry.npmjs.org/send/-/send-0.17.2.tgz",
@@ -13780,6 +12502,23 @@
"integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==",
"dev": true
},
+ "simple-update-notifier": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-1.0.7.tgz",
+ "integrity": "sha512-BBKgR84BJQJm6WjWFMHgLVuo61FBDSj1z/xSFUIozqO6wO7ii0JxCqlIud7Enr/+LhlbNI0whErq96P2qHNWew==",
+ "dev": true,
+ "requires": {
+ "semver": "~7.0.0"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz",
+ "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==",
+ "dev": true
+ }
+ }
+ },
"slash": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
@@ -13865,9 +12604,9 @@
"dev": true
},
"streamsearch": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-0.1.2.tgz",
- "integrity": "sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo=",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz",
+ "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==",
"dev": true
},
"string_decoder": {
@@ -13902,12 +12641,6 @@
"integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
"dev": true
},
- "strip-json-comments": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
- "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
- "dev": true
- },
"style-loader": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/style-loader/-/style-loader-2.0.0.tgz",
@@ -13934,9 +12667,9 @@
"dev": true
},
"terser": {
- "version": "4.8.0",
- "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz",
- "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==",
+ "version": "4.8.1",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz",
+ "integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==",
"dev": true,
"requires": {
"commander": "^2.20.0",
@@ -14028,22 +12761,15 @@
}
},
"terser": {
- "version": "5.10.0",
- "resolved": "https://registry.npmjs.org/terser/-/terser-5.10.0.tgz",
- "integrity": "sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA==",
+ "version": "5.14.2",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-5.14.2.tgz",
+ "integrity": "sha512-oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA==",
"dev": true,
"requires": {
+ "@jridgewell/source-map": "^0.3.2",
+ "acorn": "^8.5.0",
"commander": "^2.20.0",
- "source-map": "~0.7.2",
"source-map-support": "~0.5.20"
- },
- "dependencies": {
- "source-map": {
- "version": "0.7.3",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
- "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
- "dev": true
- }
}
}
}
@@ -14060,12 +12786,6 @@
"integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
"dev": true
},
- "to-readable-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz",
- "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==",
- "dev": true
- },
"to-regex-range": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
@@ -14102,12 +12822,6 @@
"integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==",
"dev": true
},
- "type-fest": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
- "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
- "dev": true
- },
"type-is": {
"version": "1.6.18",
"resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
@@ -14118,15 +12832,6 @@
"mime-types": "~2.1.24"
}
},
- "typedarray-to-buffer": {
- "version": "3.1.5",
- "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
- "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
- "dev": true,
- "requires": {
- "is-typedarray": "^1.0.0"
- }
- },
"undefsafe": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz",
@@ -14161,54 +12866,12 @@
"integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==",
"dev": true
},
- "unique-string": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz",
- "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==",
- "dev": true,
- "requires": {
- "crypto-random-string": "^2.0.0"
- }
- },
"unpipe": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
"integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=",
"dev": true
},
- "update-notifier": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-5.1.0.tgz",
- "integrity": "sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==",
- "dev": true,
- "requires": {
- "boxen": "^5.0.0",
- "chalk": "^4.1.0",
- "configstore": "^5.0.1",
- "has-yarn": "^2.1.0",
- "import-lazy": "^2.1.0",
- "is-ci": "^2.0.0",
- "is-installed-globally": "^0.4.0",
- "is-npm": "^5.0.0",
- "is-yarn-global": "^0.3.0",
- "latest-version": "^5.1.0",
- "pupa": "^2.1.1",
- "semver": "^7.3.4",
- "semver-diff": "^3.1.1",
- "xdg-basedir": "^4.0.0"
- },
- "dependencies": {
- "semver": {
- "version": "7.3.5",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
- "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
- "dev": true,
- "requires": {
- "lru-cache": "^6.0.0"
- }
- }
- }
- },
"uri-js": {
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
@@ -14218,15 +12881,6 @@
"punycode": "^2.1.0"
}
},
- "url-parse-lax": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz",
- "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=",
- "dev": true,
- "requires": {
- "prepend-http": "^2.0.0"
- }
- },
"util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
@@ -14667,40 +13321,6 @@
"isexe": "^2.0.0"
}
},
- "widest-line": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz",
- "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==",
- "dev": true,
- "requires": {
- "string-width": "^4.0.0"
- },
- "dependencies": {
- "emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "dev": true
- },
- "is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true
- },
- "string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dev": true,
- "requires": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- }
- }
- }
- },
"wildcard": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz",
@@ -14713,18 +13333,6 @@
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
"dev": true
},
- "write-file-atomic": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz",
- "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==",
- "dev": true,
- "requires": {
- "imurmurhash": "^0.1.4",
- "is-typedarray": "^1.0.0",
- "signal-exit": "^3.0.2",
- "typedarray-to-buffer": "^3.1.5"
- }
- },
"ws": {
"version": "8.5.0",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz",
@@ -14732,12 +13340,6 @@
"dev": true,
"requires": {}
},
- "xdg-basedir": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz",
- "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==",
- "dev": true
- },
"yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
diff --git a/embedded/package.json b/embedded/package.json
index ae52235e..5cf5e60b 100644
--- a/embedded/package.json
+++ b/embedded/package.json
@@ -7,10 +7,11 @@
"test": "echo \"Error: no test specified\" && exit 1",
"front": "webpack serve --config config/webpack.dev.js ",
"pack": "webpack --config config/webpack.prod.js",
- "convert": "node ./config/buildheader.js",
+ "convert-assets": "node ./config/buildassets.js",
+ "convert-page": "node ./config/buildheader.js",
"server": "nodemon config/server.js",
"dev": "concurrently \"npm run server\" \"npm run front\"",
- "build": "npm run pack && npm run convert"
+ "build": "npm run pack && npm run convert-page && npm run convert-assets"
},
"author": "",
"license": "ISC",
diff --git a/embedded/src/index.js b/embedded/src/index.js
index 82c9388f..8d06fea8 100644
--- a/embedded/src/index.js
+++ b/embedded/src/index.js
@@ -30,7 +30,7 @@ let wsMsg = "";
let logOff = false;
let pageId = "";
let currentPath = "/";
-const version = "3.0.0.a4";
+const version = "3.0.0.a5";
let xmlhttpupload;
let prgfiletext;
let prgfile;
@@ -40,6 +40,8 @@ let loginLink;
let loginModal;
let loginUser = "";
let loginMsg;
+let fspath="/files";
+let hostpath="/";
window.onload = function () {
consolePanel = document.getElementById("consolePanel");
@@ -332,9 +334,15 @@ function processFWJson(text) {
window.open(url);
});
consolePanel.classList.remove("hide");
- if (json.FileSystem && json.FileSystem != "none")
- fileSystem.classList.remove("hide");
+ if ((json.FlashFileSystem && json.FlashFileSystem != "none")||(json.SDConnection && json.SDConnection != "none")){
+ fileSystem.classList.remove("hide");
+ if (json.FlashFileSystem && json.FlashFileSystem == "none"){
+ fspath="/sdfiles";
+ }
+ }
+
if (json.WebUpdate == "Enabled") firmware.classList.remove("hide");
+ hostpath = json.HostPath;
if (json.WiFiMode && json.WebSocketIP) {
if (isLimitedEnvironment(json.WiFiMode)) {
let address =
@@ -349,18 +357,18 @@ function processFWJson(text) {
}
}
if (json.Hostname) document.title = json.Hostname;
- startSocket(json.WebSocketIP, json.WebSocketPort, json.WebCommunication);
+ startSocket(json.WebSocketIP, json.WebSocketPort, json.WebCommunication, json.WebSocketSubProtocol);
SendFileCommand("list", "all");
}
-function startSocket(ip, port, sync) {
+function startSocket(ip, port, sync, protocol) {
if (websocketStarted) {
wsSource.close();
}
wsSource = new WebSocket(
"ws://" + ip + ":" + port + (sync == "Asynchronous" ? "/ws" : ""),
- ["arduino"]
+ [protocol]
);
wsSource.binaryType = "arraybuffer";
wsSource.onopen = function (e) {
@@ -372,10 +380,13 @@ function startSocket(ip, port, sync) {
//if it is not a log off
if (!logOff)
setTimeout(() => {
- startSocket(ip, port, sync);
+ startSocket(ip, port, sync, protocol);
}, 3000);
};
- wsSource.onerror = function (e) {};
+ wsSource.onerror = function (e) {
+ ErrorMSG("Error: websocket error!
" );
+ console.log("Error: websocket error!");
+ };
wsSource.onmessage = function (e) {
let msg = "";
//bin
@@ -466,12 +477,12 @@ function InfoMSG(msg) {
function getFWData() {
let url = new URL("http://" + window.location.host + "/command");
- url.searchParams.append("cmd", "[ESP800]json=YES time=" + getPCTime());
+ url.searchParams.append("cmd", "[ESP800]json=YES version="+version+" time=" + getPCTime());
httpGet(url, processFWJson);
}
function SendFileCommand(action, filename) {
- let url = new URL("http://" + window.location.host + "/files");
+ let url = new URL("http://" + window.location.host + fspath);
url.searchParams.append("action", action);
url.searchParams.append("filename", filename);
url.searchParams.append("path", currentPath);
@@ -578,7 +589,7 @@ function dispatchFileStatus(jsonresponse) {
for (let i1 = 0; i1 < json.files.length; i1++) {
if (String(json.files[i1].size) != "-1") {
if (
- currentPath == "/" &&
+ currentPath == hostpath &&
(json.files[i1].name == "index.html.gz" ||
json.files[i1].name == "index.html")
) {
@@ -737,7 +748,7 @@ function uploadFiles() {
formData.append("myfiles", file, currentpath + file.name);
}
xmlhttpupload = new XMLHttpRequest();
- xmlhttpupload.open("POST", "/files", true);
+ xmlhttpupload.open("POST", fspath, true);
//progress upload event
xmlhttpupload.upload.addEventListener("progress", updateProgress, false);
//progress function
diff --git a/esp3d/src/core/debug_esp3d.cpp b/esp3d/src/core/debug_esp3d.cpp
index 444e6d26..2348c003 100644
--- a/esp3d/src/core/debug_esp3d.cpp
+++ b/esp3d/src/core/debug_esp3d.cpp
@@ -48,6 +48,6 @@ Telnet_Server telnet_debug;
//Websocket
#if ESP_DEBUG_FEATURE == DEBUG_OUTPUT_WEBSOCKET
-WebSocket_Server websocket_debug;
+WebSocket_Server websocket_debug("debug");
#endif // ESP_DEBUG_FEATURE == DEBUG_OUTPUT_WEBSOCKET
#endif //ESP_DEBUG_FEATURE
diff --git a/esp3d/src/core/espcmd/ESP800.cpp b/esp3d/src/core/espcmd/ESP800.cpp
index 7ae7da1e..949642f5 100644
--- a/esp3d/src/core/espcmd/ESP800.cpp
+++ b/esp3d/src/core/espcmd/ESP800.cpp
@@ -34,6 +34,7 @@
#endif //WIFI_FEATURE || ETH_FEATURE || BLUETOOTH_FEATURE
#ifdef HTTP_FEATURE
#include "../../modules/http/http_server.h"
+#include "../../modules/websocket/websocket_server.h"
#endif //HTTP_FEATURE
#ifdef TIMESTAMP_FEATURE
#include "../../modules/time/time_server.h"
@@ -246,6 +247,20 @@ bool Commands::ESP800(const char* cmd_params, level_authenticate_type auth_type,
output->printMSGLine(line.c_str());
}
line="";
+ //WebSocket subprotocol
+ if (json) {
+ line+=",\"WebSocketSubProtocol\":\"";
+ } else {
+ line+= "Web Socket SubProtocol:";
+ }
+ line+= websocket_terminal_server.getProtocol();
+ if (json) {
+ line +="\"";
+ output->print (line.c_str());
+ } else {
+ output->printMSGLine(line.c_str());
+ }
+ line="";
//WebSocket Port
if (json) {
line+=",\"WebSocketPort\":\"";
@@ -255,7 +270,7 @@ bool Commands::ESP800(const char* cmd_params, level_authenticate_type auth_type,
#if defined (ASYNCWEBSERVER_FEATURE)
line+=HTTP_Server::port();
#else
- line+=(HTTP_Server::port() +1);
+ line+=websocket_terminal_server.getPort();
#endif
if (json) {
line +="\"";
@@ -324,12 +339,11 @@ bool Commands::ESP800(const char* cmd_params, level_authenticate_type auth_type,
}
line="";
#endif //WIFI_FEATURE|| ETH_FEATURE
-
//FS
if (json) {
- line+=",\"FileSystem\":\"";
+ line+=",\"FlashFileSystem\":\"";
} else {
- line+= "File system:";
+ line+= "Flash File System:";
}
#if defined(FILESYSTEM_FEATURE)
line+=ESP_FileSystem::FilesystemName();
@@ -343,6 +357,21 @@ bool Commands::ESP800(const char* cmd_params, level_authenticate_type auth_type,
output->printMSGLine(line.c_str());
}
line="";
+// Host path
+ if (json) {
+ line+=",\"HostPath\":\"";
+ } else {
+ line+= "Host Path:";
+ }
+
+ line+= ESP3D_HOST_PATH;
+ if (json) {
+ line +="\"";
+ output->print (line.c_str());
+ } else {
+ output->printMSGLine(line.c_str());
+ }
+ line="";
//time server
if (json) {
line+=",\"Time\":\"";
diff --git a/esp3d/src/include/defines.h b/esp3d/src/include/defines.h
index 39be0840..72b6aac5 100644
--- a/esp3d/src/include/defines.h
+++ b/esp3d/src/include/defines.h
@@ -267,4 +267,7 @@
#define FS_UNKNOWN 254
#define MAX_FS 3
+//Host path
+#define ESP3D_HOST_PATH "/"
+
#endif //_DEFINES_ESP3D_H
diff --git a/esp3d/src/include/version.h b/esp3d/src/include/version.h
index ac29c037..71407276 100644
--- a/esp3d/src/include/version.h
+++ b/esp3d/src/include/version.h
@@ -22,7 +22,7 @@
#define _VERSION_ESP3D_H
//version and sources location
-#define FW_VERSION "3.0.0.a203"
+#define FW_VERSION "3.0.0.a204"
#define REPOSITORY "https://github.com/luc-github/ESP3D/tree/3.0"
#endif //_VERSION_ESP3D_H
diff --git a/esp3d/src/modules/http/embedded.h b/esp3d/src/modules/http/embedded.h
index 46bc4d8d..d8afc49f 100644
--- a/esp3d/src/modules/http/embedded.h
+++ b/esp3d/src/modules/http/embedded.h
@@ -20,694 +20,699 @@
#ifndef __embedded_h
#define __embedded_h
-#define tool_html_gz_size 10982
-const unsigned char tool_html_gz[10982] PROGMEM = {
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0a, 0xed, 0x7d, 0x8b, 0x76, 0xa3, 0xc8,
- 0xb5, 0xe8, 0xaf, 0x20, 0x92, 0x51, 0x43, 0x54, 0xc2, 0xe8, 0xe1, 0x17, 0x32, 0xd2, 0xb5, 0xbb,
- 0xed, 0x69, 0x27, 0xdd, 0xd3, 0x8e, 0xed, 0x9e, 0x9e, 0x89, 0xd3, 0xc7, 0x0b, 0x8b, 0x92, 0x44,
- 0x1b, 0x81, 0x02, 0xc8, 0xb6, 0x46, 0xd6, 0x07, 0xdd, 0xdf, 0x38, 0x5f, 0x76, 0xf6, 0xae, 0x2a,
- 0x50, 0x21, 0x81, 0x2c, 0xf7, 0x4c, 0x72, 0xd7, 0x3a, 0xeb, 0xae, 0x49, 0x64, 0xa8, 0xe7, 0xae,
- 0x5d, 0xfb, 0x5d, 0xbb, 0xe8, 0xa3, 0x8a, 0x1b, 0xf6, 0x93, 0xd9, 0x84, 0x2a, 0xa3, 0x64, 0xec,
- 0x77, 0x8f, 0xf0, 0x57, 0xf1, 0x9d, 0x60, 0x68, 0xab, 0x34, 0x50, 0xe1, 0x9d, 0x3a, 0x6e, 0xf7,
- 0x68, 0x4c, 0x13, 0x47, 0xe9, 0x8f, 0x9c, 0x28, 0xa6, 0x89, 0xad, 0x7e, 0xbe, 0x3e, 0xab, 0x1f,
- 0xa8, 0xa2, 0x74, 0x94, 0x24, 0x93, 0x3a, 0xfd, 0xd7, 0xd4, 0x7b, 0xb0, 0xd5, 0x5f, 0xea, 0x9f,
- 0x8f, 0xeb, 0x6f, 0xc3, 0xf1, 0xc4, 0x49, 0xbc, 0x3b, 0x9f, 0xaa, 0x4a, 0x3f, 0x0c, 0x12, 0x1a,
- 0x40, 0x97, 0xf3, 0x53, 0x9b, 0xba, 0x43, 0x9a, 0x76, 0x0a, 0x9c, 0x31, 0xb5, 0xd5, 0x07, 0x8f,
- 0x3e, 0x4e, 0xc2, 0x28, 0x91, 0xda, 0x3d, 0x7a, 0x6e, 0x32, 0xb2, 0x5d, 0xfa, 0xe0, 0xf5, 0x69,
- 0x9d, 0xbd, 0x10, 0x2f, 0xf0, 0x12, 0xcf, 0xf1, 0xeb, 0x71, 0xdf, 0xf1, 0xa9, 0xdd, 0xc8, 0x0f,
- 0x91, 0x8c, 0xe8, 0x98, 0xd6, 0xfb, 0xa1, 0x1f, 0x46, 0xd2, 0x28, 0x7f, 0xda, 0xdd, 0xdf, 0xdd,
- 0x75, 0x0f, 0xf3, 0x4d, 0xc7, 0xb1, 0x33, 0x99, 0xf8, 0x5e, 0x1f, 0x60, 0x0b, 0x83, 0x7a, 0xe0,
- 0x3c, 0xdc, 0x4d, 0x93, 0x04, 0x9e, 0xb6, 0xea, 0x8c, 0x5d, 0x69, 0x7d, 0x1c, 0xde, 0x79, 0xf0,
- 0xe7, 0x91, 0xde, 0xd5, 0xa1, 0xa0, 0x1e, 0x27, 0x4e, 0x32, 0x8d, 0xeb, 0x77, 0x4e, 0x04, 0x8f,
- 0xb3, 0xdc, 0x7a, 0x97, 0x83, 0x24, 0x5e, 0xe2, 0xd3, 0xee, 0xbb, 0xb0, 0x3f, 0x1d, 0x43, 0xcd,
- 0xd1, 0x0e, 0x7f, 0x3f, 0x8a, 0xfb, 0x91, 0x37, 0x49, 0x14, 0x97, 0x0e, 0x68, 0x64, 0xab, 0xec,
- 0x8f, 0xda, 0xd5, 0x34, 0xdd, 0xee, 0xce, 0x1f, 0x9c, 0x48, 0xa1, 0xf6, 0xfc, 0x70, 0x6f, 0xaf,
- 0x69, 0x69, 0x94, 0x24, 0x24, 0x48, 0x4b, 0x23, 0x3b, 0xd0, 0xf6, 0x0f, 0x76, 0xdb, 0x3a, 0x09,
- 0xe1, 0x69, 0xaf, 0x01, 0x0f, 0x1e, 0x3e, 0xb4, 0x5a, 0xa6, 0x4e, 0x1c, 0x3b, 0x32, 0xae, 0x61,
- 0x23, 0x4f, 0xa3, 0x28, 0x8c, 0x3a, 0xd4, 0xa0, 0x4f, 0x88, 0xdb, 0xd8, 0x1e, 0x4c, 0x83, 0x3e,
- 0x2e, 0x59, 0xa3, 0xfa, 0xdc, 0x1b, 0x68, 0x21, 0xfc, 0xd5, 0x23, 0x9a, 0x4c, 0xa3, 0x40, 0xa1,
- 0x9d, 0x64, 0x14, 0x85, 0x8f, 0x8a, 0xa3, 0x79, 0x50, 0x5a, 0x53, 0x15, 0x2f, 0x56, 0x82, 0x30,
- 0x51, 0x1c, 0x25, 0xed, 0xa4, 0xea, 0x8b, 0x05, 0xd9, 0x33, 0xf7, 0xf7, 0xb7, 0x81, 0x24, 0x32,
- 0xae, 0x92, 0xc8, 0x0b, 0x86, 0xdb, 0x82, 0xa2, 0x86, 0x77, 0xdf, 0x68, 0x3f, 0x51, 0x6d, 0x1b,
- 0x09, 0x30, 0x1c, 0x28, 0xf4, 0xf9, 0xb9, 0x18, 0x3c, 0xf5, 0xad, 0x13, 0xbc, 0x49, 0x14, 0xa0,
- 0x3e, 0x45, 0xad, 0x09, 0x58, 0x9d, 0x18, 0xe0, 0x9c, 0x44, 0x61, 0x12, 0x62, 0x6f, 0x06, 0xe8,
- 0xe1, 0xde, 0xbe, 0xb9, 0x11, 0xd0, 0x46, 0xa3, 0xf1, 0x3d, 0x80, 0x6e, 0x85, 0xb3, 0x40, 0x11,
- 0xcb, 0x41, 0x48, 0xda, 0x66, 0xe3, 0xd0, 0xa2, 0x00, 0xc3, 0x72, 0x4c, 0x75, 0x1a, 0xc0, 0x36,
- 0x7b, 0x01, 0x75, 0xd5, 0x4a, 0xba, 0xe0, 0xe3, 0x28, 0x72, 0x66, 0x27, 0xd3, 0x01, 0xec, 0x7e,
- 0xb5, 0x5a, 0xd4, 0xe0, 0x9d, 0x93, 0x38, 0x3f, 0x03, 0x9b, 0x2c, 0x48, 0x73, 0x4f, 0x5e, 0x9a,
- 0x3a, 0x8d, 0xa9, 0x12, 0xc3, 0x22, 0x60, 0xbe, 0x0e, 0x5b, 0x27, 0x09, 0x89, 0x07, 0xeb, 0x09,
- 0x34, 0x9c, 0x5a, 0x27, 0x31, 0x3c, 0x1d, 0xee, 0x1f, 0xc0, 0x72, 0xfd, 0x0c, 0x03, 0xfd, 0x74,
- 0xab, 0xdc, 0x14, 0x15, 0x53, 0x78, 0x68, 0xee, 0x1e, 0xee, 0xeb, 0x64, 0x82, 0x75, 0xed, 0x03,
- 0x9d, 0x0c, 0x32, 0x82, 0x1a, 0xc3, 0xd3, 0xc1, 0xc1, 0x01, 0x3c, 0xcd, 0xb0, 0x7d, 0xab, 0x09,
- 0x4f, 0x43, 0x78, 0x6a, 0x99, 0xfb, 0xa6, 0x6e, 0x0c, 0xc8, 0x03, 0x0e, 0x7c, 0xb8, 0xbf, 0xa7,
- 0x93, 0x11, 0x4e, 0xb6, 0xdb, 0x80, 0xde, 0x8f, 0x58, 0xb6, 0xb7, 0x0f, 0x73, 0xdc, 0xc1, 0xd3,
- 0x6e, 0xa3, 0xd1, 0xd4, 0xc9, 0x29, 0x03, 0x05, 0xa7, 0xfb, 0x60, 0xfb, 0xc6, 0x79, 0x90, 0x1c,
- 0xb0, 0x65, 0x93, 0x27, 0xfb, 0x43, 0xb5, 0xfa, 0xc1, 0xc8, 0xb6, 0x90, 0x9c, 0x43, 0xf5, 0x67,
- 0x0f, 0xea, 0xdf, 0xfa, 0xce, 0x78, 0x42, 0x5d, 0xde, 0xec, 0xde, 0x3e, 0xaf, 0x56, 0xcf, 0xa5,
- 0x66, 0x27, 0xd8, 0x6f, 0xa4, 0x7d, 0xd0, 0xc9, 0x95, 0xfd, 0x84, 0x4f, 0x4f, 0x3a, 0xb9, 0xb6,
- 0x3f, 0x31, 0xe4, 0x4b, 0xcd, 0x3e, 0xc1, 0x68, 0xd9, 0xde, 0x92, 0x63, 0xfb, 0x4e, 0x53, 0x93,
- 0x90, 0xef, 0xfb, 0xb5, 0x33, 0x54, 0x75, 0xf2, 0xcd, 0x3e, 0xd5, 0xd4, 0xeb, 0x5f, 0x2f, 0x4e,
- 0xdf, 0xdd, 0x1e, 0x5f, 0x5e, 0x1e, 0xff, 0x7a, 0x7b, 0x7d, 0xfc, 0x23, 0x14, 0x7f, 0x5c, 0x2d,
- 0x7e, 0xfb, 0xe9, 0xa7, 0xab, 0xeb, 0xcb, 0xcf, 0x6f, 0xaf, 0x3f, 0x5d, 0x42, 0xf5, 0xad, 0xed,
- 0x54, 0xab, 0x95, 0xca, 0x23, 0xec, 0xd7, 0xa7, 0x09, 0x8d, 0x1c, 0xd8, 0x2b, 0x7b, 0xa2, 0xf9,
- 0x46, 0x88, 0x2f, 0x3a, 0xb9, 0xb0, 0x2b, 0x0d, 0x72, 0x69, 0xcf, 0xb3, 0x65, 0x5a, 0x0d, 0xc2,
- 0xd6, 0x94, 0x7b, 0x91, 0x17, 0x08, 0x65, 0xd0, 0xb8, 0xb1, 0xc7, 0x5f, 0x9a, 0xac, 0xc1, 0xf2,
- 0x0d, 0xaa, 0x5a, 0x4d, 0xfe, 0xd2, 0x66, 0x55, 0xcb, 0xb7, 0x33, 0x3f, 0x74, 0x56, 0x5f, 0xf7,
- 0xda, 0xfc, 0xf5, 0x60, 0x41, 0xce, 0xec, 0xf9, 0x89, 0x37, 0x84, 0xfe, 0x59, 0x19, 0x81, 0x77,
- 0x1c, 0x42, 0x6a, 0xf4, 0x7e, 0x95, 0xd4, 0x2b, 0xee, 0x92, 0xd6, 0x2b, 0x0d, 0x46, 0x5a, 0x09,
- 0xac, 0x8f, 0xea, 0x1d, 0x41, 0xff, 0x53, 0xed, 0x92, 0x24, 0xfa, 0xf3, 0xf3, 0x54, 0x3b, 0x83,
- 0xbf, 0x8b, 0xce, 0x20, 0x8c, 0xb4, 0x48, 0xf1, 0x02, 0xe5, 0x52, 0xd7, 0x3c, 0x5b, 0x0b, 0x6d,
- 0xff, 0x26, 0xfa, 0xaa, 0x57, 0xab, 0xe1, 0x72, 0x2b, 0xf4, 0xde, 0x58, 0xf3, 0xc8, 0x47, 0x12,
- 0xea, 0xd6, 0x2d, 0xa0, 0x67, 0xd9, 0xe5, 0xac, 0xbc, 0x4b, 0xb5, 0x9a, 0xf6, 0xe9, 0x00, 0x54,
- 0x5a, 0xe5, 0xf6, 0xf9, 0xb9, 0xd2, 0xd7, 0x4e, 0x60, 0xe2, 0x13, 0xdb, 0xb6, 0xcf, 0x04, 0xd0,
- 0xb9, 0x0e, 0xda, 0xc9, 0x72, 0x31, 0xfa, 0x9c, 0x73, 0xe9, 0x27, 0x4d, 0x3d, 0x0f, 0xfa, 0x61,
- 0x14, 0x01, 0x6d, 0xc0, 0x8c, 0x0f, 0x21, 0x17, 0xff, 0xc0, 0xa3, 0xe4, 0x56, 0xd7, 0x25, 0xd8,
- 0x11, 0x84, 0x6a, 0xf5, 0x51, 0xc3, 0xbf, 0xe4, 0x44, 0x9a, 0xf4, 0xea, 0xf9, 0xf9, 0x0a, 0x66,
- 0xbc, 0xc6, 0x09, 0xae, 0xec, 0x13, 0x89, 0xc0, 0xca, 0x07, 0x90, 0x1a, 0x5d, 0xb1, 0xa1, 0x6e,
- 0x91, 0x4c, 0xef, 0x75, 0x20, 0x95, 0x2b, 0x6c, 0x73, 0x0f, 0xc5, 0x24, 0x06, 0x32, 0x9a, 0x6a,
- 0x57, 0xe4, 0x58, 0x1a, 0x06, 0xa8, 0xc7, 0x24, 0x43, 0x2c, 0x24, 0xf3, 0x21, 0x4d, 0x2c, 0x69,
- 0x3d, 0x02, 0xfd, 0xae, 0x96, 0x8c, 0xbc, 0x58, 0xef, 0xe1, 0xef, 0xcd, 0xb7, 0xaf, 0xd6, 0x43,
- 0xe8, 0xb9, 0x8a, 0xb9, 0x58, 0xe8, 0x24, 0x05, 0x61, 0xcc, 0xd7, 0xf0, 0x8d, 0x44, 0xba, 0x24,
- 0xd1, 0xe6, 0x3f, 0x1d, 0x5f, 0x9f, 0xff, 0x7c, 0x2a, 0x48, 0xfa, 0xe4, 0xf3, 0xd9, 0xd9, 0xe9,
- 0xe5, 0xed, 0xcf, 0xe7, 0xa7, 0x5f, 0xae, 0xac, 0x5b, 0x52, 0x42, 0xed, 0xd6, 0x47, 0xb2, 0xc2,
- 0x1e, 0xd6, 0x45, 0xb5, 0xfa, 0x8d, 0x38, 0xc8, 0x56, 0x82, 0x78, 0x57, 0xc8, 0xe7, 0x7d, 0x81,
- 0xa4, 0x84, 0x3d, 0xb8, 0x76, 0x22, 0x58, 0xce, 0x52, 0xbd, 0x20, 0x6a, 0x5c, 0xc5, 0xc1, 0x11,
- 0x70, 0x2b, 0xa4, 0x01, 0xdf, 0x86, 0x01, 0x88, 0xb5, 0x69, 0x3f, 0x09, 0xa3, 0xd5, 0xb1, 0xfb,
- 0x1a, 0xdb, 0xe5, 0xca, 0xe3, 0xf3, 0xf3, 0x83, 0x76, 0x42, 0x60, 0xa2, 0xf5, 0x99, 0x06, 0x2b,
- 0x7a, 0x4c, 0x9a, 0x08, 0x95, 0x73, 0x3a, 0x34, 0x4e, 0xca, 0x31, 0xb3, 0x9c, 0xf9, 0x23, 0x4d,
- 0x46, 0xa1, 0x2b, 0x4d, 0x8a, 0xb2, 0x16, 0x90, 0x88, 0x53, 0xc7, 0xec, 0x37, 0x60, 0x1b, 0x85,
- 0x2c, 0x11, 0xf2, 0x3d, 0x67, 0x1a, 0xc6, 0x03, 0xf2, 0x0d, 0xbf, 0xe2, 0x2e, 0x7b, 0xd5, 0xea,
- 0x54, 0xf3, 0xa4, 0xcd, 0x07, 0x10, 0x93, 0x68, 0x36, 0x77, 0xa9, 0x4f, 0x13, 0xaa, 0x48, 0x35,
- 0x37, 0xf4, 0xeb, 0x02, 0x28, 0xb1, 0x3f, 0x82, 0x31, 0xe7, 0xd8, 0x24, 0x5f, 0x67, 0x27, 0xa2,
- 0x16, 0x16, 0xbe, 0x58, 0x2c, 0xae, 0xa0, 0x08, 0x88, 0x25, 0x78, 0x7e, 0x9e, 0x01, 0x69, 0x50,
- 0x12, 0xf4, 0x12, 0x0b, 0x28, 0xea, 0x09, 0x8a, 0x9f, 0x9f, 0x13, 0x00, 0x71, 0xb1, 0xbe, 0x9a,
- 0x2b, 0xb0, 0x4d, 0xbc, 0x7e, 0xe1, 0x9a, 0x38, 0xd8, 0xa0, 0x30, 0x3a, 0xd9, 0xca, 0x1e, 0xa5,
- 0xf5, 0x09, 0x7a, 0x46, 0x06, 0xc8, 0x38, 0x73, 0xaa, 0x85, 0x2b, 0x8b, 0x09, 0x97, 0x4b, 0x40,
- 0x20, 0xa1, 0xf5, 0x89, 0x80, 0x52, 0x6c, 0x4a, 0x07, 0x1b, 0x8b, 0xfd, 0x99, 0xe1, 0x76, 0xa5,
- 0x60, 0x9f, 0x70, 0xb0, 0x75, 0x79, 0x89, 0xd2, 0xbc, 0x95, 0x74, 0x56, 0xb0, 0x05, 0xa4, 0x75,
- 0xc3, 0xfc, 0x28, 0x6e, 0x16, 0xc4, 0x8b, 0x51, 0x1f, 0x5a, 0xaf, 0x14, 0x5b, 0x6a, 0xaa, 0x48,
- 0xc1, 0xd8, 0xb0, 0x13, 0x94, 0x5e, 0x39, 0x29, 0x06, 0xa3, 0x4a, 0x34, 0xfd, 0x9e, 0x48, 0x2f,
- 0x27, 0xd2, 0xcb, 0x45, 0xba, 0x47, 0xd6, 0x15, 0xea, 0xf8, 0x56, 0x73, 0xaf, 0xc0, 0xda, 0x68,
- 0xec, 0x9b, 0x4d, 0xb4, 0x36, 0x22, 0x6d, 0xbe, 0x30, 0x52, 0x8d, 0xc3, 0xac, 0x0e, 0x4d, 0x55,
- 0x8d, 0x18, 0x2c, 0x50, 0xaa, 0x97, 0x98, 0x1a, 0x02, 0x5d, 0x1e, 0x33, 0x38, 0xc8, 0x01, 0xa9,
- 0x37, 0x98, 0xf9, 0xd5, 0x3e, 0xd8, 0x6c, 0xd4, 0xec, 0x1d, 0xa6, 0x86, 0x20, 0x2a, 0x77, 0x66,
- 0x03, 0x00, 0x68, 0xdc, 0x06, 0x60, 0x2a, 0x78, 0x55, 0xf3, 0xf9, 0x60, 0xf6, 0x70, 0x7d, 0x09,
- 0x36, 0x81, 0x7a, 0x1c, 0x0d, 0x99, 0x6d, 0x1a, 0x03, 0x6e, 0x1c, 0x6d, 0x5d, 0xe4, 0x38, 0x69,
- 0xfd, 0x42, 0xd3, 0x65, 0xc8, 0xc3, 0x9e, 0x93, 0xdb, 0x06, 0x86, 0x74, 0x64, 0x99, 0x54, 0x55,
- 0x70, 0xd9, 0x04, 0x08, 0xa7, 0x3d, 0xf5, 0x73, 0x66, 0xdb, 0x58, 0xc1, 0xd4, 0xf7, 0x79, 0xe1,
- 0x4f, 0xf0, 0xa4, 0x5a, 0x6a, 0xcc, 0x40, 0xcb, 0xcc, 0x40, 0x2d, 0xb0, 0x65, 0x82, 0xe5, 0x0c,
- 0x92, 0x72, 0xfa, 0x4d, 0x22, 0x93, 0xdd, 0x42, 0x4b, 0x6c, 0x1f, 0x71, 0x15, 0xeb, 0x7a, 0x2f,
- 0xb0, 0xfa, 0x3d, 0x47, 0x4b, 0x74, 0x4b, 0xfd, 0x94, 0xda, 0x95, 0x5a, 0x64, 0x63, 0x09, 0x50,
- 0xb0, 0xa7, 0x25, 0x06, 0x38, 0x10, 0x3e, 0x05, 0x6d, 0x24, 0xad, 0xd8, 0x8a, 0xd0, 0x6c, 0x3c,
- 0x6c, 0x16, 0x9a, 0x8d, 0xcd, 0xc3, 0x96, 0xbc, 0xde, 0x4a, 0xa4, 0xc9, 0xd8, 0x49, 0x1f, 0x15,
- 0x0a, 0x2f, 0x8b, 0x14, 0xbe, 0x25, 0x1f, 0x1b, 0x92, 0xbc, 0xb1, 0x71, 0xcd, 0x44, 0x98, 0x28,
- 0x20, 0x09, 0x33, 0x42, 0xfa, 0x04, 0xab, 0xa5, 0x8f, 0x0a, 0x45, 0xd5, 0x20, 0xf5, 0x5d, 0xe8,
- 0x40, 0x93, 0x68, 0x7b, 0x15, 0x80, 0xc5, 0xad, 0xba, 0x30, 0x35, 0xc4, 0xd8, 0xc6, 0x1f, 0x36,
- 0x60, 0xe7, 0x25, 0x50, 0xa3, 0xde, 0x2a, 0xcb, 0x0b, 0xf8, 0x42, 0x63, 0xc0, 0x4a, 0x3c, 0xad,
- 0x01, 0xa5, 0xfa, 0xc2, 0x2a, 0x69, 0x87, 0x78, 0xb6, 0x03, 0x42, 0x11, 0x3b, 0x30, 0xf6, 0x8a,
- 0x29, 0x9b, 0xdf, 0x1e, 0xde, 0x65, 0x4e, 0x03, 0xc0, 0x69, 0xe4, 0x80, 0xdf, 0x67, 0x55, 0xb4,
- 0x46, 0x15, 0x36, 0x05, 0x10, 0x30, 0xf0, 0x86, 0xd3, 0xb4, 0xac, 0x89, 0x65, 0x8f, 0x91, 0x97,
- 0x88, 0xf7, 0x36, 0xbe, 0x3f, 0x38, 0xfe, 0x94, 0x5a, 0xc9, 0x02, 0x27, 0x82, 0x85, 0xbd, 0x7e,
- 0x1b, 0x04, 0xc0, 0xfb, 0x95, 0xd4, 0x02, 0xe4, 0x74, 0x06, 0x18, 0x06, 0x83, 0x2c, 0x99, 0x01,
- 0x13, 0x92, 0x46, 0x99, 0x32, 0xdd, 0x07, 0xbd, 0x79, 0xd3, 0xf8, 0xca, 0xb0, 0xdd, 0x6a, 0xec,
- 0x6f, 0xe7, 0x3a, 0xb8, 0xc2, 0x95, 0x03, 0x46, 0x0b, 0x35, 0x0f, 0xcd, 0x16, 0x90, 0xf9, 0xfd,
- 0x88, 0x3a, 0x09, 0x3d, 0xf5, 0x29, 0xd6, 0xbc, 0xc0, 0xde, 0x4e, 0x6f, 0xa5, 0x3d, 0xd4, 0x59,
- 0x28, 0xe7, 0xc9, 0x41, 0xa3, 0xd1, 0x2a, 0x00, 0x62, 0xd7, 0x34, 0x77, 0x73, 0xbb, 0xab, 0xa9,
- 0xe0, 0xbe, 0x7a, 0x43, 0x07, 0x35, 0x19, 0x41, 0x57, 0x20, 0x3a, 0x1e, 0xc2, 0x38, 0x2a, 0x08,
- 0x34, 0x55, 0x5d, 0x90, 0xfd, 0xd6, 0xe1, 0x9a, 0xe7, 0x88, 0xee, 0x41, 0xb6, 0x1e, 0x14, 0x11,
- 0x38, 0x17, 0x8a, 0x08, 0xa6, 0x79, 0xfa, 0x34, 0x8e, 0x41, 0x2a, 0x78, 0xc6, 0x3b, 0x1a, 0x84,
- 0x20, 0x13, 0xc0, 0x36, 0x89, 0x8d, 0x07, 0x1a, 0xc5, 0x00, 0x79, 0xfc, 0xfc, 0xec, 0x57, 0xab,
- 0x7e, 0xfa, 0x0a, 0xce, 0x43, 0xbf, 0x5a, 0xed, 0x1b, 0x0f, 0x07, 0x1d, 0x17, 0xb4, 0x71, 0x88,
- 0x3c, 0xe6, 0x1a, 0x31, 0x78, 0xd6, 0x89, 0xa6, 0x1a, 0xaa, 0xae, 0xdf, 0x98, 0x5f, 0xbb, 0x66,
- 0xb5, 0x1a, 0xc1, 0xdf, 0xa3, 0x76, 0xaf, 0x61, 0xd5, 0x34, 0x7c, 0xac, 0x45, 0x80, 0x68, 0x5d,
- 0x27, 0x95, 0xb0, 0x5a, 0x75, 0x50, 0x8b, 0x23, 0x6b, 0x1a, 0x63, 0xc6, 0xc9, 0x3b, 0xa7, 0xee,
- 0x90, 0xfe, 0x73, 0x47, 0xfb, 0xa7, 0x5b, 0xd3, 0x77, 0x74, 0x58, 0x04, 0xb6, 0xed, 0xda, 0xe0,
- 0x45, 0x40, 0x43, 0xa9, 0xd9, 0x5b, 0x50, 0xf2, 0x63, 0xa9, 0x21, 0x9b, 0x9e, 0x0f, 0x4c, 0x24,
- 0xb1, 0x04, 0x08, 0x00, 0x92, 0x29, 0x25, 0x59, 0x59, 0x9e, 0x54, 0x2a, 0xc0, 0xbc, 0x4b, 0x79,
- 0x22, 0x0a, 0x4d, 0xdc, 0x8b, 0xbd, 0xc3, 0xc6, 0x1e, 0x1b, 0x83, 0xeb, 0x92, 0x75, 0x8b, 0x93,
- 0x89, 0x13, 0x69, 0x57, 0x12, 0xe3, 0xce, 0x0b, 0xdc, 0x1e, 0xff, 0x83, 0x62, 0x68, 0x9d, 0xde,
- 0x12, 0x03, 0xe3, 0x08, 0x33, 0x0d, 0x68, 0x27, 0x95, 0x40, 0x4c, 0xc0, 0xef, 0xb6, 0x36, 0x33,
- 0x3a, 0x77, 0xd1, 0xbc, 0x02, 0x20, 0xd0, 0x83, 0xad, 0x56, 0x97, 0x82, 0xe5, 0xd3, 0x63, 0x90,
- 0x52, 0xfe, 0x3b, 0xca, 0x63, 0x0c, 0xe0, 0xfc, 0xc4, 0x48, 0xa9, 0x44, 0xc5, 0x50, 0x06, 0x93,
- 0xfe, 0xb0, 0xbd, 0x6a, 0x0c, 0xa8, 0x04, 0x23, 0x92, 0xc9, 0x5d, 0xd9, 0x6e, 0x5e, 0x18, 0xd8,
- 0x8c, 0xd3, 0x80, 0x56, 0x89, 0x60, 0x33, 0x60, 0xc3, 0x96, 0xbd, 0x0d, 0x99, 0xa9, 0x73, 0x06,
- 0xe6, 0xe9, 0x2f, 0xe7, 0x57, 0xd7, 0x57, 0x56, 0x4c, 0x2e, 0x2e, 0x3f, 0x5d, 0x9c, 0x5e, 0x5a,
- 0x3e, 0x01, 0x53, 0xf2, 0xec, 0xfc, 0xc7, 0xcf, 0x97, 0xc7, 0x27, 0x1f, 0x4e, 0xad, 0x3e, 0x2c,
- 0x14, 0x55, 0xe3, 0x46, 0x9c, 0x92, 0x40, 0xa0, 0x91, 0x44, 0x36, 0x97, 0xd7, 0xb8, 0xfe, 0x6a,
- 0x35, 0xe0, 0x48, 0x8d, 0xf2, 0x36, 0x6d, 0xd0, 0x2b, 0xe0, 0x2e, 0x8a, 0x0c, 0x49, 0x73, 0x92,
- 0x4d, 0xae, 0x5b, 0xdf, 0x94, 0x48, 0x6c, 0x0a, 0xcd, 0x6d, 0xca, 0x82, 0x20, 0xd7, 0x6d, 0x13,
- 0xf5, 0x28, 0x98, 0x07, 0x01, 0xe8, 0xd1, 0xd4, 0x36, 0xef, 0x6c, 0x16, 0x9c, 0x4b, 0xfd, 0x6a,
- 0xf8, 0x34, 0x18, 0x26, 0xa3, 0xa3, 0x66, 0xcf, 0x03, 0x9e, 0xa1, 0x5f, 0x75, 0x2b, 0x62, 0x16,
- 0x10, 0xfe, 0xa2, 0xde, 0x43, 0x01, 0xb1, 0x5f, 0x24, 0x20, 0x30, 0x54, 0xa4, 0x97, 0x4e, 0x83,
- 0xad, 0x02, 0x1b, 0x25, 0x7a, 0xaa, 0x98, 0xb9, 0x06, 0x0e, 0x7a, 0x1c, 0x40, 0x2b, 0x02, 0xcb,
- 0x0f, 0x06, 0xc7, 0x95, 0xad, 0x0d, 0x5e, 0x8c, 0x45, 0x6a, 0x7c, 0x74, 0x92, 0x91, 0x6d, 0xe3,
- 0x2f, 0xbc, 0x2d, 0xf2, 0xc2, 0x69, 0x35, 0xac, 0x33, 0xf4, 0xc3, 0x3b, 0xc7, 0xbf, 0x06, 0x8f,
- 0xa5, 0x5a, 0x5d, 0x3e, 0x23, 0x9f, 0xaf, 0xb7, 0x7d, 0x84, 0x7d, 0x0e, 0xc1, 0xb9, 0xe6, 0x7f,
- 0x8b, 0xdb, 0xc4, 0xd4, 0x1f, 0x80, 0x80, 0x82, 0xdf, 0xe2, 0xfa, 0xc0, 0x18, 0x22, 0xc9, 0x0c,
- 0xa1, 0xb6, 0x80, 0x07, 0x61, 0x6a, 0x30, 0x64, 0x9e, 0x9f, 0x53, 0xea, 0xd3, 0x54, 0xa9, 0x46,
- 0xd5, 0x41, 0x1e, 0x10, 0xe4, 0xb7, 0x0d, 0x96, 0x1d, 0x86, 0x3d, 0xcc, 0x03, 0x6e, 0xd2, 0x01,
- 0xbf, 0x8c, 0x9c, 0x58, 0x62, 0x3b, 0x79, 0x1f, 0x04, 0x5f, 0xf2, 0x06, 0x12, 0x30, 0xf2, 0xee,
- 0x0b, 0x63, 0x8f, 0xd9, 0xb6, 0xad, 0x5d, 0xb3, 0xb1, 0x22, 0xb7, 0xe6, 0x68, 0x68, 0xee, 0xed,
- 0xb5, 0x37, 0xca, 0x07, 0xa6, 0x22, 0x99, 0x7c, 0x07, 0x2d, 0x96, 0xd7, 0x95, 0x60, 0x3f, 0x87,
- 0xaf, 0xd2, 0x97, 0x9e, 0xa6, 0xba, 0xde, 0x03, 0x88, 0x09, 0xd5, 0x51, 0x37, 0xe9, 0x4d, 0xc3,
- 0x61, 0x6a, 0xb3, 0xb9, 0x7f, 0x70, 0xb0, 0x11, 0x55, 0x59, 0x94, 0x72, 0xb7, 0xbd, 0xb7, 0xcb,
- 0xa2, 0x94, 0x5a, 0xc6, 0xf7, 0x99, 0x75, 0xdc, 0x41, 0x1d, 0xea, 0x05, 0xf1, 0x04, 0x00, 0xba,
- 0x0a, 0xa7, 0x11, 0x98, 0xc8, 0xcf, 0xcf, 0xab, 0x45, 0x85, 0xba, 0x14, 0x59, 0x5d, 0x96, 0xfe,
- 0x2b, 0x7d, 0xd0, 0xb8, 0x33, 0x0f, 0x8b, 0x94, 0x21, 0x57, 0x82, 0xbb, 0x2d, 0x61, 0x27, 0x73,
- 0xb6, 0xf6, 0x33, 0xd0, 0xfb, 0xa9, 0xca, 0x77, 0xb3, 0x28, 0x58, 0x3e, 0x58, 0xc6, 0x97, 0xc3,
- 0xa2, 0x65, 0x4d, 0x53, 0x44, 0xcb, 0x70, 0xff, 0x30, 0x5a, 0x16, 0x4b, 0x81, 0xa7, 0x21, 0xbc,
- 0x7d, 0xa1, 0xce, 0xfd, 0x47, 0x67, 0x82, 0xfe, 0x96, 0xf3, 0xfc, 0x3c, 0x31, 0x30, 0x70, 0x2c,
- 0x0c, 0xe6, 0x07, 0x5b, 0xbc, 0xc2, 0x7a, 0xc5, 0x93, 0x8d, 0x16, 0xe1, 0x10, 0xa3, 0x6a, 0xbe,
- 0xf6, 0x80, 0x42, 0x1d, 0xc3, 0x6a, 0xf8, 0x08, 0x74, 0x84, 0x71, 0x35, 0x7c, 0x8c, 0xa1, 0xb4,
- 0x13, 0xad, 0x30, 0x3a, 0x3a, 0x72, 0xda, 0x03, 0x73, 0xd4, 0x98, 0x3b, 0x8c, 0xe3, 0xcc, 0x34,
- 0x61, 0x0d, 0x2b, 0x8e, 0x0f, 0x36, 0x87, 0x3b, 0x53, 0x44, 0x3c, 0xdd, 0xfb, 0x0d, 0x6c, 0xf1,
- 0x2c, 0xaa, 0x93, 0x18, 0x03, 0xa7, 0xef, 0xb8, 0xd4, 0xa6, 0xe4, 0x0e, 0x87, 0x80, 0xe1, 0x48,
- 0xb2, 0x80, 0x0d, 0x2c, 0xc0, 0xf9, 0x88, 0xcd, 0xf1, 0xfc, 0x8c, 0xa4, 0x59, 0x28, 0xfe, 0x38,
- 0x10, 0x8b, 0x05, 0xf5, 0x63, 0xca, 0x16, 0x79, 0x6a, 0x0f, 0x34, 0x95, 0xad, 0x0d, 0x66, 0x1c,
- 0xdf, 0x9c, 0x7e, 0xc5, 0x30, 0x47, 0x01, 0xf4, 0x53, 0x78, 0x3a, 0xfd, 0x7d, 0xd0, 0xbb, 0x38,
- 0xc4, 0x26, 0xe8, 0xf9, 0x1c, 0x3d, 0x0a, 0x50, 0x58, 0xa5, 0x2b, 0xe0, 0x8d, 0x60, 0x05, 0x4b,
- 0x3e, 0x04, 0x8c, 0x5b, 0xb0, 0x9b, 0xf0, 0x1b, 0x12, 0xd8, 0x08, 0xcb, 0x23, 0x34, 0x00, 0xb7,
- 0xb5, 0x4f, 0xad, 0x42, 0x0f, 0x0e, 0x14, 0x00, 0xf2, 0x35, 0xc8, 0x56, 0x4a, 0xe6, 0x0b, 0x60,
- 0x14, 0xe8, 0x99, 0xd0, 0xe8, 0x6c, 0x25, 0xac, 0x21, 0xda, 0x67, 0x45, 0xa9, 0xb8, 0x46, 0x52,
- 0xa9, 0xf4, 0x35, 0x74, 0x51, 0xc1, 0x1d, 0x0a, 0xd1, 0x87, 0x31, 0x50, 0xba, 0xa1, 0x9b, 0x20,
- 0xf0, 0x33, 0xe3, 0xa1, 0xad, 0xf4, 0xb0, 0x45, 0x89, 0x68, 0x9f, 0x7a, 0x60, 0xa4, 0x11, 0x45,
- 0xad, 0xd1, 0x9a, 0x0a, 0xef, 0xff, 0x9a, 0x7a, 0x91, 0x8c, 0xa6, 0x60, 0xc1, 0x0c, 0x9b, 0x0d,
- 0xe6, 0x7c, 0x0a, 0x90, 0x9a, 0xc5, 0xff, 0x97, 0xb1, 0x79, 0xd4, 0xdf, 0x8d, 0x22, 0x03, 0x7d,
- 0x2f, 0xef, 0x7b, 0x14, 0x8c, 0xb6, 0x16, 0xe7, 0xef, 0xa1, 0x06, 0xc2, 0xb5, 0x20, 0x7e, 0x50,
- 0xf2, 0x35, 0x0e, 0x1b, 0xab, 0x16, 0x5b, 0xa5, 0x01, 0xd2, 0xa5, 0x71, 0xb8, 0x39, 0xa0, 0xcf,
- 0x4c, 0xe3, 0xbc, 0xef, 0xcb, 0x43, 0xd2, 0xc8, 0xd3, 0x2d, 0x70, 0x90, 0x64, 0x67, 0x57, 0x02,
- 0x32, 0x2e, 0x30, 0x1d, 0xd4, 0x78, 0x36, 0xbe, 0x0b, 0x7d, 0x79, 0xc9, 0xeb, 0xfe, 0x2d, 0xec,
- 0x85, 0x7a, 0xc5, 0xdb, 0x65, 0x78, 0x05, 0xdf, 0x52, 0x47, 0x23, 0x49, 0x8e, 0x3e, 0xa3, 0x57,
- 0xca, 0x6c, 0xbb, 0x66, 0xbb, 0x48, 0x76, 0xef, 0x83, 0x4c, 0x7f, 0xc1, 0x4d, 0x00, 0xcc, 0x08,
- 0x83, 0x80, 0x21, 0xa8, 0x55, 0xa4, 0xf8, 0xd1, 0xd2, 0x97, 0x54, 0x80, 0x2c, 0xf9, 0x2b, 0x85,
- 0x46, 0x21, 0x07, 0x3d, 0x5e, 0xd3, 0x0a, 0xfc, 0xcc, 0x89, 0xd7, 0x6a, 0xe9, 0xc2, 0x2a, 0x5c,
- 0x3a, 0x6b, 0xc8, 0xec, 0x15, 0x8d, 0x8f, 0x07, 0x2f, 0x20, 0x60, 0x13, 0x27, 0xe8, 0x23, 0x86,
- 0x78, 0x07, 0xac, 0xe6, 0x4f, 0x46, 0x3c, 0x72, 0xc6, 0x60, 0xb0, 0xc0, 0xff, 0x8e, 0xda, 0x0d,
- 0xee, 0xc5, 0x82, 0x88, 0xdd, 0xee, 0x18, 0x0b, 0x55, 0x09, 0x3f, 0xc6, 0x4a, 0xe5, 0xa5, 0x64,
- 0xd4, 0x6b, 0x0e, 0xa0, 0x78, 0x27, 0x00, 0x5a, 0x7f, 0xa0, 0x4a, 0x3f, 0x74, 0xe9, 0x8e, 0x91,
- 0xd0, 0x38, 0x01, 0x75, 0xe5, 0x30, 0xef, 0xcd, 0x7c, 0xe1, 0xe4, 0x87, 0x2b, 0x4b, 0x9c, 0x06,
- 0xb5, 0x29, 0xa7, 0x94, 0x56, 0x6b, 0xb7, 0x25, 0x4e, 0x4a, 0xf6, 0xd0, 0x93, 0x46, 0xe9, 0xdf,
- 0x3e, 0xc4, 0x43, 0x90, 0xbe, 0x7c, 0x2e, 0x04, 0x2a, 0xa0, 0x50, 0x55, 0x82, 0x42, 0x78, 0xc1,
- 0xf0, 0xee, 0x80, 0x60, 0xc2, 0x30, 0xc9, 0x9a, 0x37, 0x8e, 0x81, 0x37, 0xa6, 0xf5, 0x41, 0x98,
- 0x83, 0xac, 0x8a, 0xc1, 0x00, 0x23, 0x45, 0x3c, 0x07, 0x76, 0xfa, 0xf2, 0x84, 0x0b, 0x23, 0x57,
- 0x50, 0xc0, 0x3c, 0x66, 0xd5, 0x03, 0x76, 0x86, 0x97, 0xd4, 0x9d, 0x16, 0xef, 0x95, 0xc0, 0x48,
- 0x4b, 0x44, 0x94, 0xcf, 0x9e, 0x32, 0xe9, 0xda, 0xc1, 0x2d, 0xc9, 0xea, 0xc0, 0xb2, 0xe7, 0x0e,
- 0xbe, 0xc1, 0x06, 0x03, 0xab, 0x7b, 0x9e, 0xf3, 0xd5, 0x55, 0xf9, 0x8d, 0x0d, 0xdd, 0x0b, 0x72,
- 0x86, 0xbf, 0x15, 0xe5, 0x5e, 0x89, 0xe4, 0xfb, 0xab, 0xcb, 0xe7, 0xb4, 0xa7, 0x54, 0x1b, 0x49,
- 0x2f, 0x52, 0x2c, 0x00, 0x48, 0x65, 0x91, 0x05, 0xb8, 0x39, 0x8e, 0x16, 0xd6, 0x7a, 0xdc, 0xb2,
- 0x08, 0x6d, 0x9e, 0x2e, 0x85, 0x87, 0xb2, 0xce, 0xb9, 0xc8, 0xa4, 0x0a, 0xfb, 0xc3, 0x60, 0x01,
- 0xf7, 0x38, 0x16, 0x8f, 0x42, 0x88, 0xf6, 0x35, 0xf5, 0xb8, 0x8f, 0xde, 0x6f, 0x18, 0xf1, 0x90,
- 0x71, 0x3c, 0x9d, 0x20, 0xc5, 0x49, 0x62, 0x33, 0x87, 0xf0, 0x1c, 0xde, 0x74, 0x1e, 0x1f, 0xd9,
- 0x6d, 0x6c, 0x8e, 0xcf, 0xa5, 0xde, 0x5b, 0x4e, 0x46, 0xa1, 0xfd, 0x18, 0x67, 0xc6, 0x03, 0x52,
- 0x1e, 0x46, 0xa1, 0x90, 0xf2, 0x62, 0x90, 0xeb, 0xa7, 0xb7, 0xe0, 0x44, 0x5d, 0x7f, 0x52, 0xd1,
- 0xfc, 0xc8, 0x42, 0x75, 0x53, 0xf0, 0xb3, 0x33, 0x6a, 0x90, 0x78, 0xc3, 0xef, 0xb9, 0x2b, 0x31,
- 0xa5, 0x02, 0xb1, 0x85, 0x86, 0x52, 0x87, 0x1d, 0x65, 0x26, 0xa4, 0x9f, 0x05, 0xce, 0x93, 0x9b,
- 0xfe, 0xd7, 0x0e, 0xf7, 0x0f, 0x12, 0x39, 0x5e, 0xb5, 0x94, 0x6c, 0x01, 0xb0, 0x1d, 0x9e, 0x9c,
- 0x64, 0x2c, 0x8f, 0x1b, 0x9a, 0x41, 0x61, 0xe5, 0xaa, 0xdc, 0xde, 0x94, 0x05, 0xf7, 0xd0, 0x97,
- 0x00, 0x21, 0x5c, 0x66, 0x16, 0xe6, 0x9c, 0x05, 0xb0, 0x9f, 0xbd, 0x58, 0x02, 0x1d, 0x78, 0x19,
- 0xcf, 0x0f, 0x37, 0x9a, 0x94, 0x9c, 0x5b, 0x19, 0x42, 0xcd, 0xfd, 0xfd, 0x02, 0x83, 0x3b, 0xce,
- 0x61, 0x03, 0x54, 0xa8, 0x7a, 0x7b, 0xcb, 0x60, 0xbe, 0xbd, 0x85, 0x7d, 0x9c, 0x2f, 0x7a, 0xab,
- 0x92, 0x0f, 0x28, 0xaa, 0xd2, 0x40, 0x36, 0x58, 0xb0, 0xb0, 0xb5, 0x46, 0x01, 0xb2, 0x17, 0x78,
- 0x5b, 0x5b, 0x3b, 0x70, 0x94, 0x26, 0xd1, 0x99, 0x81, 0xa6, 0x6b, 0x01, 0xb9, 0xf9, 0x8a, 0xe4,
- 0x1a, 0xc8, 0x68, 0x62, 0xa1, 0x64, 0x89, 0x42, 0x57, 0x6d, 0x00, 0x76, 0xe8, 0x90, 0x79, 0x92,
- 0x48, 0xe2, 0x5a, 0x04, 0x83, 0xf4, 0x28, 0xab, 0xb1, 0x02, 0x23, 0x9b, 0xc7, 0x8e, 0x08, 0xe8,
- 0x74, 0x4d, 0x17, 0x9e, 0x26, 0x9a, 0xe3, 0x8d, 0xf6, 0x66, 0x39, 0x88, 0x61, 0x8d, 0x15, 0x62,
- 0x64, 0x66, 0x6e, 0xfc, 0xe2, 0x49, 0x78, 0xe6, 0x4a, 0x92, 0x08, 0x09, 0x69, 0x19, 0xb5, 0x45,
- 0xa9, 0x04, 0x84, 0x62, 0xd3, 0xa5, 0x3d, 0x0f, 0x92, 0xc8, 0xd1, 0x22, 0x90, 0xda, 0x81, 0x7c,
- 0x4c, 0xc3, 0xfa, 0xf1, 0x96, 0x8c, 0x7f, 0x60, 0xb7, 0x37, 0x34, 0x4c, 0x27, 0xa8, 0xbc, 0x66,
- 0x02, 0xce, 0xd5, 0x71, 0x9a, 0x30, 0x00, 0x24, 0x0d, 0x16, 0x51, 0x22, 0x4e, 0xe6, 0x95, 0x24,
- 0x54, 0x26, 0x91, 0x37, 0xf6, 0x98, 0x12, 0xe1, 0x6c, 0xcd, 0x75, 0x6b, 0xd3, 0xdc, 0x52, 0x45,
- 0x31, 0x56, 0x76, 0x32, 0x97, 0x20, 0xe6, 0x46, 0xff, 0x2e, 0xe7, 0x60, 0xae, 0xc0, 0xfa, 0x8c,
- 0x97, 0xcd, 0x43, 0xee, 0x3a, 0x60, 0x6c, 0x47, 0x37, 0xe4, 0x48, 0x08, 0xf0, 0x71, 0x1f, 0xa9,
- 0x0a, 0xbc, 0x88, 0xbe, 0x21, 0x6c, 0x48, 0xf0, 0x23, 0x84, 0xae, 0x15, 0xeb, 0x4b, 0x03, 0x6a,
- 0xfc, 0x15, 0x64, 0x91, 0x56, 0xbc, 0x25, 0x24, 0x20, 0x3e, 0xdf, 0x96, 0x3e, 0x8c, 0x5b, 0xa9,
- 0xf8, 0x78, 0x36, 0xed, 0x1b, 0xd3, 0x20, 0x76, 0x06, 0x14, 0x7c, 0x92, 0xac, 0x44, 0x12, 0xbb,
- 0xb3, 0x65, 0x69, 0x10, 0xf2, 0x93, 0xb9, 0x1f, 0x01, 0x9c, 0xa1, 0x0d, 0x85, 0x9c, 0x90, 0x00,
- 0xe5, 0x3e, 0x0b, 0x03, 0xf5, 0xf8, 0x1f, 0x2b, 0xe9, 0x84, 0x4c, 0x12, 0xa4, 0xb6, 0x8f, 0x86,
- 0xdb, 0x2e, 0x20, 0x46, 0x60, 0xf1, 0x50, 0x43, 0x33, 0xc9, 0x3e, 0x36, 0x19, 0xda, 0xea, 0x8d,
- 0x5a, 0x5b, 0x56, 0x46, 0x74, 0xe2, 0x3b, 0x50, 0xbd, 0xf3, 0x5f, 0xbc, 0xef, 0x3f, 0x35, 0xed,
- 0xe6, 0xbf, 0xf4, 0xaf, 0x7f, 0xd1, 0xff, 0xa9, 0xef, 0x10, 0xf5, 0xcf, 0x0d, 0x55, 0xaf, 0xa9,
- 0x5f, 0x41, 0xd2, 0x69, 0x15, 0xd8, 0xe3, 0x34, 0xcc, 0xf4, 0xfc, 0xec, 0xa2, 0x0b, 0x8f, 0x2f,
- 0x00, 0xcc, 0x90, 0x99, 0x57, 0x69, 0x25, 0x01, 0xdf, 0x48, 0xeb, 0xdb, 0x13, 0x80, 0x08, 0xa6,
- 0x66, 0x6e, 0x1e, 0xb0, 0x78, 0x5f, 0x3c, 0xda, 0x03, 0xe3, 0x5b, 0xe8, 0x05, 0xda, 0xea, 0xa9,
- 0x82, 0x32, 0xec, 0x0d, 0x2d, 0x55, 0x05, 0x62, 0x21, 0x38, 0x64, 0xd4, 0xd3, 0xa6, 0xbd, 0xca,
- 0xac, 0x5a, 0x45, 0x81, 0x0e, 0x50, 0x03, 0xaa, 0x4c, 0xdd, 0x12, 0x87, 0x5b, 0x58, 0x46, 0xc6,
- 0x3d, 0x2e, 0xeb, 0x2d, 0x47, 0x90, 0x86, 0x6e, 0x65, 0x45, 0xb1, 0xc6, 0xb4, 0x8c, 0xae, 0x15,
- 0x84, 0xb0, 0xb2, 0xb3, 0x16, 0x95, 0x14, 0xf8, 0xdd, 0x21, 0x3f, 0xbf, 0xc5, 0x23, 0x35, 0xf6,
- 0x90, 0x2d, 0xc0, 0xe7, 0xef, 0xcc, 0x66, 0x6a, 0xb7, 0x0f, 0x4a, 0x55, 0xca, 0x36, 0xf9, 0x2a,
- 0x3c, 0xbe, 0x93, 0x3a, 0x0a, 0x51, 0xc6, 0x0d, 0x8e, 0xef, 0x2b, 0x63, 0x76, 0x24, 0xa8, 0x84,
- 0x01, 0xba, 0x09, 0x99, 0x09, 0x4b, 0x79, 0xf4, 0x61, 0x53, 0xc0, 0xab, 0xd0, 0x06, 0x2a, 0x95,
- 0x14, 0x28, 0x46, 0x43, 0x2d, 0x02, 0x4f, 0x72, 0x2e, 0x42, 0xfc, 0x2b, 0xc7, 0x01, 0xa6, 0xa4,
- 0xfe, 0xcd, 0x85, 0xbe, 0x3c, 0x0e, 0x8d, 0xf8, 0x01, 0x68, 0xaa, 0xa1, 0x98, 0x0d, 0x6d, 0x16,
- 0xf1, 0x67, 0xb3, 0x85, 0x4c, 0x16, 0x66, 0xd9, 0x25, 0xec, 0x84, 0xed, 0x9e, 0xce, 0x62, 0xf5,
- 0xa5, 0xf3, 0x35, 0x76, 0x02, 0xa9, 0xe1, 0x1f, 0x3b, 0x14, 0x76, 0x3a, 0xba, 0xf3, 0x1b, 0x65,
- 0x00, 0x67, 0x73, 0x98, 0xe3, 0x06, 0xe4, 0x7c, 0x3f, 0x8c, 0x68, 0xfd, 0x5b, 0x7c, 0x0b, 0xe6,
- 0x2e, 0x78, 0x58, 0x20, 0xf0, 0xbf, 0x62, 0xe6, 0x52, 0x51, 0x05, 0x3a, 0x7f, 0x12, 0x34, 0x1e,
- 0x88, 0xe8, 0xd6, 0x7a, 0x40, 0x02, 0xa5, 0xf0, 0x21, 0xc6, 0xe3, 0xc3, 0x34, 0xb2, 0x50, 0xc6,
- 0xf0, 0x4b, 0x42, 0xe2, 0x8b, 0xc0, 0x3f, 0x76, 0xc6, 0xb5, 0x49, 0x2f, 0xb1, 0xd0, 0xdb, 0xd4,
- 0x35, 0x35, 0x8d, 0xde, 0xab, 0xa8, 0x82, 0x8c, 0xc9, 0x34, 0x1e, 0x69, 0x73, 0x51, 0x66, 0xa9,
- 0x2d, 0xa3, 0x69, 0x1a, 0x4d, 0x95, 0x8c, 0xc1, 0x90, 0xb6, 0xa2, 0x9e, 0x3a, 0x99, 0x46, 0x54,
- 0xb5, 0x54, 0x1e, 0x9c, 0x53, 0x61, 0xa7, 0x26, 0xb3, 0xc8, 0x1b, 0x8e, 0x12, 0x4b, 0xfd, 0xef,
- 0xff, 0xab, 0x34, 0xcd, 0x66, 0x53, 0x79, 0x47, 0x03, 0x2f, 0x56, 0x2e, 0x60, 0x98, 0x7b, 0x58,
- 0xd9, 0x83, 0xa2, 0xfd, 0xe6, 0x87, 0x5e, 0x14, 0xf6, 0xef, 0x8d, 0x68, 0xaa, 0xab, 0xe8, 0xe0,
- 0x1e, 0xb6, 0xcc, 0x96, 0x14, 0xdc, 0xc5, 0xd0, 0xa0, 0x01, 0x1e, 0xa9, 0x0f, 0x6a, 0x95, 0x3d,
- 0x0f, 0xfc, 0xb0, 0x94, 0x66, 0x39, 0x12, 0x6a, 0x34, 0x25, 0xc7, 0xa8, 0x62, 0x47, 0xcf, 0xcf,
- 0x78, 0x74, 0x18, 0xf5, 0x60, 0xeb, 0xa3, 0xae, 0xd9, 0x0b, 0xac, 0x44, 0xd7, 0xd8, 0x51, 0x37,
- 0xfa, 0x4e, 0x45, 0xe1, 0x30, 0x98, 0x1f, 0x11, 0xc8, 0x26, 0x1b, 0x7b, 0xc1, 0x66, 0x1a, 0xa0,
- 0x30, 0x24, 0xd0, 0x27, 0x5a, 0x93, 0x87, 0xa6, 0xb9, 0xdf, 0x00, 0xeb, 0x6b, 0xb7, 0xbd, 0xdf,
- 0x36, 0x0f, 0x0f, 0x1b, 0xba, 0x65, 0x32, 0x0b, 0xc6, 0xdc, 0x6c, 0xd6, 0x21, 0x93, 0xf2, 0x13,
- 0xa1, 0x35, 0xef, 0xb2, 0xf4, 0x4c, 0x97, 0xa5, 0x86, 0xed, 0xbe, 0xe0, 0xd3, 0xb6, 0x4c, 0x34,
- 0x74, 0x70, 0xe0, 0x4b, 0x27, 0x18, 0x6e, 0xa3, 0x91, 0x19, 0x15, 0xa3, 0xce, 0x0c, 0x7e, 0x48,
- 0x04, 0xd3, 0x7b, 0x9a, 0xfa, 0x25, 0x0a, 0x83, 0xa1, 0x12, 0x0e, 0x06, 0x68, 0xf3, 0xca, 0x41,
- 0x00, 0x82, 0x33, 0x6c, 0xf6, 0x96, 0x18, 0x2e, 0xb7, 0x00, 0x61, 0xe9, 0x15, 0x73, 0x00, 0x92,
- 0x23, 0x73, 0x09, 0xc0, 0xf5, 0x88, 0x66, 0xc1, 0x6d, 0x10, 0x3e, 0x28, 0x82, 0xee, 0xa8, 0xe2,
- 0x83, 0xb5, 0xad, 0x24, 0x23, 0x27, 0x50, 0x4c, 0x29, 0x82, 0x83, 0x18, 0xdf, 0x3d, 0x6c, 0x6d,
- 0x69, 0xbb, 0x30, 0x93, 0x05, 0xd5, 0x30, 0x06, 0x08, 0xb8, 0x1a, 0xc6, 0xd0, 0xb8, 0x50, 0xc3,
- 0x60, 0x03, 0x71, 0x35, 0xcc, 0xf3, 0xcf, 0xdc, 0x9c, 0x33, 0x07, 0xda, 0x17, 0x8f, 0xc3, 0x2f,
- 0x52, 0x3b, 0x40, 0x2d, 0x0f, 0x9c, 0x63, 0x0c, 0xc6, 0x63, 0xde, 0xaf, 0x93, 0x4b, 0x6b, 0x11,
- 0x56, 0x10, 0x58, 0xea, 0x94, 0x4c, 0xd9, 0xb2, 0x79, 0x96, 0x48, 0x76, 0xde, 0x0d, 0xf6, 0x8a,
- 0x96, 0xb0, 0xac, 0x4e, 0x67, 0xea, 0x03, 0xee, 0x09, 0xee, 0x50, 0xc4, 0xa3, 0x6a, 0xa8, 0xe5,
- 0xd8, 0x88, 0x41, 0x36, 0x62, 0x20, 0xcc, 0x16, 0xf7, 0x35, 0x66, 0xcb, 0xea, 0x19, 0xbb, 0x98,
- 0x13, 0xd4, 0xfc, 0x1d, 0x8d, 0xf0, 0x94, 0x47, 0x13, 0x09, 0x13, 0xe8, 0xd1, 0x16, 0xa1, 0x75,
- 0xf7, 0x50, 0xc8, 0x1b, 0x86, 0xc3, 0x8d, 0xbb, 0x8b, 0x41, 0xac, 0x54, 0x9f, 0x66, 0x5b, 0x86,
- 0x41, 0x29, 0x10, 0x37, 0x49, 0x4d, 0x55, 0xd1, 0x86, 0xda, 0x3b, 0x5c, 0x37, 0xda, 0xc1, 0x9c,
- 0x8e, 0x6e, 0x8a, 0x73, 0x10, 0xbe, 0xda, 0xea, 0x6f, 0xaa, 0x14, 0xb7, 0x55, 0x6f, 0xc4, 0x62,
- 0x7f, 0xfb, 0x2a, 0xd9, 0x16, 0xc0, 0xef, 0x04, 0x93, 0x11, 0x4b, 0x95, 0x21, 0x6f, 0xd7, 0x79,
- 0xe9, 0x9c, 0x4f, 0x61, 0x61, 0xa6, 0x95, 0x73, 0xbe, 0x34, 0x4d, 0x80, 0x9f, 0x3d, 0x17, 0x86,
- 0xb6, 0x52, 0x9f, 0xc3, 0x04, 0xaa, 0x63, 0x72, 0x25, 0x72, 0x02, 0x37, 0x1c, 0x6b, 0x3c, 0x8e,
- 0xdd, 0x30, 0xa4, 0x08, 0xf6, 0xc6, 0x00, 0x58, 0x6a, 0x35, 0xd5, 0x34, 0x39, 0x27, 0x42, 0xb5,
- 0x30, 0x59, 0x49, 0xbf, 0x55, 0x6b, 0x8e, 0x56, 0xab, 0x85, 0x35, 0x8f, 0xb4, 0xf6, 0xd8, 0x31,
- 0x40, 0xcb, 0x2c, 0x3c, 0x7e, 0x68, 0xe5, 0x22, 0x3c, 0x18, 0xda, 0xcf, 0x45, 0x5d, 0xd6, 0xe2,
- 0x57, 0xa2, 0xd6, 0x4b, 0xc0, 0xf0, 0x03, 0x8f, 0x05, 0x07, 0xde, 0x6d, 0xbd, 0x7c, 0x90, 0x90,
- 0x9f, 0xa3, 0xf0, 0xf4, 0xa0, 0xdd, 0x2c, 0x3b, 0x3e, 0x90, 0x1b, 0x2f, 0x74, 0x22, 0x85, 0x2f,
- 0x52, 0x43, 0xa0, 0xdd, 0xcc, 0x3b, 0xfe, 0x2b, 0x59, 0x0f, 0x48, 0x2c, 0x9b, 0xdd, 0x69, 0xa6,
- 0xf6, 0xf3, 0xd6, 0x38, 0x37, 0x00, 0x62, 0x81, 0x24, 0x26, 0x05, 0x78, 0xf0, 0xaf, 0x8f, 0xf1,
- 0xba, 0xc7, 0xfb, 0x58, 0x78, 0xd2, 0x1c, 0x23, 0xe8, 0x49, 0x57, 0xab, 0xae, 0x01, 0xa6, 0x37,
- 0x18, 0xe1, 0xe0, 0x3e, 0x5b, 0xec, 0xf5, 0xd1, 0x03, 0xcb, 0x68, 0x9a, 0x5c, 0xb1, 0x40, 0x2d,
- 0x70, 0x68, 0xb9, 0x7d, 0x05, 0x3c, 0xdc, 0x67, 0x21, 0xf0, 0x0a, 0x3b, 0x49, 0x4d, 0xfd, 0x14,
- 0x81, 0xf6, 0x3e, 0x1e, 0xdd, 0x09, 0xce, 0x11, 0x3b, 0x6f, 0x80, 0xad, 0xd5, 0x89, 0xd1, 0x8b,
- 0x71, 0xa1, 0x5f, 0x0f, 0x5b, 0xd8, 0x2e, 0xfc, 0x58, 0xec, 0x09, 0xec, 0xee, 0x69, 0x6f, 0x8a,
- 0x47, 0xc6, 0x13, 0xf8, 0x49, 0x39, 0x1b, 0xab, 0x90, 0x18, 0xda, 0xb9, 0x34, 0xf0, 0xf5, 0xc4,
- 0xdf, 0x12, 0x11, 0xd9, 0xdc, 0x33, 0x39, 0x6e, 0x30, 0x02, 0xc9, 0x71, 0x83, 0x9a, 0x47, 0xe4,
- 0x03, 0xb3, 0xf8, 0x43, 0x3f, 0x3b, 0x3a, 0x72, 0x73, 0x92, 0x1e, 0xf0, 0x13, 0x49, 0x79, 0xba,
- 0x13, 0x7b, 0x0a, 0x00, 0x4a, 0x16, 0xee, 0xc0, 0x9e, 0x54, 0xab, 0x13, 0x74, 0x71, 0xc1, 0xc3,
- 0xf0, 0x0c, 0x29, 0x7b, 0x0f, 0x7c, 0x0b, 0xcf, 0x28, 0x4e, 0xac, 0x03, 0xff, 0xa2, 0xd2, 0x2f,
- 0x88, 0x39, 0x62, 0x98, 0x7f, 0x2d, 0x27, 0x56, 0x6b, 0x4a, 0x62, 0x66, 0x80, 0x46, 0x24, 0x8f,
- 0x84, 0x5a, 0x0d, 0x62, 0x5a, 0x2d, 0x90, 0x36, 0x3a, 0x69, 0x61, 0xf8, 0x98, 0x27, 0x6f, 0x90,
- 0x07, 0x7b, 0x08, 0xb8, 0x35, 0x4a, 0x53, 0x1c, 0xab, 0xd5, 0xb2, 0x99, 0xa7, 0xd2, 0x4c, 0x14,
- 0x57, 0xa4, 0x35, 0xf0, 0x34, 0x09, 0x1f, 0x54, 0xb0, 0x8f, 0xe0, 0xc5, 0x64, 0xf3, 0x98, 0x60,
- 0x6b, 0x35, 0x97, 0x33, 0x76, 0x66, 0x1a, 0x8b, 0x24, 0x49, 0x16, 0x3e, 0x50, 0xc6, 0x98, 0x9b,
- 0xf0, 0x22, 0xfb, 0x2c, 0xd6, 0x56, 0x0f, 0x76, 0xbb, 0x8d, 0x5e, 0x56, 0x04, 0xe3, 0x08, 0xaf,
- 0x1d, 0x27, 0x09, 0x58, 0x16, 0x13, 0x6a, 0x92, 0xa1, 0x2e, 0xad, 0x1b, 0x87, 0x03, 0x0f, 0x2f,
- 0xd1, 0xc5, 0x4e, 0xe3, 0xbb, 0x18, 0x0b, 0xf6, 0x18, 0x55, 0x08, 0xec, 0xa1, 0xc9, 0xbc, 0xea,
- 0x5a, 0xd2, 0x8d, 0xf4, 0x4c, 0x8d, 0x70, 0xd5, 0xcf, 0x5b, 0x82, 0xc4, 0xc6, 0xf4, 0xba, 0x4e,
- 0xff, 0xc8, 0xeb, 0xe8, 0x2c, 0x6d, 0x34, 0xa9, 0xf5, 0xc1, 0x89, 0xb9, 0xe9, 0xd7, 0x6a, 0xb0,
- 0x16, 0x52, 0x19, 0x3e, 0x3f, 0x3f, 0xa0, 0xd8, 0x49, 0x50, 0x5e, 0x67, 0x59, 0x4d, 0x01, 0x2a,
- 0x35, 0x96, 0xeb, 0x68, 0x27, 0x37, 0x11, 0xcb, 0x6f, 0xcc, 0xcc, 0xcc, 0x30, 0x03, 0x32, 0xe5,
- 0x90, 0x0e, 0xcf, 0x84, 0xc4, 0x96, 0xf6, 0x5c, 0x94, 0xe1, 0xf1, 0x4a, 0x86, 0x5b, 0xa8, 0xd0,
- 0x3c, 0x92, 0x12, 0x07, 0xac, 0x4a, 0x5f, 0xbe, 0x2c, 0x02, 0x63, 0x28, 0xa7, 0x20, 0x14, 0x5d,
- 0x0d, 0x90, 0xce, 0x8d, 0xc5, 0x90, 0xcb, 0x12, 0x39, 0xd5, 0x10, 0x17, 0xf8, 0xfc, 0x8c, 0x5b,
- 0x5b, 0x7e, 0xbe, 0x9b, 0xe9, 0x81, 0xa2, 0x89, 0xc4, 0xc1, 0x73, 0x7a, 0x94, 0xc5, 0xde, 0x30,
- 0xc6, 0x42, 0xf8, 0xe5, 0x8c, 0x1c, 0xff, 0x81, 0x94, 0x69, 0xe3, 0xc9, 0x3b, 0x38, 0x8d, 0x18,
- 0x43, 0x22, 0xe2, 0x60, 0x91, 0xc4, 0xc4, 0x27, 0x7d, 0xe2, 0x92, 0x29, 0x99, 0x90, 0x01, 0x19,
- 0x93, 0x19, 0x19, 0x92, 0x07, 0x32, 0x22, 0x8f, 0xe4, 0x8e, 0x9c, 0x62, 0xa4, 0xe9, 0x03, 0x1e,
- 0x80, 0x3d, 0xd9, 0x37, 0x5f, 0xc9, 0x39, 0x3e, 0xdd, 0x63, 0xd9, 0x09, 0xfe, 0x5c, 0xd9, 0xaa,
- 0x4a, 0xae, 0xf1, 0xe9, 0x13, 0x3e, 0x1d, 0xdb, 0xea, 0x8e, 0xca, 0x86, 0xff, 0x46, 0x3e, 0x92,
- 0x5b, 0x72, 0x41, 0x2e, 0xc9, 0x19, 0x79, 0x4f, 0x3e, 0x83, 0x46, 0x7a, 0x0b, 0x0d, 0x96, 0xdb,
- 0xf5, 0x0e, 0xf0, 0x76, 0x66, 0xf4, 0x7d, 0x27, 0x8e, 0x3f, 0x78, 0x71, 0x02, 0x5e, 0xf7, 0x38,
- 0x7c, 0xa0, 0x9a, 0x3a, 0xf2, 0x5c, 0xcc, 0xf9, 0xb8, 0x2c, 0xaf, 0x7a, 0x9b, 0x52, 0xa7, 0xd9,
- 0x7b, 0x5f, 0xda, 0xca, 0x92, 0xab, 0x1c, 0xd7, 0xcd, 0x7a, 0x87, 0x25, 0xe5, 0x51, 0x49, 0x79,
- 0x52, 0x5c, 0xbe, 0xc8, 0x16, 0xf2, 0x25, 0xe7, 0xe5, 0x2c, 0x43, 0x3e, 0x1a, 0x28, 0x0a, 0xc7,
- 0xbd, 0x4a, 0x9c, 0x28, 0x01, 0xe7, 0x5b, 0x35, 0xe5, 0x3e, 0x3f, 0xc3, 0xe2, 0x3f, 0x60, 0x70,
- 0xd6, 0x88, 0xfb, 0x51, 0xe8, 0xfb, 0xd7, 0xe1, 0xc4, 0x4e, 0x9f, 0xdf, 0x53, 0x74, 0x64, 0xa4,
- 0xc6, 0x3f, 0x89, 0x9d, 0x87, 0xdf, 0x27, 0xfb, 0x09, 0xa3, 0x9e, 0x40, 0x0f, 0xe8, 0x07, 0xe0,
- 0x1b, 0x8f, 0x64, 0xd4, 0xc1, 0x40, 0xe6, 0xbb, 0x9a, 0x30, 0x24, 0x03, 0xfb, 0xb0, 0x2d, 0x06,
- 0x5e, 0xa3, 0x47, 0x4f, 0x02, 0x5f, 0x1d, 0x5a, 0xab, 0xe9, 0x49, 0xcd, 0xc6, 0x34, 0xdc, 0x4e,
- 0x9a, 0x14, 0x86, 0x81, 0x1d, 0x91, 0xd5, 0x75, 0x32, 0x3b, 0x87, 0xe5, 0x61, 0x50, 0x35, 0xf4,
- 0xe9, 0x5b, 0x7e, 0x31, 0x48, 0xd5, 0x0d, 0x2f, 0x08, 0x68, 0xf4, 0xfe, 0xfa, 0xe3, 0x07, 0x3b,
- 0x21, 0x00, 0xf7, 0x62, 0x09, 0xd8, 0x6f, 0x08, 0x12, 0x9b, 0x94, 0x11, 0x74, 0x62, 0xff, 0xf5,
- 0xea, 0xd3, 0x4f, 0xb0, 0xe8, 0x28, 0xa6, 0x08, 0xde, 0x4f, 0x1a, 0x7b, 0xe7, 0xda, 0xc6, 0x1b,
- 0x60, 0x16, 0x11, 0xcb, 0x2a, 0x54, 0x15, 0x8c, 0xa0, 0xfc, 0x13, 0x73, 0xda, 0x39, 0x61, 0x03,
- 0xf6, 0x60, 0x8d, 0xa2, 0x68, 0x39, 0xfc, 0xaf, 0xe9, 0xf0, 0x3c, 0x35, 0x37, 0xc8, 0x0f, 0xbf,
- 0xec, 0x2b, 0x30, 0xff, 0x2f, 0x4d, 0x65, 0xca, 0xc0, 0x52, 0xbe, 0xc5, 0xd0, 0xdb, 0x75, 0x12,
- 0x07, 0x8c, 0x79, 0xaa, 0x78, 0x69, 0x3a, 0x7d, 0xe5, 0xe8, 0x2e, 0xda, 0xe9, 0x62, 0x10, 0x81,
- 0x30, 0xc1, 0x80, 0x78, 0xc5, 0x68, 0x7b, 0x25, 0x30, 0xf8, 0xc5, 0x28, 0x50, 0x8f, 0x81, 0xd1,
- 0x1f, 0xbb, 0xec, 0x2f, 0xf6, 0xd7, 0x97, 0x43, 0x73, 0x01, 0x25, 0xfc, 0x51, 0x05, 0xd9, 0x8e,
- 0xde, 0x7d, 0x3e, 0x57, 0xa5, 0xa1, 0x98, 0x3b, 0x63, 0xf3, 0x8e, 0x24, 0x30, 0xce, 0xbe, 0xfc,
- 0xcc, 0x1b, 0xeb, 0xf3, 0x39, 0xdf, 0x8b, 0x52, 0x94, 0xc3, 0xa8, 0x1f, 0xbc, 0xe0, 0x9e, 0x19,
- 0xf6, 0x4b, 0x6c, 0xab, 0x0f, 0x6a, 0x4d, 0x1a, 0x06, 0x84, 0x3c, 0x90, 0xdf, 0xe9, 0x03, 0xf4,
- 0x42, 0x5a, 0xa4, 0xd0, 0x0c, 0x36, 0x0b, 0x76, 0xff, 0x3e, 0x1f, 0xb6, 0xe1, 0x73, 0x31, 0x25,
- 0x75, 0xf9, 0x01, 0xa8, 0x35, 0x49, 0x26, 0xd6, 0xce, 0x8e, 0x5a, 0xe3, 0x82, 0xc1, 0xf0, 0xc5,
- 0x85, 0x02, 0x63, 0x14, 0xc6, 0x60, 0x09, 0xef, 0xf0, 0x18, 0x07, 0x4c, 0x2d, 0xea, 0xc1, 0x2a,
- 0x42, 0x67, 0x42, 0xbd, 0xbd, 0xf3, 0x1d, 0x04, 0x09, 0x4d, 0x1c, 0x58, 0x58, 0x29, 0xec, 0x34,
- 0x9e, 0x70, 0xd8, 0xff, 0x78, 0xe8, 0x56, 0x60, 0x42, 0x50, 0x72, 0xdc, 0xb8, 0x22, 0x16, 0x00,
- 0x57, 0x9e, 0x4f, 0xaf, 0x66, 0x30, 0x3b, 0xda, 0x96, 0x41, 0x18, 0x50, 0x30, 0x71, 0xf2, 0xa5,
- 0x51, 0x79, 0x77, 0xf5, 0x34, 0x40, 0x0b, 0xcf, 0x05, 0xc1, 0x1a, 0x18, 0x5f, 0x60, 0x73, 0x27,
- 0xb0, 0x91, 0x98, 0x9b, 0xb5, 0x69, 0xc6, 0x2f, 0xde, 0x99, 0xf7, 0x31, 0x74, 0x29, 0x86, 0xfe,
- 0xa0, 0xcf, 0x55, 0xd8, 0xbf, 0xa7, 0xc9, 0xf9, 0x85, 0x94, 0xb5, 0x95, 0x72, 0x88, 0x7d, 0x83,
- 0xe8, 0x40, 0x45, 0xda, 0x32, 0x86, 0x61, 0x38, 0xf4, 0x31, 0xdd, 0x76, 0xac, 0x12, 0xe4, 0xb7,
- 0x00, 0x88, 0xd3, 0x7b, 0xf0, 0x92, 0x59, 0x7f, 0x44, 0xfb, 0xf7, 0x06, 0x14, 0xb2, 0xdb, 0x7b,
- 0xa2, 0x81, 0xe1, 0xdc, 0x3b, 0x63, 0x07, 0x6c, 0xe2, 0xfe, 0x28, 0x08, 0xfd, 0x70, 0xe8, 0xd1,
- 0x58, 0xd4, 0x3c, 0x3e, 0x3e, 0xb2, 0x54, 0x30, 0xea, 0x4d, 0x46, 0xb0, 0xda, 0x3e, 0xf5, 0x7d,
- 0xa9, 0xc6, 0x4b, 0xc2, 0xd0, 0x8f, 0x81, 0xa0, 0x06, 0x61, 0x5a, 0x72, 0x17, 0x86, 0xf7, 0x72,
- 0x81, 0xe3, 0x45, 0xa8, 0xcf, 0x8c, 0x69, 0x2c, 0x0a, 0x30, 0xbf, 0xee, 0xde, 0xf5, 0xf0, 0x7a,
- 0x17, 0x6e, 0x36, 0x2b, 0x17, 0xf3, 0xe3, 0x6d, 0x48, 0x23, 0x40, 0x13, 0x42, 0x35, 0xc6, 0xf1,
- 0x20, 0x09, 0xfa, 0xb1, 0x27, 0x66, 0x1b, 0x7b, 0x20, 0xb8, 0xe2, 0x70, 0x90, 0xb0, 0x77, 0xa6,
- 0x79, 0xd5, 0xe3, 0x0b, 0x40, 0x3e, 0x5d, 0x26, 0xb8, 0xe7, 0x45, 0x52, 0x22, 0x8b, 0x24, 0x68,
- 0x5e, 0x6f, 0x54, 0x96, 0xec, 0x91, 0x23, 0x02, 0x00, 0xd7, 0xa5, 0x4f, 0x9f, 0xc0, 0x51, 0x47,
- 0x23, 0x35, 0x1d, 0xcf, 0x4c, 0x0f, 0x7c, 0x1b, 0x0b, 0x6d, 0xb9, 0x0b, 0x7a, 0x4a, 0x5f, 0x4b,
- 0xba, 0xca, 0x6d, 0x4b, 0x4d, 0x3b, 0x00, 0x47, 0x66, 0x95, 0xd4, 0x10, 0x03, 0xe8, 0xda, 0xc0,
- 0x7f, 0xb5, 0xa2, 0x3a, 0x60, 0x6c, 0x5b, 0x3d, 0xc7, 0xbb, 0x7c, 0x74, 0x1c, 0x2b, 0xb3, 0x70,
- 0x2a, 0xa4, 0x8a, 0xe2, 0xa3, 0x87, 0x4b, 0x5d, 0x85, 0x06, 0x0f, 0x1e, 0x48, 0x07, 0x96, 0x62,
- 0x0b, 0x22, 0xa6, 0xab, 0xc0, 0x8e, 0x38, 0xa0, 0x74, 0x91, 0x6c, 0x15, 0x47, 0xb9, 0x03, 0x13,
- 0x27, 0xa6, 0x91, 0x32, 0x8d, 0x41, 0x0c, 0x1e, 0x9d, 0x5c, 0x76, 0x59, 0xb6, 0x03, 0x36, 0x04,
- 0x37, 0x19, 0x2f, 0x99, 0x60, 0x90, 0x73, 0x40, 0x41, 0x00, 0x45, 0x34, 0x56, 0x1e, 0xc3, 0xe8,
- 0x9e, 0x85, 0x62, 0x1f, 0x25, 0x51, 0xe0, 0xc1, 0x1b, 0xa3, 0xc2, 0x9f, 0xf8, 0x1d, 0x52, 0xfa,
- 0x94, 0xd4, 0x29, 0xca, 0x3a, 0x75, 0xc1, 0xcc, 0x98, 0x4e, 0x60, 0xbc, 0x07, 0x5c, 0x61, 0xb0,
- 0x19, 0x94, 0x4a, 0x86, 0x48, 0x76, 0x73, 0xd3, 0x5e, 0xd6, 0xe9, 0x44, 0x4a, 0x01, 0x0f, 0x50,
- 0xf1, 0xeb, 0xf3, 0x93, 0x6a, 0xf5, 0x0e, 0xc6, 0x0e, 0x41, 0xa6, 0xea, 0x9d, 0x3b, 0xc6, 0x99,
- 0x19, 0xc6, 0xc0, 0x11, 0x89, 0x39, 0x16, 0x6b, 0x88, 0x1c, 0xaf, 0x06, 0xdb, 0x1a, 0xcf, 0x82,
- 0x3e, 0x18, 0x6d, 0x41, 0x38, 0x65, 0xd9, 0xf7, 0x3d, 0x75, 0xe7, 0x31, 0x56, 0x31, 0x4c, 0x4d,
- 0x6e, 0x54, 0x27, 0x72, 0xa7, 0x5e, 0x10, 0xaa, 0x5f, 0x75, 0x72, 0x87, 0xf9, 0x8f, 0x4e, 0x34,
- 0x43, 0xa3, 0xda, 0x56, 0xd9, 0x75, 0x96, 0x3b, 0x76, 0x6b, 0x50, 0x85, 0x2a, 0xe8, 0x0d, 0xa8,
- 0xc9, 0xf9, 0x28, 0x60, 0x4b, 0x98, 0x0b, 0x56, 0xc5, 0x60, 0xb1, 0xe5, 0xfc, 0x12, 0x66, 0x67,
- 0x5c, 0x3f, 0x3f, 0x83, 0xfd, 0x7a, 0xed, 0x8d, 0x29, 0x78, 0x3c, 0xdc, 0xb2, 0x49, 0xd7, 0x00,
- 0x2e, 0x07, 0x6d, 0xe9, 0xbc, 0x37, 0xc3, 0x4a, 0x6e, 0x64, 0x5e, 0x3e, 0xa6, 0x71, 0xec, 0x0c,
- 0xf3, 0x19, 0x59, 0x4c, 0xb5, 0xa0, 0xba, 0x44, 0xdd, 0xca, 0xc4, 0xf6, 0xda, 0xa1, 0x17, 0xbf,
- 0xe9, 0x98, 0xb2, 0x70, 0x66, 0xf9, 0x73, 0x93, 0x9f, 0xf7, 0xd1, 0x37, 0x91, 0x76, 0x50, 0x13,
- 0x81, 0x01, 0x63, 0x10, 0x85, 0xe3, 0xb7, 0x23, 0x27, 0x7a, 0x0b, 0x74, 0xca, 0x69, 0x99, 0x34,
- 0xc0, 0x32, 0x4d, 0x58, 0xbe, 0x64, 0xa3, 0xc5, 0x9f, 0x9e, 0x9f, 0xb5, 0xab, 0x9a, 0x1d, 0x80,
- 0xe6, 0xbc, 0xd2, 0xb9, 0x65, 0x85, 0xf0, 0xe9, 0x1d, 0x2c, 0xe4, 0xc9, 0x49, 0x78, 0xa6, 0x84,
- 0xb3, 0x32, 0x5d, 0x0f, 0x5e, 0x53, 0x7a, 0xec, 0x62, 0x41, 0x2b, 0x2f, 0xb5, 0x8b, 0xec, 0x26,
- 0x1e, 0x7c, 0xf4, 0xa7, 0x11, 0x32, 0xf1, 0xf9, 0x3b, 0xd8, 0x27, 0x0f, 0xfc, 0x01, 0x28, 0xfb,
- 0x04, 0x0f, 0x98, 0x7b, 0xac, 0x3a, 0x28, 0x70, 0xa8, 0x54, 0xf5, 0xa9, 0xc2, 0xaa, 0xa0, 0xcd,
- 0x35, 0xda, 0x77, 0x19, 0x49, 0x90, 0xbf, 0x6a, 0x2a, 0x53, 0x9b, 0xec, 0x67, 0x8d, 0x0b, 0x84,
- 0xf0, 0x52, 0x70, 0x75, 0x8a, 0x13, 0x84, 0xc9, 0x08, 0x08, 0x3d, 0xe5, 0x1e, 0x92, 0x35, 0x0b,
- 0xd0, 0xc8, 0xf7, 0x62, 0xd1, 0x9a, 0xba, 0x06, 0x7a, 0xb7, 0x79, 0x2a, 0xcd, 0xbf, 0xd6, 0x54,
- 0x4d, 0x6e, 0xaf, 0xab, 0x65, 0x66, 0xd8, 0xab, 0xcd, 0xb9, 0x97, 0x95, 0xf0, 0x6a, 0x47, 0x00,
- 0x84, 0x2b, 0x06, 0x9d, 0x9c, 0x95, 0x0c, 0x8a, 0x96, 0x6d, 0xf9, 0xc8, 0x28, 0xb3, 0x83, 0xf3,
- 0x60, 0x32, 0x45, 0x6b, 0x8a, 0x85, 0x14, 0x36, 0x36, 0x9f, 0xc0, 0x0c, 0x20, 0x05, 0xdc, 0xf2,
- 0x1e, 0x7d, 0x10, 0xe3, 0x1e, 0x16, 0xa1, 0xd6, 0xba, 0xbc, 0xfc, 0x74, 0xb9, 0xdc, 0xe1, 0x6f,
- 0x86, 0x73, 0x07, 0x32, 0x0b, 0x36, 0xee, 0x47, 0xcd, 0xbb, 0x69, 0x7e, 0x25, 0x6c, 0xc3, 0x31,
- 0x8c, 0xcb, 0x04, 0xe5, 0x52, 0x16, 0x12, 0xe9, 0xed, 0x02, 0x7a, 0xf0, 0xf7, 0xb7, 0xe1, 0x78,
- 0x3c, 0x0d, 0xc4, 0x95, 0x73, 0x9d, 0xfc, 0x19, 0x80, 0x87, 0xb5, 0xa2, 0x42, 0xf2, 0x7d, 0xb0,
- 0x05, 0x90, 0x04, 0xb7, 0xb7, 0xb3, 0x56, 0xac, 0xbf, 0x40, 0x58, 0x7f, 0xac, 0x16, 0x4c, 0x40,
- 0xc9, 0xc2, 0xfd, 0x91, 0x9b, 0xd0, 0x82, 0x21, 0x3f, 0x4f, 0xfc, 0xd0, 0x71, 0x95, 0x81, 0xe3,
- 0x21, 0xd6, 0x91, 0x3b, 0x91, 0x51, 0xa4, 0xa3, 0x3e, 0x8c, 0x1c, 0x02, 0x23, 0x00, 0x91, 0xa8,
- 0x35, 0xb0, 0x61, 0x74, 0xc0, 0x83, 0xe3, 0x53, 0x58, 0x35, 0xc8, 0xa9, 0x0a, 0xbc, 0x34, 0x6c,
- 0xfb, 0x73, 0xaa, 0x0a, 0xfa, 0x4b, 0x31, 0xda, 0xa1, 0x4b, 0xc7, 0xa1, 0x2f, 0x1b, 0x5a, 0x57,
- 0xcc, 0xfa, 0xb3, 0x14, 0x26, 0xe8, 0xaa, 0xc1, 0x5d, 0x3c, 0x61, 0x3f, 0x20, 0xa7, 0x8d, 0x78,
- 0x7a, 0x17, 0x8b, 0x9c, 0xa2, 0x4c, 0x13, 0xa9, 0xcf, 0x00, 0xbc, 0x25, 0x8f, 0xc0, 0x99, 0x53,
- 0x69, 0xc2, 0xbc, 0x00, 0xda, 0x04, 0x5c, 0x66, 0x66, 0x3c, 0xa0, 0x9c, 0x96, 0x5b, 0x49, 0x2b,
- 0xfe, 0x17, 0x0a, 0xa0, 0x91, 0x54, 0x49, 0xc9, 0xa8, 0x4c, 0xc4, 0x67, 0x9d, 0xfe, 0xba, 0x4d,
- 0x27, 0x0c, 0xbc, 0x82, 0xe0, 0x95, 0xba, 0xfd, 0xf2, 0x3d, 0x56, 0xe1, 0x78, 0xec, 0x04, 0x2e,
- 0xb3, 0x48, 0x63, 0xea, 0x44, 0xfd, 0xd1, 0x85, 0x13, 0x39, 0xe3, 0x18, 0xcd, 0x0d, 0x1a, 0xa0,
- 0x97, 0x30, 0x76, 0x81, 0x2a, 0x6e, 0x4e, 0xaf, 0x2e, 0x0e, 0x4c, 0xf3, 0x2b, 0x12, 0x82, 0xfd,
- 0xeb, 0xe9, 0x95, 0x92, 0x78, 0x08, 0x47, 0xad, 0xd0, 0xe0, 0x7b, 0x07, 0x18, 0x59, 0x46, 0x2e,
- 0x80, 0xea, 0xcf, 0x80, 0x1c, 0x7e, 0x85, 0xc1, 0x35, 0xf0, 0x06, 0xea, 0x6a, 0x0d, 0xfc, 0x28,
- 0x2c, 0xfd, 0x08, 0x8e, 0xc7, 0x08, 0x8a, 0x1a, 0xa4, 0x99, 0x2b, 0xc7, 0xee, 0x40, 0xd6, 0xf9,
- 0xc2, 0xf7, 0xe1, 0x34, 0x8a, 0xd7, 0x4a, 0x3f, 0x7a, 0xc1, 0x34, 0xa1, 0xeb, 0xe5, 0x57, 0x14,
- 0x24, 0x8a, 0xcb, 0xcb, 0xf1, 0x6a, 0x18, 0xa1, 0xe0, 0x48, 0x90, 0x5f, 0xa5, 0x6d, 0xf9, 0xb3,
- 0x4c, 0x88, 0x5b, 0x63, 0x6b, 0x00, 0x84, 0x8a, 0x67, 0x78, 0x41, 0x31, 0xae, 0x1c, 0x9e, 0x24,
- 0x45, 0x28, 0x5a, 0x8c, 0x85, 0x2d, 0x70, 0x00, 0x7e, 0x52, 0x9c, 0x94, 0xb6, 0x99, 0x38, 0xc9,
- 0x08, 0xfc, 0x6b, 0x06, 0x74, 0x40, 0xfe, 0x21, 0x01, 0xfd, 0x37, 0x8d, 0x82, 0x86, 0xcc, 0x42,
- 0xb7, 0x47, 0xf1, 0xc3, 0x50, 0x79, 0x1a, 0xfb, 0x41, 0x6c, 0xbf, 0x11, 0x90, 0xa3, 0x69, 0xf7,
- 0xd8, 0x32, 0xc2, 0x68, 0xb8, 0xd3, 0x34, 0x4d, 0x73, 0x07, 0x5a, 0xbc, 0x51, 0xf8, 0x97, 0x2b,
- 0xde, 0x34, 0xdb, 0x6f, 0x94, 0x11, 0x73, 0x39, 0xf9, 0x33, 0x7e, 0xe3, 0xe2, 0x24, 0x7c, 0xb2,
- 0xdf, 0x98, 0x8a, 0xa9, 0x34, 0xdb, 0x0a, 0x96, 0x01, 0x7c, 0xbe, 0xfd, 0x06, 0x2d, 0xea, 0x37,
- 0x18, 0x4a, 0x08, 0xef, 0xa9, 0xfd, 0x46, 0xad, 0x69, 0xb4, 0xa7, 0x3e, 0x8e, 0xc0, 0x04, 0x02,
- 0xed, 0x23, 0x94, 0xcd, 0x5b, 0xf6, 0x69, 0x0a, 0x40, 0x7a, 0xda, 0xae, 0x9e, 0xce, 0x92, 0x15,
- 0xf8, 0x1e, 0xc8, 0x74, 0x67, 0x62, 0xbf, 0x89, 0xc2, 0x69, 0xe0, 0xe6, 0x8a, 0xf1, 0x18, 0x3c,
- 0x2d, 0xef, 0x1e, 0xe1, 0x82, 0x15, 0xd7, 0x7e, 0xf3, 0xb1, 0xd1, 0x52, 0x9a, 0xef, 0xf7, 0x9c,
- 0xa6, 0xd2, 0x54, 0x10, 0x26, 0xb3, 0x0e, 0x4f, 0x0f, 0x0d, 0xa9, 0x00, 0xfe, 0x36, 0x47, 0x8d,
- 0xa6, 0x5c, 0x50, 0x6f, 0xfe, 0x7c, 0xf8, 0x1b, 0x0c, 0xb2, 0x83, 0xa3, 0xc0, 0x58, 0xa1, 0x3f,
- 0xc3, 0x19, 0x94, 0x09, 0x4c, 0x91, 0x00, 0x62, 0x70, 0x4c, 0x05, 0x7e, 0x0e, 0x95, 0xa6, 0xa9,
- 0x1c, 0xb2, 0x86, 0xa2, 0x49, 0x97, 0x2f, 0xec, 0x88, 0x35, 0x7f, 0x6a, 0x40, 0x53, 0x80, 0x7d,
- 0x86, 0x7f, 0x1b, 0x6f, 0x94, 0xa7, 0xa6, 0x78, 0xc7, 0xbf, 0xfb, 0xd8, 0x8d, 0x75, 0x59, 0x36,
- 0x3e, 0x14, 0x6d, 0xdb, 0xa2, 0xed, 0xae, 0x68, 0xdb, 0xce, 0xda, 0x32, 0x63, 0x09, 0xec, 0x3f,
- 0xdc, 0x84, 0xae, 0xc4, 0xa5, 0x7f, 0xff, 0x5f, 0xbe, 0x8b, 0x4d, 0xc0, 0xf7, 0x61, 0xb6, 0x45,
- 0x0d, 0xdc, 0xc4, 0xf7, 0x6d, 0xf9, 0x1d, 0xb6, 0x6c, 0x77, 0xf9, 0x8e, 0x5b, 0x38, 0xda, 0xf5,
- 0x9b, 0x4a, 0x6b, 0x74, 0x28, 0x97, 0x2a, 0xcd, 0xe5, 0xb6, 0xfe, 0x3f, 0xda, 0xa9, 0x7f, 0x64,
- 0x4e, 0x1d, 0x98, 0x67, 0x37, 0x5f, 0x49, 0x84, 0x9f, 0x08, 0x28, 0x0a, 0x80, 0xe4, 0x94, 0xcc,
- 0x51, 0x3c, 0x71, 0x82, 0xee, 0x52, 0xd5, 0x24, 0x22, 0xe8, 0x20, 0x34, 0x4e, 0x87, 0xff, 0xc2,
- 0x64, 0xd8, 0x8c, 0x37, 0x7e, 0x96, 0x6b, 0xae, 0xc3, 0xc4, 0xf1, 0x15, 0x28, 0xef, 0x53, 0xde,
- 0x3d, 0xc1, 0x82, 0x6d, 0x7b, 0x7f, 0x8e, 0xc1, 0x51, 0x91, 0x3a, 0x4f, 0xe1, 0x7d, 0xdb, 0xbe,
- 0x9f, 0xfa, 0xfd, 0xe9, 0x84, 0x09, 0x3c, 0x4b, 0xc1, 0x4f, 0xcc, 0x80, 0x89, 0x37, 0xc6, 0x2d,
- 0x36, 0xdf, 0x28, 0x63, 0x07, 0x48, 0xac, 0x61, 0xc2, 0xd3, 0x08, 0x68, 0x0f, 0x90, 0x0a, 0x4f,
- 0xdc, 0x5e, 0x79, 0x83, 0xb3, 0x84, 0x59, 0x4f, 0xa0, 0x25, 0x40, 0x2b, 0xeb, 0xdc, 0xe5, 0xa3,
- 0xae, 0xd6, 0xff, 0x20, 0x00, 0x40, 0x53, 0x8f, 0x09, 0x54, 0x23, 0x46, 0x43, 0x46, 0x2b, 0xcc,
- 0x25, 0x28, 0x2c, 0xa4, 0x2c, 0xdf, 0xea, 0x43, 0xf8, 0x48, 0xa3, 0xb7, 0x0e, 0x33, 0x5e, 0x13,
- 0x3b, 0x59, 0x29, 0x01, 0xfb, 0xbc, 0x57, 0x6f, 0x58, 0xb4, 0x9b, 0xf4, 0x1a, 0x96, 0xb9, 0x00,
- 0xbd, 0xc0, 0x2e, 0x8f, 0x25, 0xec, 0x0f, 0x46, 0x18, 0x98, 0x61, 0x1d, 0x0a, 0xaf, 0x60, 0x83,
- 0x8d, 0x86, 0x61, 0x6a, 0x69, 0x7b, 0x8f, 0x89, 0xba, 0x03, 0x0e, 0xef, 0xb1, 0x50, 0x78, 0x30,
- 0xf3, 0xb1, 0x01, 0x8a, 0x39, 0x39, 0x4f, 0x6d, 0x86, 0x1d, 0xd4, 0xa5, 0xb6, 0x89, 0x19, 0x0f,
- 0xf0, 0x6c, 0x1d, 0x4b, 0x96, 0x85, 0x89, 0x52, 0x5f, 0x84, 0xdd, 0x40, 0xb7, 0x0c, 0x35, 0x15,
- 0x34, 0x0f, 0xce, 0x60, 0xb1, 0x58, 0x55, 0x58, 0x03, 0xe2, 0x71, 0xbd, 0x07, 0x85, 0x69, 0x7a,
- 0xfb, 0x0d, 0x22, 0x07, 0x2c, 0x55, 0x0a, 0x08, 0x2d, 0x28, 0x7d, 0x4f, 0x1d, 0x77, 0xbd, 0x06,
- 0x43, 0xc5, 0x50, 0xfa, 0x9f, 0x91, 0x29, 0xb2, 0x14, 0xf9, 0xdd, 0x12, 0x44, 0x29, 0x12, 0xde,
- 0x20, 0xb2, 0x95, 0xc6, 0xae, 0xd2, 0x5e, 0x17, 0xde, 0x4b, 0x79, 0x83, 0x95, 0xa3, 0x7d, 0xa7,
- 0x0d, 0xad, 0xb8, 0x4e, 0x68, 0xd7, 0xdb, 0x3f, 0xb7, 0x97, 0x2a, 0x81, 0x71, 0xf5, 0xd1, 0x0e,
- 0x20, 0x6a, 0x0d, 0x5b, 0x20, 0x0c, 0xc7, 0x6f, 0x14, 0x0f, 0x46, 0x01, 0x3b, 0xce, 0x8b, 0xde,
- 0x74, 0x95, 0xcf, 0x13, 0xc3, 0x10, 0x6d, 0xa5, 0x5f, 0x70, 0xcf, 0x44, 0x9e, 0x0a, 0x57, 0xf1,
- 0x96, 0xca, 0xda, 0xab, 0xc4, 0x73, 0xb3, 0xc7, 0x84, 0xa5, 0xab, 0x59, 0x74, 0xa1, 0x2f, 0x56,
- 0xfd, 0x44, 0x4e, 0xe5, 0x92, 0xb7, 0xa8, 0xd6, 0x1b, 0x6a, 0x76, 0x92, 0x2c, 0xea, 0xc1, 0x2b,
- 0x34, 0x62, 0xef, 0x37, 0xf6, 0x21, 0x89, 0x3f, 0x8e, 0x12, 0xd4, 0xda, 0xdf, 0x35, 0x26, 0xda,
- 0x36, 0x2f, 0xff, 0x1d, 0xac, 0x00, 0x83, 0x15, 0xd8, 0x41, 0x82, 0x07, 0x79, 0x25, 0xeb, 0x5c,
- 0x3c, 0x04, 0x90, 0xf3, 0x1b, 0x25, 0x1d, 0xe3, 0x1d, 0xf5, 0xc5, 0x30, 0xff, 0x21, 0x0a, 0x8c,
- 0xa8, 0xfb, 0xfb, 0x09, 0x2f, 0x5d, 0x0e, 0x75, 0x98, 0x57, 0x2b, 0xfe, 0xd6, 0x93, 0xc8, 0x89,
- 0x47, 0xf5, 0xe6, 0x9b, 0x02, 0xba, 0x6c, 0x29, 0x7b, 0xca, 0x2e, 0xfc, 0xbf, 0xd9, 0x50, 0xf6,
- 0x4a, 0xa8, 0xb2, 0x71, 0xa8, 0xec, 0x3d, 0x34, 0xda, 0x2b, 0x7a, 0x70, 0x7f, 0x45, 0x0f, 0xee,
- 0x8d, 0x5b, 0x8a, 0xf9, 0x73, 0x7b, 0x45, 0x1b, 0xb6, 0xf3, 0x7a, 0xf0, 0xa1, 0xb9, 0x24, 0xe6,
- 0xa5, 0x0a, 0x34, 0x57, 0x54, 0xa0, 0xb9, 0x41, 0x05, 0xa2, 0xee, 0xcb, 0x35, 0x6e, 0xaf, 0x37,
- 0x96, 0xd9, 0xa4, 0x84, 0xe8, 0x33, 0x92, 0xe7, 0xe4, 0x92, 0x92, 0xfc, 0x0a, 0xc1, 0x2c, 0xf4,
- 0xa2, 0x8e, 0x2e, 0x90, 0x46, 0xda, 0x97, 0x93, 0x49, 0x69, 0xf7, 0xf5, 0x40, 0x4b, 0x21, 0x03,
- 0x55, 0x36, 0x30, 0x10, 0x97, 0xd1, 0xcf, 0xcf, 0x2a, 0x73, 0xe5, 0x0c, 0xfc, 0x74, 0x9c, 0x31,
- 0xfc, 0x0d, 0x0f, 0xc2, 0xf3, 0x93, 0x55, 0xab, 0x52, 0x8b, 0xf5, 0xea, 0xe7, 0x67, 0x2d, 0xc2,
- 0xec, 0xcb, 0x72, 0xd1, 0xac, 0x7c, 0x07, 0x47, 0xfe, 0xed, 0x25, 0x8e, 0x64, 0xec, 0x84, 0xd1,
- 0xec, 0xef, 0xe3, 0x49, 0x84, 0xe0, 0x1a, 0x7c, 0xea, 0x75, 0x08, 0x10, 0x3d, 0x2b, 0xc3, 0x61,
- 0x51, 0x29, 0x34, 0x4b, 0xe6, 0x46, 0x68, 0xfe, 0x3f, 0x77, 0xff, 0x2f, 0xe2, 0xee, 0x32, 0x1e,
- 0xc7, 0x7d, 0xe7, 0x8c, 0x2a, 0x08, 0x70, 0x7b, 0x2e, 0xc7, 0xfa, 0x8c, 0xcd, 0x97, 0x04, 0xb3,
- 0x81, 0xcf, 0x4b, 0xcd, 0x2e, 0x4e, 0xc6, 0x71, 0xfe, 0x54, 0x32, 0x5c, 0x91, 0x0b, 0x81, 0x2c,
- 0x11, 0xe2, 0x47, 0x8f, 0x65, 0xe9, 0xe2, 0xf0, 0x1c, 0x20, 0x7d, 0xde, 0x07, 0x53, 0x50, 0xa8,
- 0x67, 0xab, 0x6c, 0x2a, 0xd6, 0xc1, 0x73, 0xb7, 0x3c, 0xd5, 0x3a, 0xb6, 0x59, 0x7b, 0xbe, 0xa2,
- 0x9c, 0x29, 0x77, 0xbc, 0x1e, 0x44, 0x83, 0x05, 0xde, 0x45, 0xd4, 0xb9, 0xef, 0x30, 0x38, 0x18,
- 0x62, 0xff, 0x20, 0x30, 0xa4, 0x28, 0xf5, 0xcb, 0x61, 0x8b, 0xe3, 0x9a, 0x8a, 0x91, 0xfd, 0x25,
- 0xdc, 0xf9, 0xe3, 0xb6, 0x24, 0x77, 0x04, 0xb8, 0x0a, 0x31, 0xee, 0xe7, 0x1f, 0x04, 0x34, 0x3b,
- 0x80, 0x8c, 0xc6, 0x9a, 0xfa, 0x96, 0x3f, 0x28, 0x2c, 0xa5, 0x5d, 0x1c, 0xb2, 0xe2, 0x5c, 0x2c,
- 0x2e, 0x27, 0x81, 0x59, 0xad, 0x02, 0x46, 0x79, 0xde, 0x3b, 0xd0, 0xa9, 0x54, 0xb1, 0x02, 0xe7,
- 0x1f, 0xb9, 0xbf, 0x35, 0x1b, 0x75, 0x87, 0x6d, 0x1f, 0xb3, 0x83, 0x22, 0xb0, 0xe5, 0x6b, 0xdf,
- 0xbd, 0xe1, 0x42, 0xe9, 0xfd, 0x27, 0xb0, 0x07, 0x53, 0x51, 0xbc, 0x1c, 0x35, 0xdb, 0x80, 0x42,
- 0xa6, 0xbc, 0x57, 0xb0, 0xb8, 0x58, 0x3b, 0x5b, 0x67, 0xa1, 0xd7, 0x57, 0x1c, 0xb0, 0x2f, 0x06,
- 0x5e, 0x00, 0x8b, 0x9f, 0xcd, 0xa3, 0xde, 0x16, 0x27, 0xc7, 0xa5, 0x39, 0x1c, 0xaf, 0xea, 0x2b,
- 0x27, 0x67, 0x2c, 0x9d, 0x75, 0x16, 0xe2, 0xcb, 0x85, 0xf4, 0x7e, 0xf9, 0xf8, 0xe1, 0x3d, 0x70,
- 0xc6, 0x25, 0xfd, 0xd7, 0x94, 0xc6, 0x49, 0x27, 0x30, 0xc2, 0x80, 0xdd, 0xd4, 0x66, 0xd7, 0xbd,
- 0xfb, 0x23, 0x4c, 0x2a, 0x93, 0x73, 0x7b, 0xda, 0x78, 0x1e, 0xcc, 0x1a, 0xa0, 0xef, 0x8e, 0xe7,
- 0x6b, 0xa0, 0xc8, 0xb0, 0x8c, 0xbb, 0xef, 0x3d, 0x0d, 0xd0, 0x82, 0x69, 0x22, 0x1a, 0xb6, 0x8a,
- 0x27, 0x40, 0x0a, 0xf4, 0x9a, 0x3e, 0x25, 0xba, 0x6e, 0xb5, 0xcd, 0x86, 0xd4, 0xee, 0x9d, 0xa6,
- 0x5b, 0x9a, 0x4c, 0x29, 0x69, 0x8d, 0x4e, 0x96, 0x88, 0xbd, 0x0b, 0x9d, 0xc8, 0x55, 0xdc, 0x90,
- 0xa6, 0x9f, 0xe8, 0x8c, 0xc1, 0x75, 0x05, 0xcf, 0x7d, 0xc2, 0xb2, 0x15, 0xfd, 0x19, 0xee, 0x63,
- 0xda, 0x0d, 0x73, 0x0f, 0x03, 0xce, 0xac, 0xea, 0x8f, 0xa7, 0xd7, 0x2a, 0xa1, 0x04, 0x6d, 0x12,
- 0x0c, 0x1f, 0x06, 0xae, 0xa6, 0x2f, 0x52, 0x6e, 0x0e, 0x30, 0x9a, 0x9e, 0xfb, 0xd0, 0xa0, 0xfd,
- 0x52, 0xf2, 0xc7, 0x85, 0x13, 0x00, 0x89, 0xea, 0x24, 0xb2, 0x37, 0x8a, 0x62, 0x7e, 0xaa, 0x8e,
- 0x87, 0x30, 0x9b, 0xda, 0x45, 0xe3, 0x47, 0xa0, 0x12, 0x15, 0x93, 0xfc, 0x5e, 0x9a, 0x17, 0x0d,
- 0x24, 0x96, 0x0b, 0xec, 0xbc, 0xd8, 0xf4, 0x24, 0x74, 0x67, 0x2a, 0x66, 0x09, 0x6e, 0x01, 0x61,
- 0x36, 0xac, 0xbf, 0x4d, 0x6b, 0x31, 0x72, 0x7f, 0x73, 0x5b, 0xf1, 0xe1, 0xdc, 0xb3, 0x30, 0x4c,
- 0xd8, 0xd0, 0xee, 0xcb, 0x28, 0xc8, 0xc0, 0x98, 0xbe, 0xdc, 0x56, 0x00, 0x41, 0xed, 0xad, 0xf3,
- 0x74, 0xc8, 0x60, 0x33, 0xc0, 0x83, 0x47, 0x15, 0xbf, 0x03, 0xb1, 0xb1, 0x0d, 0x66, 0x9d, 0x8e,
- 0xca, 0x9b, 0x7c, 0xbc, 0xc2, 0xcf, 0x8d, 0x3e, 0x6e, 0x6c, 0xf0, 0x81, 0x1f, 0x8a, 0xb3, 0xcf,
- 0x92, 0x96, 0x87, 0x4f, 0xa2, 0x21, 0xb3, 0x7c, 0x81, 0x4f, 0xd8, 0x07, 0x4a, 0x5f, 0x6a, 0xb8,
- 0xe9, 0xdc, 0xae, 0x3f, 0x76, 0x4f, 0x92, 0xe0, 0x75, 0xf9, 0x27, 0xe5, 0x83, 0x4d, 0xe3, 0x24,
- 0x1c, 0xbf, 0x1d, 0xbb, 0xd7, 0x08, 0x19, 0x3b, 0x7a, 0xb2, 0xd3, 0xcb, 0x7f, 0x06, 0xb8, 0x15,
- 0x63, 0x4d, 0x4f, 0xaf, 0xb8, 0x8b, 0x8f, 0x06, 0xbe, 0x4a, 0xe7, 0xca, 0x07, 0x2b, 0xc9, 0x86,
- 0x83, 0x95, 0xfc, 0x8c, 0x2c, 0xe4, 0x9f, 0x90, 0xdf, 0x30, 0xa3, 0x8a, 0x87, 0x11, 0x53, 0xeb,
- 0x15, 0x1a, 0xa3, 0xdd, 0x9e, 0x6f, 0xce, 0x22, 0x96, 0x18, 0x49, 0xc3, 0x74, 0xaa, 0x74, 0x28,
- 0x5b, 0x55, 0x31, 0x7d, 0x66, 0xbb, 0x33, 0xca, 0x75, 0x4c, 0xde, 0xd3, 0x19, 0xac, 0x26, 0x58,
- 0x49, 0x1f, 0x6d, 0xb4, 0x30, 0x2d, 0xdc, 0x80, 0xca, 0xb7, 0x2c, 0x07, 0x66, 0xeb, 0x23, 0xcd,
- 0x01, 0x34, 0x8c, 0x35, 0x7d, 0x23, 0x44, 0xab, 0x7d, 0xfe, 0x70, 0xa0, 0xd8, 0x92, 0xf9, 0x27,
- 0xb5, 0x99, 0x1e, 0x01, 0x5a, 0x79, 0x01, 0xa4, 0x3c, 0x75, 0x14, 0x43, 0x34, 0x9d, 0x7c, 0x2f,
- 0x3c, 0x19, 0x21, 0x4b, 0xa0, 0x78, 0xdb, 0x51, 0xf5, 0xa9, 0x5d, 0x39, 0x25, 0x8e, 0xc1, 0xbe,
- 0xe9, 0x6d, 0xb8, 0x5e, 0x3c, 0xf1, 0x9d, 0x99, 0x7d, 0xda, 0x53, 0xef, 0x80, 0xfc, 0xee, 0xc1,
- 0x60, 0x61, 0xb9, 0x50, 0x38, 0xde, 0x7b, 0x7b, 0x33, 0x3a, 0x3e, 0xc6, 0xf8, 0xb5, 0xc5, 0xcb,
- 0x17, 0x5a, 0x71, 0xd5, 0x4b, 0xce, 0x5e, 0x68, 0x36, 0x71, 0x86, 0x3c, 0x93, 0x73, 0xab, 0x35,
- 0x94, 0xe7, 0x82, 0x6e, 0xdc, 0x93, 0x65, 0x9a, 0x40, 0xb6, 0x95, 0x5b, 0x4d, 0xf7, 0x47, 0x9d,
- 0xd6, 0xbf, 0x9e, 0x8a, 0xf2, 0x3d, 0x5e, 0x8d, 0x1b, 0xc9, 0xcc, 0xe9, 0xbc, 0x20, 0xcd, 0xd6,
- 0x97, 0x22, 0x44, 0x44, 0xe7, 0xad, 0x4d, 0x85, 0xe4, 0x7a, 0x5d, 0x1a, 0x82, 0xe8, 0x4f, 0x5e,
- 0x71, 0x38, 0xca, 0x80, 0x28, 0x3f, 0x1c, 0xfd, 0x7c, 0x75, 0x7a, 0xb9, 0xe9, 0x68, 0xf4, 0xe2,
- 0xf8, 0xea, 0xea, 0xcb, 0xa7, 0xcb, 0x77, 0x9b, 0x8e, 0x46, 0xaf, 0x3e, 0x9f, 0x7c, 0x3c, 0x07,
- 0x03, 0x48, 0x9d, 0xb1, 0x63, 0x58, 0x5c, 0x58, 0x54, 0x64, 0xea, 0x45, 0x2f, 0x9b, 0x7a, 0xd1,
- 0x9a, 0xa9, 0x57, 0x81, 0x32, 0x61, 0xc2, 0x31, 0x83, 0x2e, 0x2a, 0x35, 0xe8, 0xa2, 0xef, 0x33,
- 0xe8, 0xb2, 0x6e, 0xba, 0xf5, 0x8b, 0x86, 0x46, 0x5d, 0x24, 0x1b, 0x75, 0x01, 0x33, 0xea, 0x22,
- 0x61, 0xd4, 0xbd, 0x3e, 0x6b, 0x04, 0x49, 0x71, 0x58, 0xbe, 0xcb, 0x11, 0x1d, 0x80, 0xd5, 0x3a,
- 0x02, 0x36, 0x1d, 0x6e, 0x47, 0x8a, 0xeb, 0xce, 0x0d, 0x99, 0x95, 0x0f, 0x3f, 0xc5, 0x54, 0x8e,
- 0xc9, 0xd9, 0x17, 0x18, 0x7f, 0xb6, 0xdd, 0xf8, 0x65, 0xc9, 0x13, 0xc0, 0x83, 0x03, 0x99, 0xbd,
- 0xc6, 0x2f, 0x4c, 0xea, 0x9e, 0x09, 0x7b, 0x66, 0x2c, 0x0d, 0xf2, 0x37, 0x0d, 0x91, 0x39, 0xde,
- 0x12, 0x12, 0x79, 0xba, 0x41, 0x51, 0x1f, 0x46, 0x40, 0xf9, 0x4e, 0x60, 0x31, 0x0c, 0xc4, 0xb7,
- 0x36, 0xd8, 0xbd, 0x9b, 0x35, 0xff, 0xec, 0x4c, 0x18, 0x78, 0x0a, 0xcf, 0x2f, 0x55, 0x7a, 0x6a,
- 0x76, 0xab, 0x2e, 0x77, 0x04, 0xc4, 0xd2, 0x78, 0x44, 0x7a, 0x71, 0x3a, 0x24, 0xcb, 0x05, 0xab,
- 0xac, 0x59, 0x33, 0x03, 0x1e, 0x41, 0xc9, 0xac, 0x95, 0x75, 0x03, 0x85, 0xb3, 0xeb, 0x59, 0x18,
- 0x8d, 0xf1, 0xab, 0xc2, 0x9d, 0xcf, 0x76, 0x13, 0xb6, 0xa3, 0x38, 0x95, 0x29, 0x8f, 0xff, 0xd2,
- 0xd4, 0xd7, 0xac, 0xd9, 0x36, 0x4d, 0x38, 0xf0, 0x26, 0x29, 0xdd, 0x5b, 0x9e, 0xf1, 0xe3, 0x05,
- 0x43, 0xc5, 0x30, 0x0c, 0xf3, 0x07, 0x0c, 0x3f, 0xad, 0xa6, 0x3d, 0x88, 0x84, 0xb7, 0xe3, 0x8e,
- 0x67, 0x40, 0x79, 0xfc, 0xc5, 0x4b, 0x46, 0xec, 0x50, 0x0d, 0xaf, 0x45, 0xd7, 0x6c, 0x76, 0xbc,
- 0x96, 0x86, 0x81, 0x12, 0xdb, 0xec, 0x24, 0x47, 0x29, 0x1e, 0x3a, 0x49, 0xad, 0xc6, 0x31, 0x15,
- 0xb1, 0x4f, 0x0a, 0x82, 0xb3, 0xe2, 0x01, 0xcf, 0xf1, 0x78, 0xe9, 0x95, 0xda, 0xc9, 0xa6, 0x0a,
- 0x91, 0xcb, 0x30, 0x50, 0x2c, 0xcd, 0x3e, 0x9e, 0x71, 0xb3, 0x98, 0x44, 0x24, 0xed, 0xa4, 0x2f,
- 0xbe, 0x15, 0xc8, 0x16, 0xf2, 0x4d, 0x30, 0xed, 0xc5, 0xa7, 0x2b, 0x94, 0x44, 0x3b, 0x7c, 0xa1,
- 0x60, 0x74, 0x33, 0xfe, 0xfd, 0x66, 0x70, 0xa2, 0x2c, 0xa0, 0x22, 0x90, 0x04, 0x43, 0x60, 0xc1,
- 0x78, 0xc5, 0x6c, 0x60, 0x39, 0x89, 0x7c, 0x05, 0xf8, 0xef, 0x93, 0x4c, 0xc5, 0x27, 0x72, 0xf8,
- 0xfa, 0x90, 0x46, 0xc0, 0x97, 0x70, 0x77, 0x28, 0x3f, 0x05, 0xfe, 0x4b, 0xc3, 0x34, 0x3b, 0xab,
- 0xf8, 0x4e, 0xb6, 0xc4, 0x37, 0x3f, 0x4b, 0x3e, 0xf3, 0x9e, 0xa8, 0xab, 0x99, 0x60, 0x3d, 0xfe,
- 0xa0, 0xf2, 0x6c, 0xa6, 0x1c, 0x39, 0x86, 0xe1, 0x24, 0x46, 0x6e, 0x27, 0x95, 0x06, 0xae, 0x86,
- 0x3b, 0x95, 0x80, 0x22, 0x59, 0x7c, 0xce, 0x5e, 0x47, 0x2e, 0x32, 0xd5, 0x2d, 0x09, 0x9c, 0x30,
- 0xef, 0xda, 0xfe, 0x96, 0xb9, 0xd7, 0x65, 0x04, 0xb9, 0x4d, 0x12, 0x60, 0xf2, 0x6f, 0x4f, 0x0e,
- 0x7c, 0xa9, 0xe3, 0x0b, 0x81, 0x0a, 0x72, 0x61, 0xb7, 0xcd, 0x2c, 0xc7, 0xf2, 0x12, 0x08, 0xc9,
- 0x89, 0x12, 0x4c, 0x17, 0x35, 0x8c, 0x34, 0x8b, 0xf8, 0xd1, 0xf1, 0x12, 0xa5, 0x6d, 0xa2, 0x28,
- 0x8b, 0x69, 0x72, 0x0e, 0xde, 0x5e, 0x04, 0xb8, 0xca, 0xdd, 0x0e, 0xbb, 0xa8, 0xd7, 0xb7, 0x18,
- 0x43, 0xad, 0x5d, 0xd4, 0x54, 0x1c, 0x06, 0xf0, 0x7b, 0x51, 0xad, 0x66, 0x7a, 0x3a, 0xa2, 0xb8,
- 0x97, 0x28, 0xe6, 0x48, 0x83, 0xb6, 0xd2, 0xb8, 0xc5, 0xd3, 0xd8, 0x47, 0xcd, 0x2e, 0x2b, 0xbb,
- 0x1f, 0x85, 0x56, 0x53, 0x49, 0xba, 0x3b, 0xa0, 0xac, 0xbe, 0x71, 0xcd, 0x14, 0x60, 0x42, 0xd5,
- 0x02, 0x25, 0xe5, 0x64, 0x4b, 0x49, 0x99, 0x23, 0x2f, 0xce, 0x1d, 0x48, 0x28, 0x9c, 0x10, 0x72,
- 0x9f, 0x3d, 0xe5, 0x52, 0x6e, 0xf2, 0xa2, 0x94, 0x4b, 0x56, 0xa5, 0x5c, 0x03, 0x44, 0x7d, 0x31,
- 0xda, 0x1f, 0x4a, 0xca, 0x87, 0x25, 0xe5, 0x1f, 0xcb, 0x49, 0xfb, 0x76, 0x53, 0x55, 0x2a, 0xf9,
- 0x3e, 0x6e, 0x94, 0x76, 0x49, 0xb1, 0xb4, 0x0b, 0x40, 0xda, 0x05, 0x6b, 0xd2, 0x2e, 0x58, 0x91,
- 0x76, 0x11, 0x48, 0xbb, 0x68, 0x29, 0xed, 0xa2, 0x54, 0xda, 0x85, 0x36, 0x5e, 0x61, 0xc3, 0x9b,
- 0x95, 0xb5, 0x70, 0x29, 0xed, 0xb2, 0xa9, 0x3c, 0x60, 0x1a, 0x2e, 0xed, 0x92, 0x75, 0x69, 0x17,
- 0x92, 0xb4, 0xd3, 0x96, 0xd2, 0x4e, 0xf4, 0xfb, 0x4f, 0x89, 0xba, 0xdb, 0x4c, 0xc4, 0x7d, 0xfc,
- 0xf7, 0x8b, 0xb5, 0x71, 0xf9, 0x06, 0x3f, 0x94, 0x57, 0x0d, 0xb7, 0xa3, 0x98, 0x32, 0x22, 0xcb,
- 0xa9, 0xe4, 0x52, 0xe1, 0xf8, 0x0f, 0xed, 0x5b, 0x3e, 0xe8, 0xf8, 0x5d, 0xbc, 0x9b, 0x30, 0xde,
- 0xdd, 0xe4, 0xb2, 0x8c, 0xc3, 0xc0, 0x4b, 0xc2, 0xe8, 0x96, 0xb2, 0x2b, 0x32, 0xb7, 0xce, 0x34,
- 0x09, 0xf9, 0x5d, 0xb5, 0xdf, 0xed, 0x6d, 0x6d, 0x1a, 0x99, 0xdd, 0x86, 0xa1, 0x6e, 0x4f, 0x63,
- 0x97, 0x0f, 0x7f, 0x06, 0xdb, 0xd8, 0xfa, 0x80, 0x1f, 0x59, 0x04, 0x48, 0x57, 0x7d, 0x5d, 0xee,
- 0xe1, 0x92, 0x78, 0x3b, 0x68, 0xce, 0xed, 0xca, 0x39, 0x39, 0xef, 0x69, 0xfe, 0xea, 0x28, 0xdc,
- 0x5f, 0x26, 0xbe, 0xb8, 0x89, 0x07, 0xc2, 0x36, 0xc4, 0x7f, 0x82, 0x01, 0x67, 0xf6, 0x0b, 0x67,
- 0x64, 0x58, 0xdb, 0x6e, 0xd2, 0x7b, 0xbb, 0x72, 0x4f, 0xee, 0x7b, 0xda, 0xb4, 0x64, 0xd2, 0x69,
- 0xc1, 0xa4, 0xd3, 0xd2, 0x49, 0x8b, 0x6b, 0xc8, 0xc3, 0x86, 0xd0, 0x16, 0xfb, 0x80, 0x3b, 0x86,
- 0xfb, 0x91, 0x6e, 0x97, 0x5c, 0xf3, 0x77, 0x66, 0x13, 0x3f, 0xbc, 0x26, 0x7c, 0x06, 0x7c, 0x3c,
- 0x9e, 0x24, 0x1a, 0x9e, 0xd9, 0xf3, 0xf3, 0x05, 0x85, 0x27, 0xaf, 0xa2, 0x79, 0xca, 0xbf, 0x93,
- 0xc9, 0xbe, 0xb8, 0x9c, 0x8b, 0x97, 0xe1, 0x17, 0xd6, 0xff, 0x2c, 0x43, 0x41, 0xb2, 0xf0, 0x16,
- 0xae, 0xe7, 0x97, 0x4d, 0xbe, 0xcd, 0xd9, 0x97, 0xd7, 0x5c, 0x31, 0x93, 0x4f, 0xb1, 0x98, 0x77,
- 0x8a, 0x77, 0x58, 0x86, 0x20, 0x41, 0xa7, 0x77, 0x78, 0x3f, 0x69, 0xc7, 0x9f, 0xf6, 0xeb, 0xfc,
- 0x75, 0xe7, 0xf4, 0xea, 0xa2, 0xf5, 0x6e, 0x27, 0x89, 0x28, 0xdd, 0x69, 0x19, 0xa6, 0x9a, 0x3b,
- 0xf2, 0x2a, 0x07, 0xe7, 0xb3, 0xf7, 0xef, 0x04, 0xa7, 0xfe, 0xe5, 0xf4, 0xe4, 0xf3, 0xf9, 0xab,
- 0x81, 0x1a, 0xf9, 0x93, 0x7f, 0x2b, 0x92, 0x1e, 0xbd, 0x7b, 0x2f, 0x0f, 0x0b, 0x68, 0x7b, 0x14,
- 0x1b, 0x9a, 0x7e, 0xb4, 0xc3, 0x3f, 0x31, 0xd7, 0x3d, 0x62, 0x34, 0xc9, 0xfe, 0x09, 0x1b, 0x9e,
- 0x8c, 0xbe, 0xd3, 0x07, 0x61, 0xdf, 0xfd, 0xcb, 0x7c, 0x10, 0x06, 0x49, 0x7d, 0xe0, 0x8c, 0x3d,
- 0x7f, 0x66, 0xc5, 0xe0, 0x03, 0xd7, 0x63, 0x1a, 0x79, 0x83, 0x0e, 0xfb, 0x87, 0xec, 0x2c, 0xf1,
- 0x2f, 0xcf, 0x75, 0xee, 0x9c, 0xfe, 0xfd, 0x90, 0x9d, 0xce, 0xd7, 0x45, 0x05, 0xa5, 0x03, 0x73,
- 0xd0, 0xea, 0xe0, 0x3f, 0x5f, 0x77, 0xef, 0x25, 0x75, 0xfc, 0x67, 0x03, 0xa0, 0xa7, 0x0f, 0x34,
- 0x67, 0x21, 0xb9, 0x77, 0xea, 0xe3, 0xf0, 0xb7, 0xa2, 0xd2, 0x78, 0xbd, 0x70, 0xb5, 0x60, 0x71,
- 0x17, 0xba, 0xb3, 0xf9, 0xd8, 0x0b, 0x78, 0x06, 0x81, 0xd5, 0xda, 0x33, 0x27, 0x4f, 0x8b, 0x51,
- 0x34, 0x07, 0xb7, 0xcb, 0xc5, 0x3c, 0x80, 0x70, 0x62, 0x35, 0x26, 0x4f, 0x0a, 0xa8, 0x0a, 0xcf,
- 0x55, 0x04, 0x88, 0x0b, 0xbc, 0x7b, 0x9b, 0x00, 0x93, 0x9e, 0x38, 0xd1, 0x5c, 0x70, 0x9e, 0x35,
- 0xf0, 0xe9, 0x53, 0x07, 0x7f, 0xea, 0x8f, 0x91, 0x33, 0xb1, 0xf0, 0xa7, 0x33, 0x81, 0x3d, 0x00,
- 0x35, 0x64, 0x35, 0x60, 0xd0, 0xf4, 0xa5, 0xee, 0xd3, 0x41, 0x62, 0x35, 0x76, 0xa1, 0x64, 0x7d,
- 0xa5, 0x83, 0xc1, 0xa0, 0x33, 0x76, 0xa2, 0x21, 0xc0, 0x73, 0x17, 0x26, 0x49, 0x38, 0xb6, 0xf6,
- 0x00, 0x1c, 0xbc, 0x8b, 0x3a, 0x4f, 0x91, 0xb4, 0xbb, 0xbb, 0xf0, 0x9d, 0x3b, 0xea, 0x67, 0x13,
- 0x33, 0xb9, 0xd1, 0xe1, 0xe0, 0xa3, 0xdc, 0xcc, 0x66, 0x6d, 0x01, 0xdc, 0x8d, 0x26, 0xcc, 0xf3,
- 0x12, 0x7e, 0x71, 0xd6, 0xfe, 0x34, 0x8a, 0xe1, 0x99, 0x25, 0x39, 0xd0, 0x68, 0x31, 0x89, 0xe8,
- 0x3c, 0x07, 0xf0, 0xae, 0xb4, 0x02, 0xfe, 0x85, 0xa5, 0x5d, 0x84, 0x6c, 0x1c, 0xba, 0x8e, 0x3f,
- 0x9f, 0x84, 0xb1, 0xc7, 0x0e, 0xf9, 0x07, 0xa8, 0x66, 0x3b, 0xbf, 0xd5, 0x59, 0xd6, 0x0c, 0x2c,
- 0xdb, 0x44, 0x7f, 0x44, 0xf4, 0x62, 0xa8, 0x34, 0x11, 0x13, 0x6c, 0x40, 0xf0, 0xcd, 0xa0, 0xc0,
- 0x14, 0x80, 0x43, 0xc5, 0x0f, 0x1d, 0x9e, 0x04, 0xc2, 0x9f, 0x41, 0x51, 0x46, 0x03, 0x3f, 0x7c,
- 0xe4, 0x4b, 0x5a, 0x87, 0x19, 0x47, 0x5e, 0x2b, 0x8d, 0x86, 0x77, 0x8e, 0x66, 0x12, 0xfc, 0xcf,
- 0x68, 0xeb, 0x02, 0xba, 0xba, 0x38, 0xa2, 0x91, 0xb6, 0x94, 0x2d, 0xa9, 0x1e, 0x81, 0x8d, 0x30,
- 0x8d, 0xf9, 0xe6, 0x48, 0x75, 0x6c, 0x75, 0x45, 0x95, 0x7c, 0x47, 0x4a, 0xfb, 0x8a, 0xea, 0x82,
- 0xee, 0x6b, 0xc0, 0xa7, 0x3b, 0xc1, 0x3a, 0xae, 0xd3, 0x57, 0x27, 0xc3, 0x27, 0xd8, 0xe4, 0xec,
- 0xc3, 0xb1, 0x82, 0x28, 0xf2, 0xfb, 0x6b, 0x42, 0xe9, 0x93, 0xa0, 0xdb, 0xf6, 0xae, 0x99, 0x6d,
- 0x47, 0x7d, 0xc4, 0x0e, 0x98, 0xe6, 0x19, 0xf5, 0xed, 0x21, 0x21, 0xec, 0x2d, 0x09, 0x01, 0xf7,
- 0xfb, 0x05, 0xa0, 0x7e, 0x2f, 0x96, 0x0a, 0x16, 0x25, 0x76, 0xb7, 0x69, 0xec, 0x82, 0x1d, 0xd4,
- 0xc1, 0xbc, 0x93, 0x7a, 0xbe, 0x88, 0x49, 0x07, 0xb4, 0x45, 0xad, 0x06, 0x2b, 0x48, 0x97, 0xc3,
- 0x58, 0x54, 0x66, 0x25, 0xbe, 0x98, 0x42, 0x3a, 0x4e, 0xfb, 0x0c, 0xd8, 0x79, 0x5c, 0x01, 0x0a,
- 0x96, 0x53, 0xc2, 0x8c, 0xc5, 0xac, 0xb0, 0x89, 0xf5, 0x7f, 0x2f, 0x2d, 0xac, 0x4b, 0x0b, 0x7e,
- 0x38, 0xcf, 0x36, 0x3b, 0x7c, 0xac, 0x47, 0x14, 0xaf, 0x96, 0xd3, 0x85, 0x87, 0xe1, 0xbb, 0x72,
- 0x16, 0x4f, 0x39, 0x85, 0x23, 0x2e, 0x5d, 0xe5, 0x5e, 0xca, 0xf0, 0x32, 0x72, 0x1b, 0x46, 0xbb,
- 0x79, 0xb0, 0xbb, 0xdf, 0x68, 0xb7, 0x52, 0xe0, 0x04, 0x3c, 0xed, 0x2d, 0x25, 0x43, 0x38, 0x4d,
- 0x70, 0x3c, 0xcb, 0x14, 0x40, 0x95, 0x51, 0xed, 0x82, 0xc7, 0xb2, 0x5f, 0x04, 0xba, 0x69, 0xb4,
- 0x5f, 0x03, 0x34, 0x7e, 0x4f, 0xca, 0xeb, 0xc3, 0x96, 0x3a, 0xbe, 0x37, 0x0c, 0xac, 0xb1, 0xe7,
- 0xba, 0x3e, 0x5d, 0x11, 0x57, 0x05, 0x9c, 0x84, 0xf2, 0x81, 0x5d, 0x67, 0xa8, 0xf3, 0x6c, 0xf7,
- 0x20, 0x64, 0x12, 0xb9, 0x14, 0x05, 0x9b, 0x78, 0x62, 0x61, 0x59, 0x4c, 0xc5, 0xa4, 0x7e, 0x0b,
- 0xfe, 0xc3, 0xa9, 0xf3, 0x4d, 0x8d, 0x85, 0xa2, 0xca, 0xda, 0x33, 0xbb, 0xfd, 0x55, 0x3d, 0x8a,
- 0x67, 0x18, 0x34, 0xf0, 0xbf, 0x05, 0x7e, 0xd1, 0x06, 0x24, 0x5d, 0x44, 0xd2, 0xe6, 0x73, 0xa1,
- 0x33, 0xb8, 0x88, 0x5d, 0x52, 0x79, 0x23, 0x2a, 0x26, 0x72, 0x36, 0x4c, 0xa9, 0xf8, 0x59, 0x18,
- 0x5c, 0xc1, 0xfc, 0x91, 0xfb, 0x95, 0x12, 0x85, 0x17, 0xb0, 0x6e, 0x6b, 0xb4, 0xb1, 0x15, 0x21,
- 0x0a, 0x95, 0xc0, 0x15, 0xac, 0x13, 0xcc, 0x1e, 0x47, 0x34, 0xa2, 0xb2, 0x32, 0xee, 0x0a, 0x12,
- 0x14, 0xe8, 0xe0, 0x7a, 0x0a, 0x55, 0xed, 0x82, 0xdd, 0x38, 0x98, 0x17, 0x8b, 0x0c, 0xde, 0xc9,
- 0xe2, 0x77, 0x61, 0x0b, 0xda, 0x98, 0x77, 0xe6, 0xc1, 0xe1, 0xe1, 0x62, 0xea, 0x6f, 0xd4, 0xf5,
- 0x18, 0x0d, 0xe7, 0xff, 0x9a, 0x6e, 0x9d, 0x7d, 0x60, 0x98, 0x99, 0x1b, 0x42, 0x6c, 0xb7, 0x96,
- 0xca, 0x13, 0x9f, 0x99, 0x76, 0x15, 0x55, 0x5c, 0x9e, 0xe1, 0x9e, 0xa1, 0x11, 0x22, 0xd0, 0xd9,
- 0xda, 0x65, 0x05, 0x20, 0xdd, 0x73, 0x05, 0xa5, 0xfa, 0x22, 0xc3, 0xcc, 0x8c, 0x63, 0xb3, 0x04,
- 0x53, 0xbe, 0x97, 0x09, 0xc4, 0x43, 0x9c, 0xb5, 0xcd, 0x26, 0x61, 0x60, 0x98, 0x0a, 0xa7, 0x95,
- 0xe5, 0x0c, 0xe0, 0x74, 0x82, 0x07, 0x0c, 0xf2, 0x94, 0x06, 0x53, 0xc6, 0x42, 0xd1, 0x9c, 0xad,
- 0x18, 0x70, 0xf3, 0x68, 0x35, 0x3a, 0x82, 0xf3, 0xea, 0x14, 0x4d, 0xcc, 0x98, 0xdb, 0x52, 0xc6,
- 0x04, 0xf3, 0x45, 0xd6, 0x57, 0x96, 0x67, 0xba, 0x06, 0xd3, 0x54, 0xf2, 0x1d, 0xc5, 0x79, 0x9e,
- 0x1d, 0x8c, 0xe5, 0xa5, 0x47, 0x51, 0x13, 0x51, 0x57, 0x2e, 0xad, 0xb3, 0xb3, 0xa4, 0x79, 0x89,
- 0x21, 0x93, 0xf6, 0xe8, 0xb0, 0x0e, 0x9c, 0x0a, 0xfb, 0x94, 0x59, 0x35, 0x46, 0x7a, 0x87, 0x77,
- 0x5e, 0x0e, 0x7e, 0xaa, 0x3d, 0xbf, 0x5f, 0x0f, 0x96, 0x69, 0x56, 0x09, 0xc8, 0x94, 0xb5, 0xd6,
- 0x34, 0xa1, 0xcc, 0x69, 0x4d, 0xc4, 0x1f, 0xda, 0x5d, 0x2b, 0xb6, 0x99, 0x11, 0x84, 0xbf, 0x1f,
- 0xc8, 0x8d, 0xe6, 0x2d, 0x4c, 0x20, 0x14, 0xe8, 0xef, 0x35, 0x7d, 0x36, 0xdb, 0x04, 0x29, 0xca,
- 0xff, 0xc8, 0xc9, 0x8a, 0x74, 0x76, 0xb1, 0x9d, 0xbd, 0xe4, 0xb7, 0x2d, 0xf7, 0x21, 0xe3, 0x15,
- 0x33, 0x93, 0x67, 0xe8, 0x64, 0x20, 0x5b, 0xdc, 0x85, 0x2b, 0xba, 0x3d, 0xad, 0x90, 0x24, 0x44,
- 0xfe, 0x35, 0xbf, 0x76, 0xbc, 0x93, 0x55, 0x42, 0xd1, 0x69, 0xc3, 0xcc, 0x53, 0x11, 0x30, 0xee,
- 0x9a, 0xa5, 0x2e, 0x44, 0xca, 0x70, 0x5c, 0xfe, 0x95, 0xd9, 0x30, 0xdc, 0x11, 0x29, 0xdc, 0xfd,
- 0x55, 0x0b, 0x32, 0x65, 0xe5, 0x85, 0x81, 0xb1, 0xa8, 0x4c, 0x0e, 0x72, 0xb6, 0x49, 0x73, 0xc1,
- 0x89, 0x91, 0xe6, 0xa8, 0xf3, 0x27, 0x34, 0xe5, 0xf8, 0x13, 0x0a, 0xc4, 0x6c, 0x30, 0xc0, 0xa4,
- 0xb2, 0xbb, 0x26, 0x15, 0xb2, 0xd2, 0x62, 0x14, 0xc8, 0x89, 0xeb, 0x25, 0x8c, 0x9f, 0x43, 0xff,
- 0xb7, 0x69, 0x9c, 0x78, 0x83, 0x59, 0x6a, 0xfb, 0x5b, 0x4c, 0x82, 0xd5, 0xef, 0x68, 0xf2, 0x48,
- 0x69, 0x80, 0x9c, 0x38, 0x1d, 0x07, 0xf5, 0xa1, 0x33, 0x11, 0xd2, 0x48, 0xce, 0xcc, 0xff, 0x37,
- 0x0e, 0x3f, 0x7f, 0xc5, 0x20, 0xdb, 0xa9, 0x57, 0x2e, 0xd8, 0x5e, 0x30, 0x59, 0x0b, 0xd7, 0x93,
- 0x6e, 0xc7, 0x01, 0x00, 0x18, 0x3f, 0x0c, 0xe7, 0x1b, 0x10, 0x8f, 0x9b, 0x6b, 0x8d, 0x50, 0xa9,
- 0xcc, 0x57, 0xed, 0xae, 0x17, 0x64, 0x5d, 0x4a, 0x52, 0x29, 0x61, 0xf0, 0x51, 0x88, 0xef, 0x09,
- 0x6d, 0x8b, 0x4f, 0xdf, 0x35, 0x30, 0xae, 0xa0, 0x40, 0xbe, 0x67, 0xf3, 0xbc, 0xa4, 0xcc, 0x57,
- 0xd6, 0xd5, 0x45, 0x0c, 0x7c, 0xe7, 0xda, 0xc6, 0xf5, 0x46, 0x6a, 0x70, 0x70, 0x8e, 0x42, 0xd9,
- 0x91, 0xb7, 0x40, 0xd0, 0x99, 0xe1, 0x56, 0x46, 0xb7, 0x18, 0xd5, 0x62, 0x64, 0xb6, 0x22, 0x97,
- 0xf6, 0xc3, 0x88, 0x1d, 0xc9, 0xac, 0xab, 0x35, 0x7c, 0xac, 0x78, 0x63, 0xfc, 0x1c, 0x8d, 0x13,
- 0x24, 0xd2, 0x2a, 0x04, 0x3a, 0x57, 0x0b, 0x70, 0x3a, 0x92, 0xb3, 0x6f, 0x4a, 0x00, 0x10, 0x68,
- 0xf9, 0xd3, 0xc7, 0xab, 0x1f, 0xe7, 0xeb, 0x78, 0xfd, 0x53, 0x69, 0x78, 0x76, 0x2e, 0xc9, 0xc4,
- 0x15, 0x35, 0xf5, 0x7f, 0xc6, 0xd4, 0xf5, 0x1c, 0x05, 0xda, 0x51, 0xfc, 0xfe, 0x4d, 0xe0, 0x2a,
- 0xda, 0xd2, 0x5f, 0xdd, 0xc3, 0x40, 0x80, 0x3e, 0x97, 0xad, 0x8b, 0x9c, 0x50, 0x59, 0x1c, 0xed,
- 0x30, 0x5b, 0xaa, 0x7b, 0xb4, 0x83, 0xb2, 0xa8, 0x7b, 0x84, 0xd2, 0x8f, 0xdd, 0x40, 0xe9, 0x1e,
- 0x4d, 0x7d, 0xbc, 0xdd, 0x80, 0xf7, 0x4e, 0xd2, 0x88, 0x60, 0x37, 0x3d, 0x4d, 0xc7, 0xfb, 0x0c,
- 0x59, 0xa5, 0x88, 0xcf, 0x75, 0xd9, 0x59, 0xd9, 0x00, 0xe6, 0xc8, 0xd5, 0xa6, 0x81, 0xb2, 0xee,
- 0x7b, 0xea, 0x4f, 0x72, 0x35, 0xe9, 0x59, 0x9d, 0xc8, 0xae, 0xe3, 0xe1, 0xf7, 0x2e, 0x0b, 0x7f,
- 0x65, 0xed, 0x44, 0xd5, 0x12, 0x7c, 0xb5, 0x9b, 0x1b, 0x63, 0x99, 0x1f, 0x95, 0x1f, 0xe5, 0x03,
- 0x96, 0xe7, 0x5a, 0xa6, 0x47, 0x8a, 0x4a, 0x6a, 0x9b, 0xd8, 0xcb, 0x2f, 0x8d, 0x88, 0x31, 0x77,
- 0x70, 0xc5, 0xfc, 0x5a, 0xc6, 0x28, 0xea, 0x1e, 0xf1, 0x4d, 0xe1, 0xd7, 0x71, 0x70, 0x04, 0x29,
- 0xdb, 0x52, 0xbe, 0xf2, 0x23, 0xaa, 0xb2, 0xb2, 0x9d, 0xd5, 0x7e, 0xb9, 0x24, 0xdf, 0x14, 0x4c,
- 0xa6, 0x6b, 0x14, 0x0e, 0xec, 0x6a, 0x4b, 0x91, 0xb8, 0x9a, 0x6b, 0x2a, 0x54, 0x85, 0xda, 0xbd,
- 0xa6, 0xd1, 0x18, 0x93, 0xbd, 0x57, 0x20, 0x90, 0xd3, 0x74, 0xf3, 0x1d, 0x71, 0x47, 0x95, 0xcc,
- 0xd2, 0x50, 0xe5, 0xeb, 0x45, 0xea, 0xd2, 0xa4, 0x87, 0x72, 0xe6, 0x76, 0xa6, 0x35, 0x83, 0x30,
- 0x1a, 0xbf, 0xe5, 0xb5, 0x2a, 0x28, 0x4d, 0xea, 0xfb, 0xec, 0x78, 0x00, 0x2a, 0x1c, 0x3f, 0xa6,
- 0xaa, 0x82, 0xa4, 0x29, 0xd2, 0xd0, 0x6d, 0x35, 0x1c, 0x0c, 0xd2, 0x92, 0xf1, 0x04, 0xf3, 0x4c,
- 0x45, 0x51, 0x7a, 0x8e, 0xc2, 0x21, 0x94, 0xb3, 0xf9, 0xba, 0xca, 0x11, 0x67, 0x97, 0x74, 0xbe,
- 0xbb, 0x24, 0x10, 0xcd, 0x78, 0x5a, 0x5e, 0xf7, 0x8a, 0x06, 0xee, 0xd1, 0x8e, 0xe0, 0xe6, 0x17,
- 0x60, 0xe6, 0x11, 0x50, 0x06, 0x20, 0x18, 0x08, 0x7c, 0x9c, 0xf2, 0x93, 0x0e, 0x45, 0x1c, 0x74,
- 0x88, 0x1e, 0xb8, 0x9d, 0xca, 0x11, 0x73, 0xc5, 0x14, 0x58, 0xf5, 0xa6, 0x9e, 0xdd, 0xe3, 0xec,
- 0x19, 0x28, 0x06, 0x7b, 0xe4, 0x2f, 0xf3, 0x4c, 0x30, 0x3b, 0x7f, 0xb9, 0x19, 0x69, 0xae, 0x30,
- 0x5e, 0x2c, 0x8a, 0x68, 0x77, 0xed, 0xb2, 0x18, 0x36, 0x95, 0xf2, 0xba, 0x37, 0x92, 0xc6, 0x5a,
- 0x76, 0x75, 0x31, 0x75, 0x2c, 0x3f, 0xbe, 0x56, 0x3a, 0xcf, 0x1f, 0x46, 0x22, 0x0c, 0x42, 0x81,
- 0x7b, 0x96, 0x35, 0x9c, 0xdf, 0x6f, 0x7e, 0x46, 0xa9, 0x8c, 0xa7, 0x7e, 0xe2, 0x01, 0x51, 0x00,
- 0x5e, 0xc5, 0xd3, 0x86, 0xcd, 0x4f, 0xd3, 0xa3, 0xba, 0x97, 0xfc, 0x21, 0x23, 0x80, 0x72, 0x72,
- 0xc9, 0x0e, 0x38, 0x14, 0xfe, 0x61, 0x23, 0xf5, 0x2d, 0x2b, 0x59, 0x5e, 0xc6, 0x50, 0xbb, 0xb5,
- 0x97, 0x87, 0x91, 0x73, 0x98, 0xd2, 0x81, 0xa6, 0xe2, 0xbb, 0x38, 0xac, 0x50, 0x1a, 0x44, 0xc6,
- 0x0e, 0x27, 0x1b, 0x8e, 0x09, 0x1c, 0x47, 0xce, 0xb4, 0xee, 0x9a, 0x3f, 0x64, 0x74, 0xc1, 0xe3,
- 0x07, 0x19, 0xd6, 0x79, 0x5c, 0x61, 0xbd, 0x9f, 0xca, 0x6e, 0xf8, 0xab, 0x0d, 0xd3, 0xcc, 0x90,
- 0xb9, 0x6b, 0x72, 0xfa, 0xe1, 0x23, 0x14, 0x91, 0x8f, 0xb0, 0x6b, 0xf2, 0x7b, 0xaa, 0x16, 0xb6,
- 0xb9, 0x2b, 0xdf, 0xfb, 0x94, 0x82, 0xd6, 0x56, 0x27, 0x00, 0xc4, 0x93, 0xf2, 0xee, 0x4e, 0xc1,
- 0xf4, 0xec, 0x82, 0x58, 0x39, 0x71, 0xe7, 0x13, 0xf7, 0xf3, 0x73, 0x67, 0xf4, 0xb6, 0x76, 0x23,
- 0x6e, 0x6d, 0x20, 0x71, 0xab, 0xe1, 0x05, 0x1e, 0xc9, 0x25, 0xfe, 0x97, 0x71, 0x88, 0x48, 0x08,
- 0xe3, 0x59, 0x2e, 0x25, 0x13, 0xfd, 0x27, 0x98, 0xc4, 0xe9, 0xf7, 0xe9, 0x04, 0xa4, 0x27, 0x7e,
- 0xba, 0x6d, 0xc9, 0x32, 0x83, 0x47, 0xf5, 0x05, 0x32, 0xc5, 0xfc, 0x3e, 0x10, 0x8f, 0x78, 0xb6,
- 0xa2, 0x20, 0xc5, 0x6e, 0x4b, 0x98, 0xcb, 0xb4, 0x9e, 0xd7, 0x92, 0x26, 0xef, 0xb9, 0x35, 0x71,
- 0xca, 0xbf, 0x77, 0x92, 0x22, 0x5c, 0x66, 0x29, 0x67, 0x7a, 0x1d, 0x83, 0xc8, 0xf2, 0x36, 0xca,
- 0xe5, 0xa9, 0xc1, 0x5e, 0x54, 0x95, 0xee, 0xe6, 0xb9, 0x0b, 0x0d, 0xbc, 0x81, 0xf8, 0x82, 0xd6,
- 0xda, 0xfd, 0x59, 0x75, 0x19, 0xd9, 0xde, 0xb0, 0x61, 0x6b, 0x14, 0xdf, 0xfd, 0x1c, 0x83, 0x83,
- 0x2b, 0x46, 0xe3, 0xdb, 0x99, 0xc1, 0xcf, 0x13, 0x3e, 0xbf, 0x57, 0x25, 0xca, 0xf6, 0xc5, 0xf6,
- 0xe0, 0x5c, 0x88, 0x64, 0xd3, 0x3c, 0x48, 0x9c, 0xa8, 0xd2, 0x44, 0xd4, 0x94, 0x4d, 0xe5, 0xb4,
- 0xd4, 0xdf, 0x0b, 0x65, 0x9e, 0x37, 0xb2, 0x8c, 0x75, 0x99, 0xb6, 0x95, 0xd5, 0x70, 0x11, 0xda,
- 0x81, 0x40, 0x1d, 0xe0, 0x17, 0xe1, 0x19, 0xa0, 0x12, 0x46, 0x4a, 0x0a, 0x53, 0xd9, 0xee, 0x64,
- 0x0c, 0x25, 0x88, 0x9e, 0xaf, 0x4b, 0x64, 0x6c, 0x4b, 0x2c, 0xa0, 0x80, 0x07, 0xc0, 0x57, 0xb9,
- 0x96, 0x84, 0xde, 0x7d, 0x97, 0x95, 0xac, 0xcb, 0xfa, 0x97, 0xc7, 0x93, 0x53, 0xc4, 0x53, 0xd3,
- 0x31, 0xe5, 0xa9, 0x02, 0xd1, 0xc4, 0x6d, 0xe4, 0x1d, 0xbc, 0xac, 0xde, 0xfd, 0x1f, 0x58, 0x9f,
- 0xbf, 0x61, 0x1f, 0x8d, 0x00, 0x00
+#define tool_html_gz_size 11064
+const unsigned char tool_html_gz[11064] PROGMEM = {
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0a, 0xed, 0x7d, 0x8b, 0x76, 0x9b, 0x48,
+ 0xb6, 0xe8, 0xaf, 0x20, 0x66, 0x5a, 0x81, 0x51, 0x09, 0xa3, 0x87, 0x5f, 0xc8, 0x48, 0xd7, 0x4e,
+ 0xec, 0x8e, 0x67, 0x92, 0x8e, 0xc7, 0x76, 0x3a, 0xd3, 0x27, 0x93, 0x93, 0x85, 0x45, 0x49, 0x22,
+ 0x46, 0xa0, 0x01, 0xe4, 0x47, 0x64, 0x7d, 0xd0, 0xfd, 0x8d, 0xfb, 0x65, 0x77, 0xef, 0xaa, 0x02,
+ 0x0a, 0x09, 0x64, 0x39, 0xdd, 0x33, 0x77, 0xad, 0xb3, 0xee, 0xea, 0x19, 0x19, 0xea, 0xb9, 0x6b,
+ 0xd7, 0x7e, 0xd7, 0x2e, 0x72, 0x54, 0x73, 0xc3, 0x61, 0xf2, 0x38, 0xa3, 0xca, 0x24, 0x99, 0xfa,
+ 0xfd, 0x23, 0xfc, 0x55, 0x7c, 0x27, 0x18, 0xdb, 0x2a, 0x0d, 0x54, 0x78, 0xa7, 0x8e, 0xdb, 0x3f,
+ 0x9a, 0xd2, 0xc4, 0x51, 0x86, 0x13, 0x27, 0x8a, 0x69, 0x62, 0xab, 0x1f, 0xaf, 0xcf, 0x9a, 0x07,
+ 0xaa, 0x28, 0x9d, 0x24, 0xc9, 0xac, 0x49, 0xff, 0x35, 0xf7, 0xee, 0x6c, 0xf5, 0x1f, 0xcd, 0x8f,
+ 0xc7, 0xcd, 0xd7, 0xe1, 0x74, 0xe6, 0x24, 0xde, 0x8d, 0x4f, 0x55, 0x65, 0x18, 0x06, 0x09, 0x0d,
+ 0xa0, 0xcb, 0xf9, 0xa9, 0x4d, 0xdd, 0x31, 0x4d, 0x3b, 0x05, 0xce, 0x94, 0xda, 0xea, 0x9d, 0x47,
+ 0xef, 0x67, 0x61, 0x94, 0x48, 0xed, 0xee, 0x3d, 0x37, 0x99, 0xd8, 0x2e, 0xbd, 0xf3, 0x86, 0xb4,
+ 0xc9, 0x5e, 0x88, 0x17, 0x78, 0x89, 0xe7, 0xf8, 0xcd, 0x78, 0xe8, 0xf8, 0xd4, 0x6e, 0x15, 0x87,
+ 0x48, 0x26, 0x74, 0x4a, 0x9b, 0xc3, 0xd0, 0x0f, 0x23, 0x69, 0x94, 0x3f, 0xed, 0xee, 0xef, 0xee,
+ 0xba, 0x87, 0xc5, 0xa6, 0xd3, 0xd8, 0x99, 0xcd, 0x7c, 0x6f, 0x08, 0xb0, 0x85, 0x41, 0x33, 0x70,
+ 0xee, 0x6e, 0xe6, 0x49, 0x02, 0x4f, 0x5b, 0x75, 0xc6, 0xae, 0xb4, 0x39, 0x0d, 0x6f, 0x3c, 0xf8,
+ 0x73, 0x4f, 0x6f, 0x9a, 0x50, 0xd0, 0x8c, 0x13, 0x27, 0x99, 0xc7, 0xcd, 0x1b, 0x27, 0x82, 0xc7,
+ 0xc7, 0xc2, 0x7a, 0xf3, 0x41, 0x12, 0x2f, 0xf1, 0x69, 0xff, 0x4d, 0x38, 0x9c, 0x4f, 0xa1, 0xe6,
+ 0x68, 0x87, 0xbf, 0x1f, 0xc5, 0xc3, 0xc8, 0x9b, 0x25, 0x8a, 0x4b, 0x47, 0x34, 0xb2, 0x55, 0xf6,
+ 0x47, 0xed, 0x6b, 0x9a, 0x6e, 0xf7, 0x17, 0x77, 0x4e, 0xa4, 0x50, 0x7b, 0x71, 0xb8, 0xb7, 0xd7,
+ 0xb6, 0x34, 0x4a, 0x12, 0x12, 0xa4, 0xa5, 0x91, 0x1d, 0x68, 0xfb, 0x07, 0xbb, 0x5d, 0x9d, 0x84,
+ 0xf0, 0xb4, 0xd7, 0x82, 0x07, 0x0f, 0x1f, 0x3a, 0x1d, 0x53, 0x27, 0x8e, 0x1d, 0x19, 0xd7, 0xb0,
+ 0x91, 0xa7, 0x51, 0x14, 0x46, 0x3d, 0x6a, 0xd0, 0x07, 0xc4, 0x6d, 0x6c, 0x8f, 0xe6, 0xc1, 0x10,
+ 0x97, 0xac, 0x51, 0x7d, 0xe1, 0x8d, 0xb4, 0x10, 0xfe, 0xea, 0x11, 0x4d, 0xe6, 0x51, 0xa0, 0xd0,
+ 0x5e, 0x32, 0x89, 0xc2, 0x7b, 0xc5, 0xd1, 0x3c, 0x28, 0x6d, 0xa8, 0x8a, 0x17, 0x2b, 0x41, 0x98,
+ 0x28, 0x8e, 0x92, 0x76, 0x52, 0xf5, 0xe5, 0x92, 0xec, 0x99, 0xfb, 0xfb, 0xdb, 0x40, 0x12, 0x19,
+ 0x57, 0x49, 0xe4, 0x05, 0xe3, 0x6d, 0x41, 0x51, 0xc3, 0x9b, 0x6f, 0x74, 0x98, 0xa8, 0xb6, 0x8d,
+ 0x04, 0x18, 0x8e, 0x14, 0xfa, 0xf4, 0x54, 0x0e, 0x9e, 0xfa, 0xda, 0x09, 0x5e, 0x25, 0x0a, 0x50,
+ 0x9f, 0xa2, 0x36, 0x04, 0xac, 0x4e, 0x0c, 0x70, 0xce, 0xa2, 0x30, 0x09, 0xb1, 0x37, 0x03, 0xf4,
+ 0x70, 0x6f, 0xdf, 0xdc, 0x08, 0x68, 0xab, 0xd5, 0xfa, 0x11, 0x40, 0xb7, 0xc2, 0x59, 0xa0, 0x88,
+ 0xe5, 0x20, 0x24, 0x5d, 0xb3, 0x75, 0x68, 0x51, 0x80, 0x21, 0x1f, 0x53, 0x9d, 0x07, 0xb0, 0xcd,
+ 0x5e, 0x40, 0x5d, 0xb5, 0x96, 0x2e, 0xf8, 0x38, 0x8a, 0x9c, 0xc7, 0x93, 0xf9, 0x08, 0x76, 0xbf,
+ 0x5e, 0x2f, 0x6b, 0xf0, 0xc6, 0x49, 0x9c, 0x5f, 0x81, 0x4d, 0x96, 0xa4, 0xbd, 0x27, 0x2f, 0x4d,
+ 0x9d, 0xc7, 0x54, 0x89, 0x61, 0x11, 0x30, 0x5f, 0x8f, 0xad, 0x93, 0x84, 0xc4, 0x83, 0xf5, 0x04,
+ 0x1a, 0x4e, 0xad, 0x93, 0x18, 0x9e, 0x0e, 0xf7, 0x0f, 0x60, 0xb9, 0x7e, 0x86, 0x81, 0x61, 0xba,
+ 0x55, 0x6e, 0x8a, 0x8a, 0x39, 0x3c, 0xb4, 0x77, 0x0f, 0xf7, 0x75, 0x32, 0xc3, 0xba, 0xee, 0x81,
+ 0x4e, 0x46, 0x19, 0x41, 0x4d, 0xe1, 0xe9, 0xe0, 0xe0, 0x00, 0x9e, 0x1e, 0xb1, 0x7d, 0xa7, 0x0d,
+ 0x4f, 0x63, 0x78, 0xea, 0x98, 0xfb, 0xa6, 0x6e, 0x8c, 0xc8, 0x04, 0x07, 0x3e, 0xdc, 0xdf, 0xd3,
+ 0xc9, 0x1d, 0x4e, 0xb6, 0xdb, 0x82, 0xde, 0xf7, 0x58, 0xb6, 0xb7, 0x0f, 0x73, 0xdc, 0xc0, 0xd3,
+ 0x6e, 0xab, 0xd5, 0xd6, 0xc9, 0x29, 0x03, 0x05, 0xa7, 0x7b, 0x67, 0xfb, 0xc6, 0x79, 0x90, 0x1c,
+ 0xb0, 0x65, 0x93, 0x07, 0xfb, 0x5d, 0xbd, 0xfe, 0xce, 0xc8, 0xb6, 0x90, 0x9c, 0x43, 0xf5, 0x47,
+ 0x0f, 0xea, 0x5f, 0xfb, 0xce, 0x74, 0x46, 0x5d, 0xde, 0xec, 0xd6, 0x3e, 0xaf, 0xd7, 0xcf, 0xa5,
+ 0x66, 0x57, 0xd8, 0xef, 0x4e, 0x7b, 0xa7, 0x93, 0x13, 0xfb, 0x01, 0x9f, 0x1e, 0x74, 0x72, 0x6d,
+ 0x7f, 0x60, 0xc8, 0x97, 0x9a, 0x7d, 0x80, 0xd1, 0xb2, 0xbd, 0x25, 0xc7, 0xf6, 0x8d, 0xa6, 0x26,
+ 0x21, 0xdf, 0xf7, 0x6b, 0x67, 0xac, 0xea, 0xe4, 0x9b, 0x7d, 0xaa, 0xa9, 0xd7, 0xbf, 0x5d, 0x9c,
+ 0xbe, 0xf9, 0x7a, 0x7c, 0x79, 0x79, 0xfc, 0xdb, 0xd7, 0xeb, 0xe3, 0x9f, 0xa1, 0xf8, 0xfd, 0x6a,
+ 0xf1, 0xeb, 0x0f, 0xbf, 0x5c, 0x5d, 0x5f, 0x7e, 0x7c, 0x7d, 0xfd, 0xe1, 0x12, 0xaa, 0x2f, 0x6c,
+ 0xa7, 0x5e, 0xaf, 0xd5, 0xee, 0x61, 0xbf, 0x3e, 0xcc, 0x68, 0xe4, 0xc0, 0x5e, 0xd9, 0x33, 0xcd,
+ 0x37, 0x42, 0x7c, 0xd1, 0xc9, 0x57, 0xbb, 0xd6, 0x22, 0x97, 0xf6, 0x22, 0x5b, 0xa6, 0xd5, 0x22,
+ 0x6c, 0x4d, 0x85, 0x17, 0x79, 0x81, 0x50, 0x06, 0x8d, 0x5b, 0x7b, 0xfc, 0xa5, 0xcd, 0x1a, 0xe4,
+ 0x6f, 0x50, 0xd5, 0x69, 0xf3, 0x97, 0x2e, 0xab, 0xca, 0xdf, 0xce, 0xfc, 0xd0, 0x59, 0x7d, 0xdd,
+ 0xeb, 0xf2, 0xd7, 0x83, 0x25, 0x39, 0xb3, 0x17, 0x27, 0xde, 0x18, 0xfa, 0x67, 0x65, 0x04, 0xde,
+ 0x71, 0x08, 0xa9, 0xd1, 0xdb, 0x55, 0x52, 0xaf, 0xb9, 0x39, 0xad, 0xd7, 0x5a, 0x8c, 0xb4, 0x12,
+ 0x58, 0x1f, 0xd5, 0x7b, 0x82, 0xfe, 0xe7, 0xda, 0x25, 0x49, 0xf4, 0xa7, 0xa7, 0xb9, 0x76, 0x06,
+ 0x7f, 0x97, 0xbd, 0x51, 0x18, 0x69, 0x91, 0xe2, 0x05, 0xca, 0xa5, 0xae, 0x79, 0xb6, 0x16, 0xda,
+ 0xfe, 0xe7, 0xe8, 0x8b, 0x5e, 0xaf, 0x87, 0xf9, 0x56, 0xe8, 0x83, 0xa9, 0xe6, 0x91, 0xf7, 0x24,
+ 0xd4, 0xad, 0x0b, 0x40, 0x4f, 0xde, 0xe5, 0xac, 0xba, 0x4b, 0xbd, 0x9e, 0xf6, 0xe9, 0x01, 0x54,
+ 0x5a, 0xed, 0xe2, 0xe9, 0xa9, 0x36, 0xd4, 0xae, 0x60, 0xe2, 0x2b, 0xdb, 0xb6, 0xcf, 0x04, 0xd0,
+ 0x85, 0x0e, 0xda, 0x55, 0xbe, 0x18, 0x7d, 0xc1, 0xb9, 0xf4, 0x83, 0xa6, 0x9e, 0x07, 0xc3, 0x30,
+ 0x8a, 0x80, 0x36, 0x60, 0xc6, 0xbb, 0x90, 0x8b, 0x7f, 0xe0, 0x51, 0x72, 0xa1, 0xeb, 0x12, 0xec,
+ 0x08, 0x42, 0xbd, 0x7e, 0xaf, 0xe1, 0x5f, 0x72, 0x25, 0x4d, 0x7a, 0xf2, 0xf4, 0x74, 0x02, 0x33,
+ 0x5e, 0xe3, 0x04, 0x27, 0xf6, 0x95, 0x44, 0x60, 0xd5, 0x03, 0x48, 0x8d, 0x4e, 0xd8, 0x50, 0x17,
+ 0x48, 0xa6, 0xb7, 0x3a, 0x90, 0xca, 0x09, 0xb6, 0xb9, 0x85, 0x62, 0x12, 0x03, 0x19, 0xcd, 0xb5,
+ 0x13, 0x72, 0x2c, 0x0d, 0x03, 0xd4, 0x63, 0x92, 0x31, 0x16, 0x92, 0xc5, 0x98, 0x26, 0x96, 0xb4,
+ 0x1e, 0x81, 0x7e, 0x57, 0x4b, 0x26, 0x5e, 0xac, 0x0f, 0xf0, 0xf7, 0xf3, 0xb7, 0x2f, 0xd6, 0x5d,
+ 0xe8, 0xb9, 0x8a, 0xb9, 0x5c, 0xea, 0x24, 0x05, 0x61, 0xca, 0xd7, 0xf0, 0x8d, 0x44, 0xba, 0x24,
+ 0xd1, 0x16, 0xbf, 0x1c, 0x5f, 0x9f, 0xff, 0x7a, 0x2a, 0x48, 0xfa, 0xe4, 0xe3, 0xd9, 0xd9, 0xe9,
+ 0xe5, 0xd7, 0x5f, 0xcf, 0x4f, 0x3f, 0x5d, 0x59, 0x17, 0xa4, 0x82, 0xda, 0xad, 0xf7, 0x64, 0x85,
+ 0x3d, 0xac, 0xaf, 0xf5, 0xfa, 0x37, 0xe2, 0x20, 0x5b, 0x09, 0xe2, 0x5d, 0x21, 0x9f, 0xb7, 0x25,
+ 0x92, 0x12, 0xf6, 0xe0, 0xda, 0x89, 0x60, 0x39, 0xb9, 0x7a, 0x41, 0xd4, 0xb8, 0x8a, 0x83, 0x23,
+ 0xe0, 0x56, 0x48, 0x03, 0xbe, 0x0e, 0x03, 0x10, 0x6b, 0xf3, 0x61, 0x12, 0x46, 0xab, 0x63, 0x0f,
+ 0x35, 0xb6, 0xcb, 0xb5, 0xfb, 0xa7, 0xa7, 0x89, 0x76, 0x45, 0x60, 0xa2, 0xf5, 0x99, 0x46, 0x2b,
+ 0x7a, 0x4c, 0x9a, 0x08, 0x95, 0x73, 0x3a, 0x34, 0x4e, 0xca, 0x31, 0x93, 0xcf, 0xfc, 0x9e, 0x26,
+ 0x93, 0xd0, 0x95, 0x26, 0x45, 0x59, 0x0b, 0x48, 0xc4, 0xa9, 0x63, 0xf6, 0x1b, 0xb0, 0x8d, 0x42,
+ 0x96, 0x08, 0xf9, 0x9e, 0x33, 0x0d, 0xe3, 0x01, 0xf9, 0x86, 0x5f, 0x70, 0x97, 0xbd, 0x7a, 0x7d,
+ 0xae, 0x79, 0xd2, 0xe6, 0x03, 0x88, 0x49, 0xf4, 0xb8, 0x70, 0xa9, 0x4f, 0x13, 0xaa, 0x48, 0x35,
+ 0x9f, 0xe9, 0x97, 0x25, 0x50, 0xe2, 0x70, 0x02, 0x63, 0x2e, 0xb0, 0x49, 0xb1, 0xce, 0x4e, 0x44,
+ 0x2d, 0x2c, 0x7c, 0xb9, 0x5c, 0x9e, 0x40, 0x11, 0x10, 0x4b, 0xf0, 0xf4, 0xf4, 0x08, 0xa4, 0x41,
+ 0x49, 0x30, 0x48, 0x2c, 0xa0, 0xa8, 0x07, 0x28, 0x7e, 0x7a, 0x4a, 0x00, 0xc4, 0xe5, 0xfa, 0x6a,
+ 0xae, 0xc0, 0x36, 0xf1, 0x86, 0xa5, 0x6b, 0xe2, 0x60, 0x83, 0xc2, 0xe8, 0x65, 0x2b, 0xbb, 0x97,
+ 0xd6, 0x27, 0xe8, 0x19, 0x19, 0x20, 0xe3, 0xcc, 0xb9, 0x16, 0xae, 0x2c, 0x26, 0xcc, 0x97, 0x80,
+ 0x40, 0x42, 0xeb, 0x2b, 0x01, 0xa5, 0xd8, 0x94, 0x1e, 0x36, 0x16, 0xfb, 0xf3, 0x88, 0xdb, 0x95,
+ 0x82, 0x7d, 0xc5, 0xc1, 0xd6, 0xe5, 0x25, 0x4a, 0xf3, 0xd6, 0xd2, 0x59, 0xc1, 0x16, 0x90, 0xd6,
+ 0x0d, 0xf3, 0xa3, 0xb8, 0x59, 0x12, 0x2f, 0x46, 0x7d, 0x68, 0xbd, 0x50, 0x6c, 0xa9, 0xa9, 0x22,
+ 0x05, 0x63, 0xc3, 0x4e, 0x50, 0x7a, 0x15, 0xa4, 0x18, 0x8c, 0x2a, 0xd1, 0xf4, 0x5b, 0x22, 0xbd,
+ 0x5c, 0x49, 0x2f, 0x17, 0xe9, 0x1e, 0x59, 0x27, 0xa8, 0xe3, 0x3b, 0xed, 0xbd, 0x12, 0x6b, 0xa3,
+ 0xb5, 0x6f, 0xb6, 0xd1, 0xda, 0x88, 0xb4, 0xc5, 0xd2, 0x48, 0x35, 0x0e, 0xb3, 0x3a, 0x34, 0x55,
+ 0x35, 0x62, 0xb0, 0x40, 0xa9, 0x5e, 0x61, 0x6a, 0x08, 0x74, 0x79, 0xcc, 0xe0, 0x20, 0x07, 0xa4,
+ 0xd9, 0x62, 0xe6, 0x57, 0xf7, 0x60, 0xb3, 0x51, 0xb3, 0x77, 0x98, 0x1a, 0x82, 0xa8, 0xdc, 0x99,
+ 0x0d, 0x00, 0xa0, 0x71, 0x1b, 0x80, 0xa9, 0xe0, 0x55, 0xcd, 0xe7, 0x83, 0xd9, 0xc3, 0xf5, 0x25,
+ 0xd8, 0x04, 0xea, 0x71, 0x34, 0x66, 0xb6, 0x69, 0x0c, 0xb8, 0x71, 0xb4, 0x75, 0x91, 0xe3, 0xa4,
+ 0xf5, 0x4b, 0x4d, 0x97, 0x21, 0x0f, 0x07, 0x4e, 0x61, 0x1b, 0x18, 0xd2, 0x91, 0x65, 0x52, 0x55,
+ 0xc1, 0x65, 0x13, 0x20, 0x9c, 0x0e, 0xd4, 0x8f, 0x99, 0x6d, 0x63, 0x05, 0x73, 0xdf, 0xe7, 0x85,
+ 0xbf, 0xc0, 0x93, 0x6a, 0xa9, 0x31, 0x03, 0x2d, 0x33, 0x03, 0xb5, 0xc0, 0x96, 0x09, 0x96, 0x33,
+ 0x48, 0xca, 0xe9, 0x9f, 0x13, 0x99, 0xec, 0x96, 0x5a, 0x62, 0xfb, 0x88, 0xab, 0x58, 0xd7, 0x07,
+ 0x81, 0x35, 0x1c, 0x38, 0x5a, 0xa2, 0x5b, 0xea, 0x87, 0xd4, 0xae, 0xd4, 0x22, 0x1b, 0x4b, 0x80,
+ 0x82, 0x3d, 0x2d, 0x31, 0xc0, 0x81, 0xf0, 0x29, 0x68, 0x23, 0x69, 0xc5, 0x56, 0x84, 0x66, 0xe3,
+ 0x61, 0xbb, 0xd4, 0x6c, 0x6c, 0x1f, 0x76, 0xe4, 0xf5, 0xd6, 0x22, 0x4d, 0xc6, 0x4e, 0xfa, 0xa8,
+ 0x50, 0x78, 0x59, 0xa6, 0xf0, 0xe5, 0x7c, 0x6c, 0x48, 0xf2, 0xc6, 0xc6, 0x35, 0x13, 0x61, 0xa2,
+ 0x80, 0x24, 0xcc, 0x08, 0xe9, 0x03, 0xac, 0x96, 0xde, 0x2b, 0x14, 0x55, 0x83, 0xd4, 0x77, 0xa9,
+ 0x03, 0x4d, 0xa2, 0xed, 0x55, 0x02, 0x16, 0xb7, 0xea, 0xc2, 0xd4, 0x10, 0x63, 0x1b, 0x7f, 0xd8,
+ 0x82, 0x9d, 0x97, 0x40, 0x8d, 0x06, 0xab, 0x2c, 0x2f, 0xe0, 0x0b, 0x8d, 0x11, 0x2b, 0xf1, 0xb4,
+ 0x16, 0x94, 0xea, 0x4b, 0xab, 0xa2, 0x1d, 0xe2, 0xd9, 0x0e, 0x08, 0x45, 0xec, 0xc0, 0xd8, 0x2b,
+ 0xa6, 0x6c, 0x71, 0x7b, 0x78, 0x97, 0x05, 0x0d, 0x00, 0xa7, 0x91, 0x03, 0x7e, 0x9f, 0x55, 0xd3,
+ 0x5a, 0x75, 0xd8, 0x14, 0x40, 0xc0, 0xc8, 0x1b, 0xcf, 0xd3, 0xb2, 0x36, 0x96, 0xdd, 0x47, 0x5e,
+ 0x22, 0xde, 0xbb, 0xf8, 0x7e, 0xe7, 0xf8, 0x73, 0x6a, 0x25, 0x4b, 0x9c, 0x08, 0x16, 0xf6, 0xf2,
+ 0x6d, 0x10, 0x00, 0xef, 0xd7, 0x52, 0x0b, 0x90, 0xd3, 0x19, 0x60, 0x18, 0x0c, 0xb2, 0xe4, 0x11,
+ 0x98, 0x90, 0xb4, 0xaa, 0x94, 0xe9, 0x3e, 0xe8, 0xcd, 0xcf, 0xad, 0x2f, 0x0c, 0xdb, 0x9d, 0xd6,
+ 0xfe, 0x76, 0xae, 0x83, 0x2b, 0x5c, 0x39, 0x60, 0xb4, 0x50, 0xf3, 0xd0, 0x6c, 0x01, 0x99, 0x3f,
+ 0x8c, 0xa8, 0x93, 0xd0, 0x53, 0x9f, 0x62, 0xcd, 0x33, 0xec, 0xed, 0x0c, 0x56, 0xda, 0x43, 0x9d,
+ 0x85, 0x72, 0x9e, 0x1c, 0xb4, 0x5a, 0x9d, 0x12, 0x20, 0x76, 0x4d, 0x73, 0xb7, 0xb0, 0xbb, 0x9a,
+ 0x0a, 0xee, 0xab, 0x37, 0x76, 0x50, 0x93, 0x11, 0x74, 0x05, 0xa2, 0xe3, 0x31, 0x8c, 0xa3, 0x82,
+ 0x40, 0x53, 0xd5, 0x25, 0xd9, 0xef, 0x1c, 0xae, 0x79, 0x8e, 0xe8, 0x1e, 0x64, 0xeb, 0x41, 0x11,
+ 0x81, 0x73, 0xa1, 0x88, 0x60, 0x9a, 0x67, 0x48, 0xe3, 0x18, 0xa4, 0x82, 0x67, 0xbc, 0xa1, 0x41,
+ 0x08, 0x32, 0x01, 0x6c, 0x93, 0xd8, 0xb8, 0xa3, 0x51, 0x0c, 0x90, 0xc7, 0x4f, 0x4f, 0x7e, 0xbd,
+ 0xee, 0xa7, 0xaf, 0xe0, 0x3c, 0x0c, 0xeb, 0xf5, 0xa1, 0x71, 0x77, 0xd0, 0x73, 0x41, 0x1b, 0x87,
+ 0xc8, 0x63, 0xae, 0x11, 0x83, 0x67, 0x9d, 0x68, 0xaa, 0xa1, 0xea, 0xfa, 0x67, 0xf3, 0x4b, 0xdf,
+ 0xac, 0xd7, 0x23, 0xf8, 0x7b, 0xd4, 0x1d, 0xb4, 0xac, 0x86, 0x86, 0x8f, 0x8d, 0x08, 0x10, 0xad,
+ 0xeb, 0xa4, 0x16, 0xd6, 0xeb, 0x0e, 0x6a, 0x71, 0x64, 0x4d, 0x63, 0xca, 0x38, 0x79, 0xe7, 0xd4,
+ 0x1d, 0xd3, 0x7f, 0xee, 0x68, 0xff, 0x74, 0x1b, 0xfa, 0x8e, 0x0e, 0x8b, 0xc0, 0xb6, 0x7d, 0x1b,
+ 0xbc, 0x08, 0x68, 0x28, 0x35, 0x7b, 0x0d, 0x4a, 0x7e, 0x2a, 0x35, 0x64, 0xd3, 0xf3, 0x81, 0x89,
+ 0x24, 0x96, 0x00, 0x01, 0x40, 0x32, 0x95, 0x24, 0x2b, 0xcb, 0x93, 0x5a, 0x0d, 0x98, 0x37, 0x97,
+ 0x27, 0xa2, 0xd0, 0xc4, 0xbd, 0xd8, 0x3b, 0x6c, 0xed, 0xb1, 0x31, 0xb8, 0x2e, 0x59, 0xb7, 0x38,
+ 0x99, 0x38, 0x91, 0x76, 0x25, 0x31, 0x6e, 0xbc, 0xc0, 0x1d, 0xf0, 0x3f, 0x28, 0x86, 0xd6, 0xe9,
+ 0x2d, 0x31, 0x30, 0x8e, 0xf0, 0xa8, 0x01, 0xed, 0xa4, 0x12, 0x88, 0x09, 0xf8, 0xdd, 0xce, 0x66,
+ 0x46, 0xe7, 0x2e, 0x9a, 0x57, 0x02, 0x04, 0x7a, 0xb0, 0xf5, 0x7a, 0x2e, 0x58, 0x3e, 0xdc, 0x07,
+ 0x29, 0xe5, 0xbf, 0xa1, 0x3c, 0xc6, 0x00, 0xce, 0x4f, 0x8c, 0x94, 0x4a, 0x54, 0x0c, 0x65, 0x30,
+ 0xe9, 0x0f, 0xdb, 0xab, 0xc6, 0x80, 0x4a, 0x30, 0x22, 0x99, 0xdc, 0x95, 0xed, 0xe6, 0xa5, 0x81,
+ 0xcd, 0x38, 0x0d, 0x68, 0xb5, 0x08, 0x36, 0x03, 0x36, 0x2c, 0xef, 0x6d, 0xc8, 0x4c, 0x5d, 0x30,
+ 0x30, 0x4f, 0xff, 0x71, 0x7e, 0x75, 0x7d, 0x65, 0xc5, 0xe4, 0xe2, 0xf2, 0xc3, 0xc5, 0xe9, 0xa5,
+ 0xe5, 0x13, 0x30, 0x25, 0xcf, 0xce, 0x7f, 0xfe, 0x78, 0x79, 0x7c, 0xf2, 0xee, 0xd4, 0x1a, 0xc2,
+ 0x42, 0x51, 0x35, 0x6e, 0xc4, 0x29, 0x09, 0x04, 0x1a, 0x49, 0x64, 0x73, 0x79, 0x8d, 0xeb, 0xaf,
+ 0xd7, 0x03, 0x8e, 0xd4, 0xa8, 0x68, 0xd3, 0x06, 0x83, 0x12, 0xee, 0xa2, 0xc8, 0x90, 0xb4, 0x20,
+ 0xd9, 0xe4, 0xba, 0xf5, 0x4d, 0x89, 0xc4, 0xa6, 0xd0, 0xc2, 0xa6, 0x2c, 0x09, 0x72, 0xdd, 0x36,
+ 0x51, 0x8f, 0x92, 0x79, 0x10, 0x80, 0x01, 0x4d, 0x6d, 0xf3, 0xde, 0x66, 0xc1, 0x99, 0xeb, 0x57,
+ 0xc3, 0xa7, 0xc1, 0x38, 0x99, 0x1c, 0xb5, 0x07, 0x1e, 0xf0, 0x0c, 0xfd, 0xa2, 0x5b, 0x11, 0xb3,
+ 0x80, 0xf0, 0x17, 0xf5, 0x1e, 0x0a, 0x88, 0xfd, 0x32, 0x01, 0x81, 0xa1, 0x22, 0xbd, 0x72, 0x1a,
+ 0x6c, 0x15, 0xd8, 0x28, 0xd1, 0x53, 0xc5, 0xcc, 0x35, 0x70, 0x30, 0xe0, 0x00, 0x5a, 0x11, 0x58,
+ 0x7e, 0x30, 0x38, 0xae, 0x6c, 0x6d, 0xf0, 0x72, 0x2c, 0x52, 0xe3, 0xbd, 0x93, 0x4c, 0x6c, 0x1b,
+ 0x7f, 0xe1, 0x6d, 0x59, 0x14, 0x4e, 0xab, 0x61, 0x9d, 0xb1, 0x1f, 0xde, 0x38, 0xfe, 0x35, 0x78,
+ 0x2c, 0xf5, 0x7a, 0xfe, 0x8c, 0x7c, 0xbe, 0xde, 0xf6, 0x1e, 0xf6, 0x39, 0x04, 0xe7, 0x9a, 0xff,
+ 0x2d, 0x6f, 0x13, 0x53, 0x7f, 0x04, 0x02, 0x0a, 0x7e, 0xcb, 0xeb, 0x03, 0x63, 0x8c, 0x24, 0x33,
+ 0x86, 0xda, 0x12, 0x1e, 0x84, 0xa9, 0xc1, 0x90, 0x79, 0x7a, 0x4a, 0xa9, 0x4f, 0x53, 0xa5, 0x1a,
+ 0x55, 0x07, 0x79, 0x40, 0x90, 0xdf, 0x36, 0x58, 0x76, 0x18, 0xf6, 0x30, 0x0f, 0xb8, 0x49, 0x07,
+ 0xfc, 0x32, 0x71, 0x62, 0x89, 0xed, 0xe4, 0x7d, 0x10, 0x7c, 0xc9, 0x1b, 0x48, 0xc0, 0xc8, 0xbb,
+ 0x2f, 0x8c, 0x3d, 0x66, 0xdb, 0x76, 0x76, 0xcd, 0xd6, 0x8a, 0xdc, 0x5a, 0xa0, 0xa1, 0xb9, 0xb7,
+ 0xd7, 0xdd, 0x28, 0x1f, 0x98, 0x8a, 0x64, 0xf2, 0x1d, 0xb4, 0x58, 0x51, 0x57, 0x82, 0xfd, 0x1c,
+ 0xbe, 0x48, 0x5f, 0x7a, 0x9a, 0xea, 0x7a, 0x77, 0x20, 0x26, 0x54, 0x47, 0xdd, 0xa4, 0x37, 0x0d,
+ 0x87, 0xa9, 0xcd, 0xf6, 0xfe, 0xc1, 0xc1, 0x46, 0x54, 0x65, 0x51, 0xca, 0xdd, 0xee, 0xde, 0x2e,
+ 0x8b, 0x52, 0x6a, 0x19, 0xdf, 0x67, 0xd6, 0x71, 0x0f, 0x75, 0xa8, 0x17, 0xc4, 0x33, 0x00, 0xe8,
+ 0x2a, 0x9c, 0x47, 0x60, 0x22, 0x3f, 0x3d, 0xad, 0x16, 0x95, 0xea, 0x52, 0x64, 0x75, 0x59, 0xfa,
+ 0xaf, 0xf4, 0x41, 0xe3, 0xce, 0x3c, 0x2c, 0x53, 0x86, 0x5c, 0x09, 0xee, 0x76, 0x84, 0x9d, 0xcc,
+ 0xd9, 0xda, 0xcf, 0x40, 0x1f, 0xa6, 0x2a, 0xdf, 0xcd, 0xa2, 0x60, 0xc5, 0x60, 0x19, 0x5f, 0x0e,
+ 0x8b, 0x96, 0xb5, 0x4d, 0x11, 0x2d, 0xc3, 0xfd, 0xc3, 0x68, 0x59, 0x2c, 0x05, 0x9e, 0xc6, 0xf0,
+ 0xf6, 0x89, 0x3a, 0xb7, 0xef, 0x9d, 0x19, 0xfa, 0x5b, 0xce, 0xd3, 0xd3, 0xcc, 0xc0, 0xc0, 0xb1,
+ 0x30, 0x98, 0x27, 0xb6, 0x78, 0x85, 0xf5, 0x8a, 0x27, 0x1b, 0x2d, 0xc2, 0x31, 0x46, 0xd5, 0x7c,
+ 0x6d, 0x82, 0x42, 0x1d, 0xc3, 0x6a, 0xf8, 0x08, 0x74, 0x84, 0x71, 0x35, 0x7c, 0x8c, 0xa1, 0xb4,
+ 0x17, 0xad, 0x30, 0x3a, 0x3a, 0x72, 0xda, 0x84, 0x39, 0x6a, 0xcc, 0x1d, 0xc6, 0x71, 0x1e, 0x35,
+ 0x61, 0x0d, 0x2b, 0x8e, 0x0f, 0x36, 0x87, 0xfb, 0xa8, 0x88, 0x78, 0xba, 0xf7, 0x1d, 0x6c, 0xf1,
+ 0x2c, 0xaa, 0x93, 0x18, 0x23, 0x67, 0xe8, 0xb8, 0xd4, 0xa6, 0xe4, 0x06, 0x87, 0x80, 0xe1, 0x48,
+ 0xb2, 0x84, 0x0d, 0x2c, 0xc1, 0xf9, 0x1d, 0x9b, 0xe3, 0xe9, 0x09, 0x49, 0xb3, 0x54, 0xfc, 0x71,
+ 0x20, 0x96, 0x4b, 0xea, 0xc7, 0x94, 0x2d, 0xf2, 0xd4, 0x1e, 0x69, 0x2a, 0x5b, 0x1b, 0xcc, 0x38,
+ 0xfd, 0x7c, 0xfa, 0x05, 0xc3, 0x1c, 0x25, 0xd0, 0xcf, 0xe1, 0xe9, 0xf4, 0xf7, 0x41, 0xef, 0xe2,
+ 0x10, 0x9b, 0xa0, 0xe7, 0x73, 0x0c, 0x28, 0x40, 0x61, 0x55, 0xae, 0x80, 0x37, 0x82, 0x15, 0xe4,
+ 0x7c, 0x08, 0x18, 0xb7, 0x60, 0x37, 0xe1, 0x37, 0x24, 0xb0, 0x11, 0x96, 0x47, 0x68, 0x00, 0x6e,
+ 0xeb, 0x90, 0x5a, 0xa5, 0x1e, 0x1c, 0x28, 0x00, 0xe4, 0x6b, 0x90, 0xad, 0x94, 0x2c, 0x96, 0xc0,
+ 0x28, 0xd0, 0x33, 0xa1, 0xd1, 0xd9, 0x4a, 0x58, 0x43, 0xb4, 0xcf, 0x8a, 0x52, 0x71, 0x8d, 0xa4,
+ 0x52, 0x1b, 0x6a, 0xe8, 0xa2, 0x82, 0x3b, 0x14, 0xa2, 0x0f, 0x63, 0xa0, 0x74, 0x43, 0x37, 0x41,
+ 0xe0, 0xe7, 0x91, 0x87, 0xb6, 0xd2, 0xc3, 0x16, 0x25, 0xa2, 0x43, 0xea, 0x81, 0x91, 0x46, 0x14,
+ 0xb5, 0x41, 0x1b, 0x2a, 0xbc, 0xff, 0x6b, 0xee, 0x45, 0x32, 0x9a, 0x82, 0x25, 0x33, 0x6c, 0x36,
+ 0x98, 0xf3, 0x29, 0x40, 0x6a, 0x16, 0xff, 0xcf, 0x63, 0xf3, 0xa8, 0xbf, 0x5b, 0x65, 0x06, 0xfa,
+ 0x5e, 0xd1, 0xf7, 0x28, 0x19, 0x6d, 0x2d, 0xce, 0x3f, 0x40, 0x0d, 0x84, 0x6b, 0x41, 0xfc, 0xa0,
+ 0xe4, 0x6b, 0x1d, 0xb6, 0x56, 0x2d, 0xb6, 0x5a, 0x0b, 0xa4, 0x4b, 0xeb, 0x70, 0x73, 0x40, 0x9f,
+ 0x99, 0xc6, 0x45, 0xdf, 0x97, 0x87, 0xa4, 0x91, 0xa7, 0x3b, 0xe0, 0x20, 0xc9, 0xce, 0xae, 0x04,
+ 0x64, 0x5c, 0x62, 0x3a, 0xa8, 0xf1, 0xe3, 0xf4, 0x26, 0xf4, 0xe5, 0x25, 0xaf, 0xfb, 0xb7, 0xb0,
+ 0x17, 0xea, 0x15, 0x6f, 0x97, 0xe1, 0x15, 0x7c, 0x4b, 0x1d, 0x8d, 0x24, 0x39, 0xfa, 0x8c, 0x5e,
+ 0x29, 0xb3, 0xed, 0xda, 0xdd, 0x32, 0xd9, 0xbd, 0x0f, 0x32, 0xfd, 0x19, 0x37, 0x01, 0x30, 0x23,
+ 0x0c, 0x02, 0x86, 0xa0, 0x4e, 0x99, 0xe2, 0x47, 0x4b, 0x5f, 0x52, 0x01, 0xb2, 0xe4, 0xaf, 0x95,
+ 0x1a, 0x85, 0x1c, 0xf4, 0x78, 0x4d, 0x2b, 0xf0, 0x33, 0x27, 0x5e, 0xab, 0xa5, 0x0b, 0xab, 0x71,
+ 0xe9, 0xac, 0x21, 0xb3, 0xd7, 0x34, 0x3e, 0x1e, 0xbc, 0x80, 0x80, 0x4d, 0x9c, 0x60, 0x88, 0x18,
+ 0xe2, 0x1d, 0xb0, 0x9a, 0x3f, 0x19, 0xf1, 0xc4, 0x99, 0x82, 0xc1, 0x02, 0xff, 0x3b, 0xea, 0xb6,
+ 0xb8, 0x17, 0x0b, 0x22, 0x76, 0xbb, 0x63, 0x2c, 0x54, 0x25, 0xfc, 0x18, 0x2b, 0x95, 0x97, 0x92,
+ 0x51, 0xaf, 0x39, 0x80, 0xe2, 0x9d, 0x00, 0x68, 0xfd, 0x8e, 0x2a, 0xc3, 0xd0, 0xa5, 0x3b, 0x46,
+ 0x42, 0xe3, 0x04, 0xd4, 0x95, 0xc3, 0xbc, 0x37, 0xf3, 0x99, 0x93, 0x1f, 0xae, 0x2c, 0x71, 0x1a,
+ 0xd4, 0xa6, 0x9c, 0x52, 0x3a, 0x9d, 0xdd, 0x8e, 0x38, 0x29, 0xd9, 0x43, 0x4f, 0x1a, 0xa5, 0x7f,
+ 0xf7, 0x10, 0x0f, 0x41, 0x86, 0xf2, 0xb9, 0x10, 0xa8, 0x80, 0x52, 0x55, 0x09, 0x0a, 0xe1, 0x19,
+ 0xc3, 0xbb, 0x07, 0x82, 0x09, 0xc3, 0x24, 0x6b, 0xde, 0x38, 0x06, 0xde, 0x98, 0xd6, 0x07, 0x61,
+ 0x0e, 0xb2, 0x2a, 0x06, 0x03, 0x8c, 0x94, 0xf1, 0x1c, 0xd8, 0xe9, 0xf9, 0x09, 0x17, 0x46, 0xae,
+ 0xa0, 0x80, 0x79, 0xcc, 0xaa, 0x07, 0xec, 0x0c, 0x2f, 0xa9, 0x3b, 0x2d, 0xde, 0x6b, 0x81, 0x91,
+ 0x96, 0x88, 0x28, 0x9f, 0x3d, 0x67, 0xd2, 0xb5, 0x87, 0x5b, 0x92, 0xd5, 0x81, 0x65, 0xcf, 0x1d,
+ 0x7c, 0x83, 0x0d, 0x06, 0x56, 0xf7, 0xa2, 0xe0, 0xab, 0xab, 0xf2, 0x1b, 0x1b, 0x7a, 0x10, 0x14,
+ 0x0c, 0x7f, 0x2b, 0x2a, 0xbc, 0x12, 0xc9, 0xf7, 0x57, 0xf3, 0xe7, 0xb4, 0xa7, 0x54, 0x1b, 0x49,
+ 0x2f, 0x52, 0x2c, 0x00, 0x48, 0x65, 0x99, 0x05, 0xb8, 0x39, 0x8e, 0x96, 0xd6, 0x7a, 0xdc, 0xb2,
+ 0x0c, 0x6d, 0x9e, 0x2e, 0x85, 0x87, 0xb2, 0xce, 0x85, 0xc8, 0xa4, 0x0a, 0xfb, 0xc3, 0x60, 0x01,
+ 0xf7, 0x38, 0x16, 0x8f, 0x42, 0x88, 0x0e, 0x35, 0xf5, 0x78, 0x88, 0xde, 0x6f, 0x18, 0xf1, 0x90,
+ 0x71, 0x3c, 0x9f, 0x21, 0xc5, 0x49, 0x62, 0xb3, 0x80, 0xf0, 0x02, 0xde, 0x74, 0x1e, 0x1f, 0xd9,
+ 0x6d, 0x6d, 0x8e, 0xcf, 0xa5, 0xde, 0x5b, 0x41, 0x46, 0xa1, 0xfd, 0x18, 0x67, 0xc6, 0x03, 0x52,
+ 0x1e, 0x46, 0xa1, 0x90, 0xf2, 0x62, 0x90, 0xeb, 0xa7, 0x5f, 0xc1, 0x89, 0xba, 0xfe, 0xa0, 0xa2,
+ 0xf9, 0x91, 0x85, 0xea, 0xe6, 0xe0, 0x67, 0x67, 0xd4, 0x20, 0xf1, 0x86, 0x3f, 0x70, 0x57, 0x62,
+ 0x4a, 0x25, 0x62, 0x0b, 0x0d, 0xa5, 0x1e, 0x3b, 0xca, 0x4c, 0xc8, 0x30, 0x0b, 0x9c, 0x27, 0x9f,
+ 0x87, 0x5f, 0x7a, 0xdc, 0x3f, 0x48, 0xe4, 0x78, 0x55, 0x2e, 0xd9, 0x02, 0x60, 0x3b, 0x3c, 0x39,
+ 0xc9, 0x58, 0x1e, 0x37, 0x34, 0x83, 0xc2, 0x2a, 0x54, 0xb9, 0x83, 0x39, 0x0b, 0xee, 0xa1, 0x2f,
+ 0x01, 0x42, 0xb8, 0xca, 0x2c, 0x2c, 0x38, 0x0b, 0x60, 0x3f, 0x7b, 0xb1, 0x04, 0x3a, 0xf0, 0x32,
+ 0x9e, 0x1f, 0x6e, 0x34, 0x29, 0x39, 0xb7, 0x32, 0x84, 0x9a, 0xfb, 0xfb, 0x25, 0x06, 0x77, 0x5c,
+ 0xc0, 0x06, 0xa8, 0x50, 0xf5, 0xeb, 0x57, 0x06, 0xf3, 0xd7, 0xaf, 0xb0, 0x8f, 0x8b, 0xe5, 0x60,
+ 0x55, 0xf2, 0x01, 0x45, 0xd5, 0x5a, 0xc8, 0x06, 0x4b, 0x16, 0xb6, 0xd6, 0x28, 0x40, 0xf6, 0x0c,
+ 0x6f, 0x6b, 0x6b, 0x07, 0x8e, 0xd2, 0x24, 0x3a, 0x33, 0xd0, 0x74, 0x2d, 0x20, 0x9f, 0xbf, 0x20,
+ 0xb9, 0x06, 0x32, 0x9a, 0x58, 0x28, 0x59, 0xa2, 0xd0, 0x55, 0x1b, 0x80, 0x1d, 0x3a, 0x64, 0x9e,
+ 0x24, 0x92, 0xb8, 0x16, 0xc1, 0x20, 0x03, 0xca, 0x6a, 0xac, 0xc0, 0xc8, 0xe6, 0xb1, 0x23, 0x02,
+ 0x3a, 0x5d, 0xd3, 0x85, 0xa7, 0x89, 0xe6, 0x78, 0xab, 0xbb, 0x59, 0x0e, 0x62, 0x58, 0x63, 0x85,
+ 0x18, 0x99, 0x99, 0x1b, 0x3f, 0x7b, 0x12, 0x9e, 0xb9, 0x92, 0x24, 0x42, 0x42, 0xca, 0xa3, 0xb6,
+ 0x28, 0x95, 0x80, 0x50, 0x6c, 0x9a, 0xdb, 0xf3, 0x20, 0x89, 0x1c, 0x2d, 0x02, 0xa9, 0x1d, 0xc8,
+ 0xc7, 0x34, 0xac, 0x1f, 0x6f, 0xc9, 0xf8, 0x07, 0x76, 0x7b, 0x43, 0xc3, 0x74, 0x82, 0xda, 0x4b,
+ 0x26, 0xe0, 0x5c, 0x1d, 0xa7, 0x09, 0x03, 0x40, 0xd2, 0x60, 0x11, 0x25, 0xe2, 0x64, 0x5e, 0x49,
+ 0x42, 0x65, 0x16, 0x79, 0x53, 0x8f, 0x29, 0x11, 0xce, 0xd6, 0x5c, 0xb7, 0xb6, 0xcd, 0x2d, 0x55,
+ 0x14, 0x63, 0x65, 0x27, 0x73, 0x09, 0x62, 0x6e, 0xf4, 0xef, 0x72, 0x0e, 0xe6, 0x0a, 0x6c, 0xc8,
+ 0x78, 0xd9, 0x3c, 0xe4, 0xae, 0x03, 0xc6, 0x76, 0x74, 0x43, 0x8e, 0x84, 0x00, 0x1f, 0x0f, 0x91,
+ 0xaa, 0xc0, 0x8b, 0x18, 0x1a, 0xc2, 0x86, 0x04, 0x3f, 0x42, 0xe8, 0x5a, 0xb1, 0xbe, 0x34, 0xa0,
+ 0xc6, 0x5f, 0x41, 0x16, 0x69, 0xe5, 0x5b, 0x42, 0x02, 0xe2, 0xf3, 0x6d, 0x19, 0xc2, 0xb8, 0xb5,
+ 0x9a, 0x8f, 0x67, 0xd3, 0xbe, 0x31, 0x0f, 0x62, 0x67, 0x44, 0xc1, 0x27, 0xc9, 0x4a, 0x24, 0xb1,
+ 0xfb, 0x98, 0x97, 0x06, 0x21, 0x3f, 0x99, 0xfb, 0x19, 0xc0, 0x19, 0xdb, 0x50, 0xc8, 0x09, 0x09,
+ 0x50, 0xee, 0xb3, 0x30, 0xd0, 0x80, 0xff, 0xb1, 0x92, 0x5e, 0xc8, 0x24, 0x41, 0x6a, 0xfb, 0x68,
+ 0xb8, 0xed, 0x02, 0x62, 0x04, 0x16, 0x0f, 0x35, 0x34, 0x93, 0xec, 0x63, 0x93, 0xb1, 0xad, 0x7e,
+ 0x56, 0x1b, 0x79, 0x65, 0x44, 0x67, 0xbe, 0x03, 0xd5, 0x3b, 0xff, 0xcd, 0xfb, 0xfe, 0x53, 0xd3,
+ 0x3e, 0xff, 0xb7, 0xfe, 0xe5, 0x2f, 0xfa, 0x3f, 0xf5, 0x1d, 0xa2, 0xfe, 0xb9, 0xa5, 0xea, 0x0d,
+ 0xf5, 0x0b, 0x48, 0x3a, 0xad, 0x06, 0x7b, 0x9c, 0x86, 0x99, 0x9e, 0x9e, 0x5c, 0x74, 0xe1, 0xf1,
+ 0x05, 0x80, 0x19, 0x33, 0xf3, 0x2a, 0xad, 0x24, 0xe0, 0x1b, 0x69, 0x43, 0x7b, 0x06, 0x10, 0xc1,
+ 0xd4, 0xcc, 0xcd, 0x03, 0x16, 0x1f, 0x8a, 0x47, 0x7b, 0x64, 0x7c, 0x0b, 0xbd, 0x40, 0x5b, 0x3d,
+ 0x55, 0x50, 0xc6, 0x83, 0xb1, 0xa5, 0xaa, 0x40, 0x2c, 0x04, 0x87, 0x8c, 0x06, 0xda, 0x7c, 0x50,
+ 0x7b, 0xac, 0xd7, 0x51, 0xa0, 0x03, 0xd4, 0x80, 0x2a, 0x53, 0xb7, 0xc4, 0xe1, 0x16, 0x96, 0x91,
+ 0xe9, 0x80, 0xcb, 0x7a, 0xcb, 0x11, 0xa4, 0xa1, 0x5b, 0x59, 0x51, 0xac, 0x31, 0x2d, 0xa3, 0x6b,
+ 0x25, 0x21, 0xac, 0xec, 0xac, 0x45, 0x25, 0x25, 0x7e, 0x77, 0xc8, 0xcf, 0x6f, 0xf1, 0x48, 0x8d,
+ 0x3d, 0x64, 0x0b, 0xf0, 0xf9, 0x3b, 0xb3, 0x99, 0xba, 0xdd, 0x83, 0x4a, 0x95, 0xb2, 0x4d, 0xbe,
+ 0x0a, 0x8f, 0xef, 0xa4, 0x8e, 0x42, 0x94, 0x71, 0x83, 0xe3, 0xfb, 0xca, 0x94, 0x1d, 0x09, 0x2a,
+ 0x61, 0x80, 0x6e, 0x42, 0x66, 0xc2, 0x52, 0x1e, 0x7d, 0xd8, 0x14, 0xf0, 0x2a, 0xb5, 0x81, 0x2a,
+ 0x25, 0x05, 0x8a, 0xd1, 0x50, 0x8b, 0xc0, 0x93, 0x5c, 0x88, 0x10, 0xff, 0xca, 0x71, 0x80, 0x29,
+ 0xa9, 0x7f, 0x73, 0xa9, 0xe7, 0xc7, 0xa1, 0x11, 0x3f, 0x00, 0x4d, 0x35, 0x14, 0xb3, 0xa1, 0xcd,
+ 0x32, 0xfe, 0x6c, 0x77, 0x90, 0xc9, 0xc2, 0x2c, 0xbb, 0x84, 0x9d, 0xb0, 0xdd, 0xd2, 0xc7, 0x58,
+ 0x7d, 0xee, 0x7c, 0x8d, 0x9d, 0x40, 0x6a, 0xf8, 0xc7, 0x0e, 0x85, 0x9d, 0x8e, 0xee, 0xfc, 0x46,
+ 0x19, 0xc0, 0xd9, 0x1c, 0xe6, 0xf8, 0x0c, 0x72, 0x7e, 0x18, 0x46, 0xb4, 0xf9, 0x2d, 0xfe, 0x0a,
+ 0xe6, 0x2e, 0x78, 0x58, 0x20, 0xf0, 0xbf, 0x60, 0xe6, 0x52, 0x59, 0x05, 0x3a, 0x7f, 0x12, 0x34,
+ 0x1e, 0x88, 0xe8, 0xce, 0x7a, 0x40, 0x02, 0xa5, 0xf0, 0x21, 0xc6, 0xe3, 0xc3, 0x34, 0xb2, 0x50,
+ 0xc5, 0xf0, 0x39, 0x21, 0xf1, 0x45, 0xe0, 0x1f, 0x3b, 0xe3, 0xda, 0x64, 0x90, 0x58, 0xe8, 0x6d,
+ 0xea, 0x9a, 0x9a, 0x46, 0xef, 0x55, 0x54, 0x41, 0xc6, 0x6c, 0x1e, 0x4f, 0xb4, 0x85, 0x28, 0xb3,
+ 0xd4, 0x8e, 0xd1, 0x36, 0x8d, 0xb6, 0x4a, 0xa6, 0x60, 0x48, 0x5b, 0xd1, 0x40, 0x9d, 0xcd, 0x23,
+ 0xaa, 0x5a, 0x2a, 0x0f, 0xce, 0xa9, 0xb0, 0x53, 0xb3, 0xc7, 0xc8, 0x1b, 0x4f, 0x12, 0x4b, 0xfd,
+ 0x3f, 0xff, 0x5b, 0x69, 0x9b, 0xed, 0xb6, 0xf2, 0x86, 0x06, 0x5e, 0xac, 0x5c, 0xc0, 0x30, 0xb7,
+ 0xb0, 0xb2, 0x3b, 0x45, 0xfb, 0xee, 0x87, 0x5e, 0x14, 0x0e, 0x6f, 0x8d, 0x68, 0xae, 0xab, 0xe8,
+ 0xe0, 0x1e, 0x76, 0xcc, 0x8e, 0x14, 0xdc, 0xc5, 0xd0, 0xa0, 0x01, 0x1e, 0xa9, 0x0f, 0x6a, 0x95,
+ 0x3d, 0x8f, 0xfc, 0xb0, 0x92, 0x66, 0x39, 0x12, 0x1a, 0x34, 0x25, 0xc7, 0xa8, 0x66, 0x47, 0x4f,
+ 0x4f, 0x78, 0x74, 0x18, 0x0d, 0x60, 0xeb, 0xa3, 0xbe, 0x39, 0x08, 0xac, 0x44, 0xd7, 0xd8, 0x51,
+ 0x37, 0xfa, 0x4e, 0x65, 0xe1, 0x30, 0x98, 0x1f, 0x11, 0xc8, 0x26, 0x9b, 0x7a, 0xc1, 0x66, 0x1a,
+ 0xa0, 0x30, 0x24, 0xd0, 0x27, 0x5a, 0x93, 0x87, 0xa6, 0xb9, 0xdf, 0x02, 0xeb, 0x6b, 0xb7, 0xbb,
+ 0xdf, 0x35, 0x0f, 0x0f, 0x5b, 0xba, 0x65, 0x32, 0x0b, 0xc6, 0xdc, 0x6c, 0xd6, 0x21, 0x93, 0xf2,
+ 0x13, 0xa1, 0x35, 0xef, 0xb2, 0xf2, 0x4c, 0x97, 0xa5, 0x86, 0xed, 0x3e, 0xe3, 0xd3, 0x76, 0x4c,
+ 0x34, 0x74, 0x70, 0xe0, 0x4b, 0x27, 0x18, 0x6f, 0xa3, 0x91, 0x19, 0x15, 0xa3, 0xce, 0x0c, 0x7e,
+ 0x4a, 0x04, 0xd3, 0x7b, 0x9a, 0xfa, 0x29, 0x0a, 0x83, 0xb1, 0x12, 0x8e, 0x46, 0x68, 0xf3, 0xca,
+ 0x41, 0x00, 0x82, 0x33, 0x6c, 0xf6, 0x96, 0x18, 0x2e, 0xb7, 0x00, 0x21, 0xf7, 0x8a, 0x39, 0x00,
+ 0xc9, 0x91, 0x99, 0x03, 0x70, 0x3d, 0xa1, 0x59, 0x70, 0x1b, 0x84, 0x0f, 0x8a, 0xa0, 0x1b, 0xaa,
+ 0xf8, 0x60, 0x6d, 0x2b, 0xc9, 0xc4, 0x09, 0x14, 0x53, 0x8a, 0xe0, 0x20, 0xc6, 0x77, 0x0f, 0x3b,
+ 0x5b, 0xda, 0x2e, 0xcc, 0x64, 0x41, 0x35, 0x8c, 0x01, 0x02, 0xae, 0x86, 0x31, 0x34, 0x2e, 0xd4,
+ 0x30, 0xd8, 0x40, 0x5c, 0x0d, 0xf3, 0xfc, 0x33, 0xb7, 0xe0, 0xcc, 0x81, 0xf6, 0xc5, 0xe3, 0xf0,
+ 0x8b, 0xd4, 0x0e, 0x50, 0xab, 0x03, 0xe7, 0x18, 0x83, 0xf1, 0x98, 0xf7, 0xeb, 0x14, 0xd2, 0x5a,
+ 0x84, 0x15, 0x04, 0x96, 0x3a, 0x25, 0x73, 0xb6, 0x6c, 0x9e, 0x25, 0x92, 0x9d, 0x77, 0x83, 0xbd,
+ 0xa2, 0x25, 0x2c, 0xab, 0xd3, 0x99, 0xfb, 0x80, 0x7b, 0x82, 0x3b, 0x14, 0xf1, 0xa8, 0x1a, 0x6a,
+ 0x39, 0x36, 0x62, 0x90, 0x8d, 0x18, 0x08, 0xb3, 0xc5, 0x7d, 0x89, 0xd9, 0xb2, 0x7a, 0xc6, 0x2e,
+ 0xe6, 0x04, 0x35, 0x7f, 0x43, 0x23, 0x3c, 0xe5, 0xd1, 0x44, 0xc2, 0x04, 0x7a, 0xb4, 0x65, 0x68,
+ 0xdd, 0x3d, 0x14, 0xf2, 0x86, 0xe1, 0x70, 0xe3, 0xee, 0x62, 0x10, 0x2b, 0xd5, 0xa7, 0xd9, 0x96,
+ 0x61, 0x50, 0x0a, 0xc4, 0x4d, 0xd2, 0x50, 0x55, 0xb4, 0xa1, 0xf6, 0x0e, 0xd7, 0x8d, 0x76, 0x30,
+ 0xa7, 0xa3, 0xcf, 0xe5, 0x39, 0x08, 0x5f, 0x6c, 0xf5, 0xbb, 0x2a, 0xc5, 0x6d, 0xd5, 0xcf, 0x62,
+ 0xb1, 0xdf, 0xbf, 0x48, 0xb6, 0x05, 0xf0, 0x3b, 0xc1, 0x64, 0xc4, 0x4a, 0x65, 0xc8, 0xdb, 0xf5,
+ 0x9e, 0x3b, 0xe7, 0x53, 0x58, 0x98, 0x69, 0xe5, 0x9c, 0x2f, 0x4d, 0x13, 0xe0, 0x67, 0xcf, 0xa5,
+ 0xa1, 0xad, 0xd4, 0xe7, 0x30, 0x81, 0xea, 0x98, 0x5c, 0x89, 0x9c, 0xc0, 0x0d, 0xa7, 0x1a, 0x8f,
+ 0x63, 0xb7, 0x0c, 0x29, 0x82, 0xbd, 0x31, 0x00, 0x96, 0x5a, 0x4d, 0x0d, 0x4d, 0xce, 0x89, 0x50,
+ 0x2d, 0x4c, 0x56, 0xd2, 0xbf, 0xaa, 0x0d, 0x47, 0x6b, 0x34, 0xc2, 0x86, 0x47, 0x3a, 0x7b, 0xec,
+ 0x18, 0xa0, 0x63, 0x96, 0x1e, 0x3f, 0x74, 0x0a, 0x11, 0x1e, 0x0c, 0xed, 0x17, 0xa2, 0x2e, 0x6b,
+ 0xf1, 0x2b, 0x51, 0xeb, 0x25, 0x60, 0xf8, 0x81, 0xc7, 0x82, 0x03, 0xef, 0x76, 0x9e, 0x3f, 0x48,
+ 0x28, 0xce, 0x51, 0x7a, 0x7a, 0xd0, 0x6d, 0x57, 0x1d, 0x1f, 0xc8, 0x8d, 0x97, 0x3a, 0x91, 0xc2,
+ 0x17, 0xa9, 0x21, 0xd0, 0x6d, 0x17, 0x1d, 0xff, 0x95, 0xac, 0x07, 0x24, 0x96, 0xcd, 0xee, 0x34,
+ 0x53, 0xfb, 0x45, 0x6b, 0x9c, 0x1b, 0x00, 0xb1, 0x40, 0x12, 0x93, 0x02, 0x3c, 0xf8, 0x37, 0xc4,
+ 0x78, 0xdd, 0xfd, 0x6d, 0x2c, 0x3c, 0x69, 0x8e, 0x11, 0xf4, 0xa4, 0xeb, 0x75, 0xd7, 0x00, 0xd3,
+ 0x1b, 0x8c, 0x70, 0x70, 0x9f, 0x2d, 0xf6, 0x7a, 0xef, 0x81, 0x65, 0x34, 0x4f, 0xae, 0x58, 0xa0,
+ 0x16, 0x38, 0xb4, 0xda, 0xbe, 0x02, 0x1e, 0x1e, 0xb2, 0x10, 0x78, 0x8d, 0x9d, 0xa4, 0xa6, 0x7e,
+ 0x8a, 0x40, 0xfb, 0x10, 0x8f, 0xee, 0x04, 0xe7, 0x88, 0x9d, 0x37, 0xc0, 0xd6, 0xea, 0xc5, 0xe8,
+ 0xc5, 0xb8, 0xd0, 0x6f, 0x80, 0x2d, 0x6c, 0x17, 0x7e, 0x2c, 0xf6, 0x04, 0x76, 0xf7, 0x7c, 0x30,
+ 0xc7, 0x23, 0xe3, 0x19, 0xfc, 0xa4, 0x9c, 0x8d, 0x55, 0x48, 0x0c, 0xdd, 0x42, 0x1a, 0xf8, 0x7a,
+ 0xe2, 0x6f, 0x85, 0x88, 0x6c, 0xef, 0x99, 0x1c, 0x37, 0x18, 0x81, 0xe4, 0xb8, 0x41, 0xcd, 0x23,
+ 0xf2, 0x81, 0x59, 0xfc, 0x61, 0x98, 0x1d, 0x1d, 0xb9, 0x05, 0x49, 0x0f, 0xf8, 0x89, 0xa4, 0x3c,
+ 0xdd, 0x99, 0x3d, 0x07, 0x00, 0x25, 0x0b, 0x77, 0x64, 0xcf, 0xea, 0xf5, 0x19, 0xba, 0xb8, 0xe0,
+ 0x61, 0x78, 0x86, 0x94, 0xbd, 0x07, 0xbe, 0x85, 0x67, 0x94, 0x27, 0xd6, 0x81, 0x7f, 0x51, 0x1b,
+ 0x96, 0xc4, 0x1c, 0x31, 0xcc, 0xbf, 0x96, 0x13, 0xab, 0xb5, 0x25, 0x31, 0x33, 0x42, 0x23, 0x92,
+ 0x47, 0x42, 0xad, 0x16, 0x31, 0xad, 0x0e, 0x48, 0x1b, 0x9d, 0x74, 0x30, 0x7c, 0xcc, 0x93, 0x37,
+ 0xc8, 0xc4, 0x1e, 0x03, 0x6e, 0x8d, 0xca, 0x14, 0xc7, 0x7a, 0xbd, 0x6a, 0xe6, 0xb9, 0x34, 0x13,
+ 0xc5, 0x15, 0x69, 0x2d, 0x3c, 0x4d, 0xc2, 0x07, 0x15, 0xec, 0x23, 0x78, 0x31, 0xd9, 0x3c, 0x26,
+ 0xd8, 0x5a, 0xed, 0x7c, 0xc6, 0xde, 0xa3, 0xc6, 0x22, 0x49, 0x92, 0x85, 0x0f, 0x94, 0x31, 0xe5,
+ 0x26, 0xbc, 0xc8, 0x3e, 0x8b, 0xb5, 0xd5, 0x83, 0xdd, 0x7e, 0x6b, 0x90, 0x15, 0xc1, 0x38, 0xc2,
+ 0x6b, 0xc7, 0x49, 0x02, 0x96, 0xc5, 0x84, 0x9a, 0x64, 0xac, 0x4b, 0xeb, 0xc6, 0xe1, 0xc0, 0xc3,
+ 0x4b, 0x74, 0xb1, 0xd3, 0xf8, 0x2e, 0xc6, 0x82, 0x3d, 0x46, 0x15, 0x02, 0x7b, 0x68, 0x32, 0xaf,
+ 0xba, 0x91, 0xf4, 0x23, 0x3d, 0x53, 0x23, 0x5c, 0xf5, 0xf3, 0x96, 0x20, 0xb1, 0x31, 0xbd, 0xae,
+ 0x37, 0x3c, 0xf2, 0x7a, 0x3a, 0x4b, 0x1b, 0x4d, 0x1a, 0x43, 0x70, 0x62, 0x3e, 0x0f, 0x1b, 0x0d,
+ 0x58, 0x0b, 0xa9, 0x8d, 0x9f, 0x9e, 0x58, 0x88, 0x39, 0x41, 0x79, 0x9d, 0x65, 0x35, 0x05, 0xa8,
+ 0xd4, 0x58, 0xae, 0xa3, 0x9d, 0x7c, 0x8e, 0x58, 0x7e, 0x63, 0x66, 0x66, 0x86, 0x19, 0x90, 0x29,
+ 0x87, 0xf4, 0x78, 0x26, 0x24, 0xb6, 0xb4, 0x17, 0xa2, 0x0c, 0x8f, 0x57, 0x32, 0xdc, 0x42, 0x85,
+ 0xe6, 0x91, 0x94, 0x38, 0x60, 0x55, 0x7a, 0xfe, 0xb2, 0x0c, 0x8c, 0xb1, 0x9c, 0x82, 0x50, 0x76,
+ 0x35, 0x40, 0x3a, 0x37, 0x16, 0x43, 0xe6, 0x25, 0x72, 0xaa, 0x21, 0x2e, 0xf0, 0xe9, 0x09, 0xb7,
+ 0xb6, 0xfa, 0x7c, 0x37, 0xd3, 0x03, 0x65, 0x13, 0x89, 0x83, 0xe7, 0xf4, 0x28, 0x8b, 0xbd, 0x61,
+ 0x8c, 0x85, 0xf0, 0xcb, 0x19, 0x05, 0xfe, 0x03, 0x29, 0xd3, 0xc5, 0x93, 0x77, 0x70, 0x1a, 0x31,
+ 0x86, 0x44, 0xc4, 0xc1, 0x22, 0x89, 0x89, 0x4f, 0x86, 0xc4, 0x25, 0x73, 0x32, 0x23, 0x23, 0x32,
+ 0x25, 0x8f, 0x64, 0x4c, 0x26, 0xe4, 0x8e, 0xdc, 0x93, 0x1b, 0x72, 0x8a, 0x91, 0xa6, 0x77, 0x78,
+ 0x00, 0xf6, 0x60, 0x7f, 0xfe, 0x42, 0xce, 0xf1, 0xe9, 0x16, 0xcb, 0xae, 0xf0, 0xe7, 0xc4, 0x56,
+ 0x55, 0x72, 0x8d, 0x4f, 0x1f, 0xf0, 0xe9, 0xd8, 0x56, 0x77, 0x54, 0x36, 0xfc, 0x37, 0xf2, 0x9e,
+ 0x5c, 0x90, 0xaf, 0xe4, 0x92, 0x9c, 0x91, 0xb7, 0xe4, 0x35, 0x68, 0xa4, 0x8f, 0xd8, 0xe0, 0x0d,
+ 0x34, 0x18, 0x79, 0x60, 0x52, 0xa9, 0xe4, 0x13, 0x6b, 0x9b, 0xed, 0xdf, 0xaf, 0x80, 0xc8, 0x33,
+ 0x63, 0xe8, 0x3b, 0x71, 0xfc, 0xce, 0x8b, 0x13, 0x70, 0xc3, 0xa7, 0xe1, 0x1d, 0xd5, 0xd4, 0x89,
+ 0xe7, 0x62, 0x12, 0xc8, 0x65, 0x75, 0xd5, 0xc7, 0x94, 0x5c, 0xcd, 0xc1, 0xdb, 0xca, 0x56, 0x96,
+ 0x5c, 0xe5, 0xb8, 0x6e, 0xd6, 0x3b, 0xac, 0x28, 0x8f, 0x2a, 0xca, 0x93, 0xf2, 0xf2, 0x65, 0xb6,
+ 0x90, 0x5f, 0x0a, 0x6e, 0x4f, 0x1e, 0x03, 0xd2, 0x40, 0x73, 0x38, 0xee, 0x55, 0xe2, 0x44, 0x09,
+ 0x78, 0xe3, 0xaa, 0x29, 0xf7, 0xf9, 0x0e, 0x8b, 0x7f, 0x87, 0xd1, 0x5a, 0x23, 0x1e, 0x46, 0xa1,
+ 0xef, 0x5f, 0x87, 0x33, 0x3b, 0x7d, 0x7e, 0x4b, 0xd1, 0xb3, 0x91, 0x1a, 0xff, 0x26, 0x48, 0x01,
+ 0x7e, 0x1f, 0xec, 0x07, 0x0c, 0x83, 0x02, 0x81, 0xa0, 0x63, 0x80, 0x6f, 0x3c, 0xb4, 0xd1, 0x04,
+ 0x8b, 0x99, 0x6f, 0x33, 0x88, 0x74, 0x95, 0xf1, 0x13, 0xdb, 0x73, 0x60, 0x3e, 0x7a, 0xf4, 0x20,
+ 0xf0, 0xd5, 0xa3, 0x8d, 0x86, 0x9e, 0x34, 0x6c, 0xcc, 0xcb, 0xed, 0xa5, 0x59, 0x62, 0x18, 0xe9,
+ 0x11, 0x69, 0x5e, 0x27, 0x8f, 0xe7, 0xb0, 0x3c, 0x8c, 0xb2, 0x86, 0x3e, 0x7d, 0xcd, 0x6f, 0x0a,
+ 0xa9, 0xba, 0xe1, 0x05, 0x01, 0x8d, 0xde, 0x5e, 0xbf, 0x7f, 0x67, 0x27, 0x04, 0xe0, 0x5e, 0xe6,
+ 0x80, 0xfd, 0x8c, 0x20, 0xb1, 0x49, 0x19, 0x85, 0x27, 0xf6, 0x5f, 0xaf, 0x3e, 0xfc, 0x02, 0x8b,
+ 0x8e, 0x62, 0x8a, 0xe0, 0xfd, 0xa6, 0xb1, 0x77, 0xae, 0x7e, 0xbc, 0x11, 0xa6, 0x15, 0xb1, 0x34,
+ 0x43, 0x55, 0xc1, 0x90, 0xca, 0x3f, 0x31, 0xc9, 0x9d, 0x53, 0x3a, 0x60, 0x0f, 0xd6, 0x28, 0x8a,
+ 0xf2, 0xe1, 0xff, 0x95, 0x0e, 0xcf, 0x73, 0x75, 0x83, 0xe2, 0xf0, 0x79, 0x5f, 0x81, 0xf9, 0x7f,
+ 0x68, 0x2a, 0xd3, 0x0e, 0x96, 0xf2, 0x2d, 0x86, 0xde, 0xae, 0x93, 0x38, 0x60, 0xdd, 0x53, 0xc5,
+ 0x4b, 0xf3, 0xeb, 0x6b, 0x47, 0x37, 0xd1, 0x4e, 0x1f, 0xa3, 0x0a, 0x84, 0x49, 0x0a, 0xc4, 0x2b,
+ 0x86, 0xdf, 0x6b, 0x81, 0xc1, 0x6f, 0x4a, 0x81, 0xbe, 0x0c, 0x8c, 0xe1, 0xd4, 0x65, 0x7f, 0xb1,
+ 0xbf, 0x9e, 0x0f, 0xcd, 0x25, 0x96, 0x70, 0x50, 0x15, 0xe4, 0x43, 0x7a, 0xf3, 0xf1, 0x5c, 0x95,
+ 0x86, 0x62, 0xfe, 0x8d, 0xcd, 0x3b, 0x92, 0xc0, 0x38, 0xfb, 0xf4, 0x2b, 0x6f, 0xac, 0x2f, 0x16,
+ 0x7c, 0x2f, 0x2a, 0x51, 0x0e, 0xa3, 0xbe, 0xf3, 0x82, 0x5b, 0x66, 0xe9, 0xe7, 0xd8, 0x56, 0xef,
+ 0xd4, 0x86, 0x34, 0x0c, 0x48, 0x7d, 0x20, 0xbf, 0xd3, 0x3b, 0xe8, 0x85, 0xb4, 0x48, 0xa1, 0x19,
+ 0x6c, 0x16, 0xec, 0xfe, 0x6d, 0x31, 0x8e, 0xc3, 0xe7, 0x62, 0x5a, 0xeb, 0xf2, 0x1d, 0x50, 0x6b,
+ 0x92, 0xcc, 0xac, 0x9d, 0x1d, 0xb5, 0xc1, 0x25, 0x85, 0xe1, 0x8b, 0x1b, 0x06, 0xc6, 0x24, 0x8c,
+ 0xc1, 0x34, 0xde, 0xe1, 0x41, 0x0f, 0x98, 0x5a, 0xd4, 0x83, 0x99, 0x84, 0xde, 0x85, 0xfa, 0xf5,
+ 0xc6, 0x77, 0x10, 0x24, 0xb4, 0x79, 0x60, 0x61, 0x95, 0xb0, 0xd3, 0x78, 0xc6, 0x61, 0xff, 0xe3,
+ 0xa1, 0x5b, 0x81, 0x09, 0x41, 0x29, 0x70, 0xe3, 0x8a, 0x58, 0xd0, 0x00, 0x59, 0x50, 0x37, 0x39,
+ 0x03, 0x71, 0x73, 0xf5, 0x08, 0x30, 0xa0, 0xc9, 0x19, 0x84, 0x01, 0x05, 0xcb, 0x67, 0xad, 0x0a,
+ 0x44, 0xb0, 0x71, 0xf5, 0x06, 0x88, 0x3c, 0xa0, 0x0c, 0x34, 0xb9, 0xa9, 0x5c, 0xce, 0x32, 0xfc,
+ 0xaa, 0xe7, 0xac, 0x9c, 0xd2, 0xb6, 0x4b, 0xaa, 0x34, 0x94, 0x86, 0xb1, 0xcb, 0xe5, 0x21, 0x2c,
+ 0x46, 0x3d, 0x0d, 0xd0, 0xca, 0x74, 0x59, 0xeb, 0x4f, 0x40, 0x4f, 0x33, 0xa0, 0x1d, 0xcc, 0x0f,
+ 0xab, 0x9e, 0xf0, 0x13, 0xb4, 0x7c, 0x0b, 0xb8, 0xb9, 0x00, 0x63, 0x1f, 0x66, 0xff, 0xe4, 0x9d,
+ 0x79, 0xef, 0x43, 0x97, 0x62, 0x2c, 0x12, 0x06, 0xb8, 0x0a, 0x87, 0xb7, 0x34, 0x39, 0xbf, 0x90,
+ 0xd2, 0xc8, 0x52, 0x0e, 0xb5, 0x3f, 0xe3, 0x76, 0xa0, 0x66, 0xef, 0x18, 0xe3, 0x30, 0x1c, 0xfb,
+ 0x98, 0xff, 0x3b, 0x55, 0x09, 0xf2, 0x3b, 0x5b, 0xeb, 0x9d, 0x97, 0x3c, 0x0e, 0x27, 0x74, 0x78,
+ 0x6b, 0x40, 0x21, 0xbb, 0x4e, 0x28, 0x1a, 0x18, 0xce, 0xad, 0x33, 0x75, 0xc0, 0x48, 0x1f, 0x4e,
+ 0x82, 0xd0, 0x0f, 0xc7, 0x1e, 0x8d, 0x45, 0xcd, 0xfd, 0xfd, 0x3d, 0xcb, 0x4d, 0xa3, 0xde, 0x6c,
+ 0x02, 0x8b, 0x1e, 0x52, 0xdf, 0x97, 0x6a, 0xbc, 0x24, 0x0c, 0xfd, 0x18, 0x08, 0x7a, 0x14, 0xa6,
+ 0x25, 0x37, 0x61, 0x78, 0x2b, 0x17, 0x38, 0x5e, 0x84, 0x0a, 0xd6, 0x98, 0xc7, 0xa2, 0x00, 0x13,
+ 0xfe, 0x6e, 0x5d, 0x0f, 0xef, 0x9b, 0x21, 0xb1, 0xb1, 0x72, 0x31, 0x3f, 0x5e, 0xcf, 0x34, 0x02,
+ 0xb4, 0x69, 0x54, 0x63, 0x1a, 0x8f, 0x92, 0x60, 0x18, 0x7b, 0x62, 0xb6, 0xa9, 0x07, 0x82, 0x33,
+ 0x0e, 0x47, 0x09, 0x7b, 0x67, 0xa6, 0x80, 0x7a, 0x7c, 0x01, 0x7b, 0x49, 0xf3, 0x8c, 0xfb, 0xa2,
+ 0x48, 0x4c, 0x64, 0x91, 0x08, 0xcd, 0x9b, 0xad, 0x5a, 0xce, 0x9e, 0x05, 0x22, 0x04, 0x70, 0x5d,
+ 0xfa, 0xf0, 0x61, 0xa4, 0x25, 0x68, 0x35, 0xa7, 0xe3, 0x99, 0xe9, 0x09, 0x74, 0x6b, 0xa9, 0xe5,
+ 0xbb, 0xa0, 0xa7, 0xf4, 0x9d, 0xd3, 0x75, 0x61, 0x5b, 0x1a, 0xda, 0x01, 0x78, 0x56, 0xab, 0xa4,
+ 0x8e, 0x18, 0x40, 0x5f, 0x0b, 0xfe, 0x6b, 0x94, 0xd5, 0x81, 0x60, 0xb1, 0xd5, 0x73, 0xbc, 0x5c,
+ 0x48, 0xa7, 0xb1, 0xf2, 0x18, 0xce, 0x85, 0x54, 0x53, 0x7c, 0x74, 0xb9, 0xa9, 0xab, 0xd0, 0xe0,
+ 0xce, 0x03, 0xe9, 0xc4, 0x72, 0x7e, 0x41, 0xc4, 0xf5, 0x15, 0xd8, 0x11, 0x07, 0xac, 0x00, 0x64,
+ 0x1b, 0xc5, 0x51, 0x6e, 0xc0, 0xe6, 0x8a, 0x69, 0xa4, 0xcc, 0x63, 0x10, 0xc3, 0x47, 0x27, 0x97,
+ 0x7d, 0x96, 0x7e, 0x81, 0x0d, 0xc1, 0x6f, 0xc7, 0x5b, 0x2f, 0x18, 0x75, 0x1d, 0x51, 0x10, 0x80,
+ 0x11, 0x8d, 0x95, 0xfb, 0x30, 0xba, 0x65, 0xb1, 0xe1, 0x7b, 0x49, 0x14, 0x79, 0xf0, 0xc6, 0x48,
+ 0xf2, 0x17, 0x7e, 0xa9, 0x95, 0x3e, 0x24, 0x4d, 0x8a, 0xb2, 0x56, 0x5d, 0x32, 0xbb, 0xaa, 0xc7,
+ 0x89, 0x12, 0xa3, 0xdf, 0x40, 0xe5, 0x19, 0x22, 0xd9, 0x55, 0x52, 0x3b, 0xaf, 0xd3, 0x89, 0x94,
+ 0x93, 0x1e, 0x70, 0x4b, 0x44, 0x5f, 0x80, 0xf5, 0x7b, 0x03, 0xa3, 0x87, 0x20, 0xd5, 0xf5, 0xde,
+ 0x0d, 0x93, 0x0d, 0x19, 0xce, 0xc0, 0x37, 0x8a, 0x39, 0x1e, 0x1b, 0x88, 0x1e, 0xaf, 0x01, 0x1b,
+ 0x1b, 0x3f, 0x06, 0x43, 0xb0, 0x23, 0x83, 0x70, 0xce, 0x2e, 0x04, 0x0c, 0xd4, 0x9d, 0xfb, 0x58,
+ 0xc5, 0xc8, 0x39, 0xf9, 0x1c, 0x7f, 0xd1, 0xc9, 0x0d, 0xa6, 0x62, 0x3a, 0xd1, 0x23, 0xda, 0xf7,
+ 0xb6, 0xca, 0x6e, 0xd6, 0xdc, 0xb0, 0x0b, 0x8c, 0x2a, 0x54, 0x41, 0x2f, 0x40, 0x4a, 0xc1, 0x5d,
+ 0x02, 0xb3, 0xc6, 0x5c, 0xb2, 0x2a, 0x06, 0x83, 0x2d, 0xa7, 0xba, 0x30, 0x93, 0xe7, 0xfa, 0xe9,
+ 0x09, 0x4c, 0xe9, 0x6b, 0x6f, 0x4a, 0xc1, 0xf9, 0xe2, 0x46, 0x56, 0x0e, 0x3d, 0xf8, 0x3f, 0xb4,
+ 0xa3, 0xf3, 0xfe, 0x0c, 0x23, 0x85, 0xb1, 0x73, 0x95, 0x04, 0xda, 0x22, 0x66, 0x2b, 0x52, 0x58,
+ 0x2b, 0xa1, 0x8a, 0x58, 0x0a, 0x3a, 0x6a, 0x5b, 0xd8, 0xf1, 0x71, 0x65, 0x5b, 0x55, 0x8c, 0x3f,
+ 0xa5, 0x71, 0xec, 0x8c, 0x8b, 0x69, 0x66, 0x4c, 0x3d, 0xa2, 0xca, 0x47, 0xfb, 0x80, 0xa9, 0x9e,
+ 0xb5, 0x93, 0x3c, 0x7e, 0x7d, 0x33, 0x15, 0x03, 0x99, 0x3b, 0xc3, 0xfd, 0x18, 0xde, 0x47, 0xdf,
+ 0xc4, 0x1e, 0x41, 0x43, 0x44, 0x3b, 0x8c, 0x51, 0x14, 0x4e, 0x5f, 0x4f, 0x9c, 0xe8, 0x35, 0xd0,
+ 0x3a, 0xe7, 0x07, 0xd2, 0x02, 0x73, 0x3b, 0x61, 0x49, 0xa0, 0xad, 0x0e, 0x7f, 0x7a, 0x7a, 0xd2,
+ 0x4e, 0x1a, 0x76, 0x00, 0xda, 0xff, 0x44, 0xe7, 0xe6, 0x22, 0xc2, 0xa7, 0xf7, 0xb0, 0x90, 0x67,
+ 0x5c, 0xe1, 0x41, 0x19, 0xce, 0xca, 0xec, 0x15, 0x70, 0x05, 0xd3, 0xb3, 0x24, 0x0b, 0x5a, 0x79,
+ 0xa9, 0x6d, 0x67, 0xb7, 0xf1, 0x34, 0x67, 0x38, 0x8f, 0x50, 0x10, 0x9c, 0xbf, 0x81, 0x9d, 0xf6,
+ 0xc0, 0xc9, 0x81, 0xb2, 0x0f, 0xf0, 0x80, 0x09, 0xd5, 0xaa, 0x83, 0x42, 0x8b, 0x4a, 0x55, 0x1f,
+ 0x6a, 0xac, 0x0a, 0xda, 0x5c, 0xa3, 0xd1, 0x9a, 0x11, 0x15, 0xf9, 0xb3, 0xa6, 0x32, 0x7c, 0xb3,
+ 0x9f, 0x35, 0x4e, 0x12, 0x02, 0x50, 0xc1, 0xd5, 0x29, 0x4e, 0x10, 0x26, 0x13, 0x60, 0x96, 0x94,
+ 0x03, 0x49, 0xd6, 0x2c, 0x40, 0xcf, 0xc5, 0x8b, 0x45, 0x6b, 0xea, 0x1a, 0xe8, 0xb2, 0x17, 0x29,
+ 0xbd, 0xf8, 0xda, 0x50, 0x35, 0xb9, 0xbd, 0xae, 0x56, 0x99, 0x92, 0x2f, 0x36, 0x49, 0x9f, 0x37,
+ 0x24, 0x56, 0x3b, 0x02, 0x20, 0x5c, 0xd3, 0xe8, 0xe4, 0xac, 0x62, 0x50, 0x66, 0xae, 0x57, 0x8e,
+ 0x8c, 0x72, 0x3f, 0x38, 0x0f, 0x66, 0x73, 0xb4, 0x08, 0x59, 0x9c, 0x64, 0x63, 0xf3, 0x19, 0xcc,
+ 0x00, 0x92, 0xc4, 0xad, 0xee, 0x31, 0x04, 0x55, 0xe0, 0x61, 0x11, 0xaa, 0xc1, 0xcb, 0xcb, 0x0f,
+ 0x97, 0xf9, 0x0e, 0x7f, 0x33, 0x9c, 0x1b, 0x90, 0x7b, 0xb0, 0x71, 0x7f, 0xd5, 0xbc, 0xcf, 0xed,
+ 0x2f, 0x84, 0x6d, 0x38, 0xc6, 0xa6, 0x99, 0xb0, 0xcd, 0xe5, 0x29, 0x91, 0xde, 0x2e, 0xa0, 0x07,
+ 0x7f, 0x7f, 0x1d, 0x4e, 0xa7, 0xf3, 0x40, 0xdc, 0xa3, 0x97, 0x9b, 0x5c, 0xcd, 0x6f, 0xd8, 0xa9,
+ 0xfb, 0x30, 0xf4, 0x75, 0xf2, 0x77, 0x58, 0x13, 0xa0, 0x00, 0x75, 0x9d, 0xef, 0x03, 0x87, 0x21,
+ 0x65, 0x6e, 0x6f, 0x42, 0xae, 0x18, 0xb6, 0x81, 0x30, 0x6c, 0x59, 0x2d, 0x58, 0xb7, 0x92, 0xf1,
+ 0xfe, 0x57, 0xee, 0x1d, 0x08, 0x3e, 0xfd, 0x38, 0xf3, 0x43, 0xc7, 0x55, 0x46, 0x8e, 0x87, 0x9b,
+ 0x81, 0x4c, 0x8b, 0xfc, 0x23, 0x1d, 0x6b, 0x62, 0x94, 0x14, 0xf8, 0x03, 0x68, 0x47, 0x6d, 0x80,
+ 0x79, 0xa6, 0x03, 0x7a, 0x1c, 0x9f, 0x02, 0x32, 0x40, 0x00, 0x82, 0x20, 0x20, 0x2d, 0xdb, 0x7e,
+ 0x9d, 0x6a, 0x99, 0x61, 0x2e, 0xa1, 0x7b, 0x34, 0xf7, 0x89, 0x86, 0xb2, 0x0d, 0x79, 0xc5, 0x0c,
+ 0x5b, 0x4b, 0x61, 0x12, 0xb4, 0x1e, 0xdc, 0xc4, 0x33, 0xf6, 0x03, 0x2a, 0xc0, 0x88, 0xe7, 0x37,
+ 0xb1, 0xc8, 0x9f, 0xca, 0x94, 0x9c, 0xfa, 0x04, 0xc0, 0x5b, 0xf2, 0x08, 0x9c, 0x67, 0x95, 0x36,
+ 0xcc, 0x0b, 0xa0, 0xcd, 0xa2, 0xf1, 0x9c, 0x19, 0x29, 0xa8, 0x02, 0xe4, 0x56, 0xd2, 0x8a, 0xff,
+ 0xc1, 0xe2, 0xb2, 0x52, 0x25, 0x25, 0x77, 0x55, 0xda, 0x23, 0xeb, 0xf4, 0xe7, 0x6d, 0x3a, 0x61,
+ 0x90, 0x19, 0x24, 0xbb, 0xd4, 0xed, 0x6f, 0x3f, 0x62, 0xf0, 0x4e, 0xa7, 0x4e, 0xe0, 0x32, 0x63,
+ 0x3b, 0xa6, 0x4e, 0x34, 0x9c, 0x5c, 0x38, 0x91, 0x33, 0x8d, 0xd1, 0x92, 0xa1, 0x01, 0x3a, 0x40,
+ 0x53, 0x17, 0xa8, 0xe2, 0xf3, 0xe9, 0xd5, 0xc5, 0x81, 0x69, 0x7e, 0x41, 0x42, 0xb0, 0x7f, 0x3b,
+ 0xbd, 0x4a, 0x4d, 0x7f, 0xbb, 0x63, 0x98, 0xf0, 0x9f, 0xb3, 0xab, 0x24, 0x1e, 0x02, 0xd6, 0x28,
+ 0x35, 0x6e, 0xdf, 0x00, 0x8a, 0xf2, 0xb0, 0x0d, 0x70, 0xc7, 0x19, 0xd0, 0xc7, 0x6f, 0x30, 0x9b,
+ 0x06, 0x9e, 0x4f, 0x53, 0x6d, 0x80, 0xcf, 0x88, 0xa5, 0xef, 0xc1, 0xc9, 0x9a, 0x40, 0x51, 0x8b,
+ 0xb4, 0x0b, 0xe5, 0xd8, 0x1d, 0xc8, 0xbf, 0x58, 0xf8, 0x36, 0x9c, 0x47, 0xf1, 0x5a, 0xe9, 0x7b,
+ 0x2f, 0x98, 0x27, 0x74, 0xbd, 0xfc, 0x8a, 0x82, 0xe4, 0x71, 0x79, 0x39, 0xde, 0x8b, 0x23, 0x01,
+ 0x38, 0x4d, 0xe4, 0x5f, 0xd2, 0x3e, 0xfd, 0x5d, 0xa6, 0xcc, 0x2d, 0xd1, 0xf7, 0x46, 0x07, 0x55,
+ 0x5f, 0x8a, 0x35, 0x87, 0xa7, 0x86, 0x11, 0x8a, 0x46, 0x71, 0x69, 0x0b, 0x34, 0x7b, 0xf9, 0xf9,
+ 0x78, 0x52, 0xd9, 0x66, 0x06, 0x66, 0xad, 0x4a, 0x8e, 0x19, 0xb4, 0x01, 0x49, 0xa8, 0x04, 0xee,
+ 0x7f, 0x69, 0x14, 0xb4, 0x71, 0x16, 0xb1, 0x3e, 0x8a, 0xef, 0xc6, 0xca, 0xc3, 0xd4, 0x0f, 0x62,
+ 0xfb, 0x95, 0x80, 0x19, 0x0d, 0xc8, 0xfb, 0x8e, 0x11, 0x46, 0xe3, 0x9d, 0xb6, 0x69, 0x9a, 0x3b,
+ 0xd0, 0xe2, 0x95, 0xc2, 0x3f, 0xd8, 0xf1, 0xaa, 0xdd, 0x7d, 0xa5, 0x4c, 0x98, 0x63, 0xcd, 0x9f,
+ 0xf1, 0xd3, 0x1e, 0x27, 0xe1, 0x83, 0xfd, 0xca, 0x54, 0x4c, 0xa5, 0xdd, 0x55, 0xb0, 0x0c, 0x00,
+ 0xf4, 0xed, 0x57, 0x68, 0xbe, 0xbf, 0xc2, 0x08, 0x4a, 0x78, 0x4b, 0xed, 0x57, 0x6a, 0x43, 0xa3,
+ 0x03, 0xf5, 0x7e, 0x02, 0x86, 0x16, 0xe8, 0x27, 0xa1, 0x8e, 0x5e, 0xb3, 0x2f, 0x72, 0x00, 0xba,
+ 0xd3, 0x76, 0xcd, 0x74, 0x96, 0xac, 0xc0, 0xf7, 0x40, 0xea, 0x3b, 0x33, 0xfb, 0x55, 0x14, 0xce,
+ 0x03, 0xb7, 0x50, 0x8c, 0xa7, 0xff, 0x69, 0x79, 0xff, 0x08, 0x57, 0xac, 0xb8, 0xf6, 0xab, 0xf7,
+ 0xad, 0x8e, 0xd2, 0x7e, 0xbb, 0xe7, 0xb4, 0x95, 0xb6, 0x82, 0x30, 0x99, 0x4d, 0x78, 0xba, 0x6b,
+ 0x49, 0x05, 0xf0, 0xb7, 0x3d, 0x69, 0xb5, 0xe5, 0x82, 0x66, 0xfb, 0xd7, 0xc3, 0xef, 0x30, 0xc8,
+ 0x0e, 0x8e, 0x02, 0x63, 0x85, 0xfe, 0x23, 0xce, 0xa0, 0xcc, 0x60, 0x8a, 0x04, 0x10, 0x83, 0x63,
+ 0x2a, 0xf0, 0x73, 0xa8, 0xb4, 0x4d, 0xe5, 0x90, 0x35, 0x14, 0x4d, 0xfa, 0x7c, 0x61, 0x47, 0xac,
+ 0xf9, 0x43, 0x0b, 0x9a, 0x02, 0xec, 0x8f, 0xf8, 0xb7, 0xf5, 0x4a, 0x79, 0x68, 0x8b, 0x77, 0xfc,
+ 0xbb, 0x8f, 0xdd, 0x58, 0x97, 0xbc, 0xf1, 0xa1, 0x68, 0xdb, 0x15, 0x6d, 0x77, 0x45, 0xdb, 0x6e,
+ 0xd6, 0x96, 0x19, 0x64, 0x60, 0x65, 0xe2, 0x26, 0xf4, 0x25, 0x86, 0xa5, 0xf4, 0x7f, 0xf8, 0x36,
+ 0xb6, 0x01, 0xe1, 0x87, 0xd9, 0x1e, 0xb5, 0x70, 0x17, 0xdf, 0x76, 0xe5, 0x77, 0xd8, 0xb3, 0xdd,
+ 0xfc, 0x1d, 0xf7, 0x70, 0xb2, 0xeb, 0xb7, 0x95, 0xce, 0xe4, 0x50, 0x2e, 0x55, 0xda, 0xf9, 0xbe,
+ 0xfe, 0x3f, 0xda, 0xaa, 0x84, 0x66, 0xce, 0x23, 0x98, 0x70, 0x9f, 0xbf, 0x90, 0x08, 0xbf, 0x8d,
+ 0x50, 0x16, 0xe8, 0x29, 0x68, 0x9c, 0xa3, 0x78, 0xe6, 0x04, 0xfd, 0x5c, 0xef, 0x24, 0x22, 0xb8,
+ 0x22, 0xd4, 0x4f, 0x8f, 0xff, 0xc2, 0x6c, 0xd8, 0x8c, 0x37, 0x7e, 0x92, 0x6b, 0xae, 0xc3, 0xc4,
+ 0xf1, 0x15, 0x28, 0x1f, 0x52, 0xde, 0x3d, 0xc1, 0x82, 0x6d, 0x7b, 0x7f, 0x8c, 0xc1, 0x21, 0x92,
+ 0x3a, 0xcf, 0xe1, 0x7d, 0xdb, 0xbe, 0x1f, 0x86, 0xc3, 0xf9, 0x8c, 0x09, 0x3b, 0x4b, 0xc1, 0x6f,
+ 0xeb, 0x80, 0x19, 0x38, 0xc5, 0x3d, 0x36, 0x5f, 0x29, 0x53, 0x07, 0x68, 0xac, 0x65, 0xc2, 0xd3,
+ 0x04, 0x88, 0x0f, 0xb0, 0x0a, 0x4f, 0xdc, 0xa6, 0x79, 0x85, 0xb3, 0x84, 0x59, 0x4f, 0x20, 0x26,
+ 0xc0, 0x2b, 0xeb, 0xdc, 0xe7, 0xa3, 0xae, 0xd6, 0xff, 0x24, 0x00, 0x40, 0x73, 0x90, 0x45, 0x02,
+ 0x8c, 0x18, 0x8d, 0x1d, 0xad, 0x34, 0x89, 0xa2, 0xb4, 0x90, 0xb2, 0x44, 0xb3, 0x77, 0xe1, 0x3d,
+ 0x8d, 0x5e, 0x3b, 0xcc, 0xc0, 0x4d, 0xec, 0x64, 0xa5, 0x04, 0x6c, 0xf8, 0x41, 0xb3, 0x65, 0xd1,
+ 0x7e, 0x32, 0x68, 0x59, 0xe6, 0x12, 0x74, 0x02, 0xbb, 0x35, 0x97, 0xb0, 0x3f, 0x18, 0x49, 0x61,
+ 0xc6, 0x77, 0x28, 0x3c, 0x87, 0x0d, 0x76, 0x1c, 0xc6, 0xe7, 0xa5, 0xed, 0x3d, 0x26, 0xea, 0x0e,
+ 0x38, 0xd6, 0xc7, 0x42, 0xd9, 0xc1, 0xcc, 0xc7, 0x06, 0x68, 0xe9, 0xe4, 0x3c, 0x35, 0x20, 0x76,
+ 0x50, 0xb1, 0xda, 0x26, 0xa6, 0x7a, 0xc0, 0xb3, 0x75, 0x2c, 0x99, 0x19, 0x26, 0x0a, 0xfe, 0x82,
+ 0xc3, 0x03, 0x5a, 0x07, 0x67, 0xb0, 0x58, 0x4c, 0x2e, 0x6c, 0x00, 0xf1, 0xb8, 0xde, 0x9d, 0xc2,
+ 0xd4, 0xbe, 0xfd, 0x0a, 0x91, 0x03, 0xd6, 0x2c, 0x05, 0x84, 0x96, 0x94, 0xbe, 0xa5, 0x8e, 0xbb,
+ 0x5e, 0x83, 0x31, 0x72, 0x28, 0xfd, 0xcf, 0x08, 0x15, 0x59, 0x8c, 0xfc, 0x6e, 0x11, 0xa2, 0x94,
+ 0x89, 0x6f, 0x10, 0xda, 0x4a, 0x6b, 0x57, 0xe9, 0xae, 0x8b, 0xef, 0x5c, 0xe0, 0x60, 0xe5, 0x64,
+ 0xdf, 0xe9, 0x42, 0x2b, 0xae, 0x15, 0xba, 0xcd, 0xee, 0xaf, 0xdd, 0x5c, 0x29, 0x30, 0xb6, 0x3e,
+ 0xda, 0x01, 0x44, 0xad, 0x61, 0x0b, 0xa4, 0xe1, 0xf4, 0x95, 0xe2, 0xc1, 0x28, 0x60, 0xd4, 0x79,
+ 0xd1, 0xab, 0xbe, 0xf2, 0x71, 0x66, 0x18, 0xa2, 0xad, 0xf4, 0x0b, 0x2e, 0x9c, 0x48, 0xd0, 0xe1,
+ 0x5a, 0xde, 0x52, 0x59, 0x7b, 0x95, 0x78, 0x6e, 0xf6, 0x98, 0xb0, 0x3c, 0x3d, 0x8b, 0x2e, 0xf5,
+ 0xe5, 0xaa, 0x2f, 0xc9, 0xa9, 0x5c, 0xf2, 0x28, 0xd5, 0x66, 0x4b, 0xcd, 0x8e, 0xd0, 0x45, 0x3d,
+ 0x78, 0x8e, 0x46, 0xec, 0x7d, 0x67, 0x5f, 0xd0, 0xf8, 0xe3, 0x28, 0x01, 0x08, 0x8b, 0x6a, 0x4c,
+ 0xb8, 0x6d, 0x5e, 0xff, 0x1b, 0x58, 0x02, 0x46, 0x45, 0xb0, 0x87, 0x04, 0x10, 0x32, 0x4b, 0xd6,
+ 0xb9, 0x7c, 0x08, 0xa0, 0xe7, 0x57, 0x4a, 0x3a, 0xc6, 0x1b, 0xea, 0x8b, 0x61, 0xfe, 0x43, 0x24,
+ 0x18, 0x51, 0xf7, 0xf7, 0x53, 0x5e, 0xba, 0x1c, 0xea, 0x30, 0xd7, 0x57, 0xfc, 0x6d, 0x26, 0x91,
+ 0x13, 0x4f, 0x9a, 0xed, 0x57, 0x25, 0x84, 0xd9, 0x51, 0xf6, 0x94, 0x5d, 0xf8, 0x7f, 0xbb, 0xa5,
+ 0xec, 0x55, 0x90, 0x65, 0xeb, 0x50, 0xd9, 0xbb, 0x6b, 0x75, 0x57, 0x34, 0xe1, 0xfe, 0x8a, 0x26,
+ 0xdc, 0x9b, 0x76, 0x14, 0xf3, 0xd7, 0xee, 0x8a, 0x3e, 0xec, 0x16, 0x35, 0xe1, 0x5d, 0x3b, 0xa7,
+ 0xe6, 0x5c, 0x09, 0x9a, 0x2b, 0x4a, 0xd0, 0xdc, 0xa0, 0x04, 0x51, 0xfb, 0x15, 0x1a, 0x77, 0xd7,
+ 0x1b, 0xcb, 0x7c, 0x52, 0x41, 0xf5, 0x19, 0xcd, 0x73, 0x72, 0x49, 0x69, 0x7e, 0x85, 0x60, 0x96,
+ 0x7a, 0x59, 0x47, 0x17, 0x48, 0x23, 0xed, 0xcb, 0xc9, 0xa4, 0xb2, 0xfb, 0x7a, 0x34, 0xa6, 0x94,
+ 0x83, 0x6a, 0x1b, 0x38, 0xe8, 0xb8, 0x66, 0x7f, 0x7a, 0x7a, 0x52, 0x99, 0x5b, 0x67, 0xe0, 0x27,
+ 0xf3, 0x8c, 0xf1, 0x77, 0x4c, 0x00, 0x28, 0x4e, 0x55, 0xaf, 0x4b, 0x2d, 0xd6, 0xab, 0x9f, 0x9e,
+ 0xb4, 0x08, 0xb3, 0x4e, 0xab, 0x25, 0xb3, 0xf2, 0x03, 0x0c, 0xf9, 0x5f, 0xcf, 0xf1, 0x23, 0x63,
+ 0x26, 0x0c, 0x9b, 0xff, 0x18, 0x47, 0x22, 0x04, 0xd7, 0xe0, 0x5f, 0xaf, 0x43, 0x80, 0xc8, 0x59,
+ 0x19, 0x0e, 0x8b, 0x2a, 0xa1, 0xc9, 0x59, 0x1b, 0xa1, 0xf9, 0xff, 0xbc, 0xfd, 0x3f, 0x88, 0xb7,
+ 0xab, 0x38, 0x1c, 0xf7, 0x9d, 0xb3, 0xa9, 0x20, 0xc0, 0xed, 0x79, 0x1c, 0xeb, 0x33, 0x26, 0xcf,
+ 0x09, 0x66, 0x03, 0x97, 0x57, 0x5a, 0x5d, 0x9c, 0x8c, 0xe3, 0xe2, 0xe1, 0x6b, 0xb8, 0x22, 0x15,
+ 0x02, 0x59, 0x1e, 0xc4, 0xf7, 0x1e, 0xcb, 0x4e, 0xc6, 0xe1, 0x39, 0x40, 0xfa, 0x62, 0x08, 0x96,
+ 0xa0, 0xd0, 0xce, 0x56, 0xd5, 0x54, 0xac, 0x83, 0xe7, 0x6e, 0x79, 0x78, 0x77, 0x6c, 0xb3, 0xf6,
+ 0x7c, 0x45, 0x05, 0x4b, 0xee, 0x78, 0x3d, 0xa0, 0x06, 0x0b, 0xbc, 0x89, 0xa8, 0x73, 0xdb, 0x63,
+ 0x70, 0x30, 0xc4, 0xfe, 0x41, 0x60, 0x48, 0x81, 0xec, 0xe7, 0x23, 0x16, 0xc7, 0x0d, 0x15, 0x8f,
+ 0x0f, 0x72, 0xb8, 0x8b, 0xa7, 0x8a, 0x49, 0xe1, 0xa4, 0x73, 0x15, 0x62, 0xdc, 0xcf, 0x3f, 0x08,
+ 0x68, 0x76, 0xce, 0x1a, 0x4d, 0x35, 0xf5, 0x35, 0x7f, 0x50, 0x58, 0x2a, 0xbf, 0x38, 0x4b, 0xc6,
+ 0xb9, 0x58, 0x8c, 0x4e, 0x02, 0xb3, 0x5e, 0x07, 0x8c, 0xf2, 0x7c, 0x7f, 0xa0, 0x53, 0xa9, 0x62,
+ 0x05, 0xce, 0x3f, 0x72, 0x7f, 0x1b, 0x36, 0x1a, 0xf0, 0xb6, 0x7d, 0xcc, 0xce, 0xa3, 0xc0, 0x94,
+ 0x6f, 0xfc, 0xf0, 0x86, 0x0b, 0x95, 0xf7, 0x9f, 0xc0, 0x1e, 0x4c, 0x45, 0xf1, 0x52, 0xd8, 0xe3,
+ 0x06, 0x14, 0x32, 0xd5, 0xbd, 0x82, 0xc5, 0xe5, 0x5a, 0x0a, 0x01, 0x0b, 0xc3, 0xbe, 0x20, 0x8f,
+ 0x60, 0x39, 0xf2, 0x02, 0x58, 0xfc, 0xe3, 0x22, 0x1a, 0x6c, 0x71, 0x40, 0x5e, 0x99, 0xaa, 0xf2,
+ 0xa2, 0xbe, 0x72, 0x0e, 0x4a, 0xee, 0xac, 0xb3, 0xe8, 0x5e, 0x21, 0x9a, 0xf7, 0x8f, 0xf7, 0xef,
+ 0xde, 0x02, 0x67, 0x5c, 0xd2, 0x7f, 0xcd, 0x69, 0x9c, 0xf4, 0x02, 0x23, 0x0c, 0xd8, 0x0d, 0x75,
+ 0x76, 0xcd, 0x7d, 0x38, 0xc1, 0x64, 0x3a, 0x39, 0xa7, 0xa9, 0x8b, 0x67, 0xd0, 0xac, 0x01, 0xba,
+ 0xee, 0x78, 0x8c, 0x07, 0x8a, 0x0c, 0xcb, 0xb8, 0xf7, 0x3e, 0xd0, 0x00, 0x2d, 0x98, 0x0d, 0xa3,
+ 0x61, 0xab, 0x78, 0x06, 0xa4, 0x40, 0xaf, 0xe9, 0x43, 0xa2, 0xeb, 0x56, 0xd7, 0x6c, 0x49, 0xed,
+ 0x7e, 0xd5, 0x74, 0x4b, 0x93, 0x29, 0x25, 0xad, 0xd1, 0x49, 0x8e, 0xd8, 0x9b, 0xd0, 0x89, 0x5c,
+ 0xc5, 0x0d, 0x69, 0xfa, 0x69, 0xd2, 0x18, 0x3c, 0x57, 0x70, 0xdc, 0x67, 0x2c, 0x4b, 0xd3, 0x7f,
+ 0xc4, 0x7d, 0x4c, 0xbb, 0x61, 0xce, 0x65, 0xc0, 0x99, 0x55, 0xfd, 0xf9, 0xf4, 0x5a, 0x25, 0x94,
+ 0xa0, 0x4d, 0x82, 0x01, 0xc4, 0xc0, 0xd5, 0xf4, 0x65, 0xca, 0xcd, 0x01, 0x46, 0xd6, 0x0b, 0x1f,
+ 0x58, 0xb4, 0x9f, 0xcb, 0x71, 0xb9, 0x70, 0x02, 0x20, 0x51, 0x9d, 0x44, 0xf6, 0x46, 0x51, 0xcc,
+ 0x8f, 0xef, 0xf1, 0x9c, 0x66, 0x53, 0xbb, 0x68, 0x7a, 0x0f, 0x54, 0xa2, 0x62, 0x72, 0xe3, 0x73,
+ 0xf3, 0xa2, 0x81, 0xc4, 0x72, 0xa0, 0x9d, 0x67, 0x9b, 0x9e, 0x84, 0xee, 0xa3, 0x8a, 0xd9, 0x91,
+ 0x5b, 0x40, 0x98, 0x0d, 0xeb, 0x6f, 0xd3, 0x5a, 0x8c, 0x3c, 0xdc, 0xdc, 0x56, 0x7c, 0x30, 0xf8,
+ 0x2c, 0x0c, 0x13, 0x36, 0xb4, 0xfb, 0x3c, 0x0a, 0x32, 0x30, 0xe6, 0xcf, 0xb7, 0x15, 0x40, 0x50,
+ 0x7b, 0xeb, 0x74, 0x24, 0x32, 0xda, 0x0c, 0xf0, 0xe8, 0x5e, 0xc5, 0xef, 0x5f, 0x6c, 0x6c, 0x83,
+ 0xd9, 0xb6, 0x77, 0xd5, 0x4d, 0xde, 0x5f, 0xe1, 0x67, 0x56, 0xef, 0x37, 0x36, 0x78, 0xc7, 0xcf,
+ 0xde, 0xd9, 0xe7, 0x58, 0xab, 0xa3, 0x27, 0xd1, 0x98, 0x59, 0xbe, 0xc0, 0x27, 0xec, 0xc3, 0xac,
+ 0xcf, 0x35, 0xdc, 0x74, 0xb4, 0x37, 0x9c, 0xba, 0x27, 0x49, 0xf0, 0xb2, 0x34, 0x9b, 0xea, 0xc1,
+ 0xe6, 0x71, 0x12, 0x4e, 0x5f, 0x4f, 0xdd, 0x6b, 0x84, 0x8c, 0x1d, 0x43, 0xd9, 0xe9, 0xa5, 0x47,
+ 0x03, 0x9c, 0x8a, 0xa9, 0xa6, 0xa7, 0x57, 0xfb, 0xc5, 0xc7, 0x12, 0x5f, 0xa4, 0x73, 0xe5, 0x43,
+ 0x96, 0x64, 0xc3, 0x21, 0x4b, 0x71, 0x46, 0x16, 0xf4, 0x4f, 0xc8, 0xcf, 0x98, 0x38, 0xc6, 0xa3,
+ 0x88, 0xa9, 0xf5, 0x0a, 0x8d, 0x99, 0x2b, 0x5f, 0x68, 0xce, 0x22, 0x96, 0x18, 0x48, 0xc3, 0xac,
+ 0xb1, 0x74, 0x28, 0x5b, 0x55, 0x31, 0x4b, 0x68, 0xbb, 0x63, 0xcc, 0x75, 0x4c, 0xde, 0xd2, 0x47,
+ 0x58, 0x4d, 0xb0, 0x92, 0x36, 0xdb, 0xea, 0x60, 0x3a, 0xbc, 0x01, 0x95, 0xaf, 0x59, 0xaa, 0xcd,
+ 0xd6, 0xa7, 0x9e, 0x23, 0x68, 0x18, 0x6b, 0xfa, 0x46, 0x88, 0x56, 0xfb, 0xfc, 0xe1, 0x40, 0xb1,
+ 0x25, 0xf3, 0x4f, 0x89, 0x33, 0x3d, 0x02, 0xb4, 0xf2, 0x0c, 0x48, 0x45, 0xea, 0x28, 0x87, 0x68,
+ 0x3e, 0xfb, 0x51, 0x78, 0x32, 0x42, 0x96, 0x40, 0xf1, 0xb6, 0xa3, 0xea, 0x53, 0xbb, 0x76, 0x4a,
+ 0x1c, 0x83, 0x7d, 0xcb, 0xdc, 0x70, 0xbd, 0x78, 0xe6, 0x3b, 0x8f, 0xf6, 0xe9, 0x40, 0xbd, 0x01,
+ 0xf2, 0xbb, 0x05, 0x83, 0x85, 0x65, 0x5e, 0xe1, 0x78, 0x6f, 0xed, 0xcd, 0xe8, 0x78, 0x1f, 0xe3,
+ 0x57, 0x26, 0x2f, 0x9f, 0x69, 0xc5, 0x55, 0x2f, 0x39, 0x7b, 0xa6, 0xd9, 0xcc, 0x19, 0xf3, 0x84,
+ 0xd5, 0xad, 0xd6, 0x50, 0x9d, 0xf2, 0xba, 0x71, 0x4f, 0xf2, 0x4c, 0x82, 0x6c, 0x2b, 0xb7, 0x9a,
+ 0xee, 0x8f, 0x3a, 0xd0, 0x7f, 0x39, 0x15, 0x15, 0x7b, 0xbc, 0x18, 0x37, 0x92, 0x99, 0xd3, 0x7b,
+ 0x46, 0x9a, 0xad, 0x2f, 0x45, 0x88, 0x88, 0xde, 0x47, 0x9b, 0x0a, 0xc9, 0xf5, 0xb2, 0x4c, 0x05,
+ 0xd1, 0x9f, 0x04, 0xdb, 0x4b, 0x3c, 0x06, 0x84, 0x5a, 0x79, 0x3c, 0xfa, 0xf1, 0xea, 0xf4, 0x72,
+ 0xd3, 0xe1, 0xe8, 0xc5, 0xf1, 0xd5, 0xd5, 0xa7, 0x0f, 0x97, 0x6f, 0x36, 0x1d, 0x8e, 0x5e, 0x7d,
+ 0x3c, 0x79, 0x7f, 0x0e, 0x06, 0x90, 0xfa, 0x88, 0x1a, 0x8c, 0x2d, 0x2c, 0x2a, 0x33, 0xf5, 0xa2,
+ 0xe7, 0x4d, 0xbd, 0x68, 0xcd, 0xd4, 0xab, 0x41, 0x99, 0x30, 0xe1, 0x98, 0x41, 0x17, 0x55, 0x1a,
+ 0x74, 0xd1, 0x8f, 0x19, 0x74, 0x59, 0x37, 0xdd, 0xfa, 0x9b, 0x86, 0x46, 0x5d, 0x24, 0x1b, 0x75,
+ 0x01, 0x33, 0xea, 0x22, 0x61, 0xd4, 0xbd, 0x3c, 0xb1, 0x04, 0x49, 0x71, 0x5c, 0xbd, 0xcb, 0x11,
+ 0x1d, 0x81, 0xd5, 0x3a, 0x01, 0x36, 0x1d, 0x6f, 0x47, 0x8a, 0xeb, 0xce, 0x0d, 0x79, 0xac, 0x1e,
+ 0x7e, 0x8e, 0x69, 0x1d, 0xb3, 0xb3, 0x4f, 0x30, 0xfe, 0xe3, 0x76, 0xe3, 0x57, 0x25, 0x52, 0x00,
+ 0x0f, 0x8e, 0x64, 0xf6, 0x9a, 0x3e, 0x33, 0xa9, 0x7b, 0x26, 0xec, 0x99, 0xa9, 0x34, 0xc8, 0x7f,
+ 0x69, 0x88, 0xcc, 0xe9, 0x96, 0x90, 0xc8, 0xd3, 0x8d, 0xca, 0xfa, 0x30, 0x02, 0x2a, 0x76, 0x02,
+ 0x8b, 0x61, 0x24, 0xbe, 0x31, 0xc2, 0xee, 0x1b, 0xad, 0xf9, 0x67, 0x67, 0xc2, 0xc0, 0x53, 0x78,
+ 0x4e, 0xab, 0x32, 0x50, 0xb3, 0xdb, 0x84, 0x85, 0x13, 0x20, 0x96, 0xe9, 0x23, 0xb2, 0xa8, 0xd3,
+ 0x21, 0x59, 0xba, 0x58, 0x6d, 0xcd, 0x9a, 0x19, 0xf1, 0x08, 0x4a, 0x66, 0xad, 0xac, 0x1b, 0x28,
+ 0x9c, 0x5d, 0xcf, 0xc2, 0x68, 0x8a, 0x5f, 0x53, 0xee, 0xbd, 0xb6, 0xdb, 0xb0, 0x1d, 0xe5, 0xd9,
+ 0x4e, 0x45, 0xfc, 0x57, 0xa6, 0xdb, 0x66, 0xcd, 0xb6, 0x69, 0xc2, 0x81, 0x37, 0x49, 0xe5, 0xde,
+ 0xf2, 0xec, 0x1f, 0x2f, 0x18, 0x2b, 0x86, 0x61, 0x98, 0x3f, 0x61, 0xf8, 0x69, 0x35, 0xf1, 0x41,
+ 0xe4, 0xc4, 0x1d, 0xf7, 0x3c, 0x03, 0xca, 0xe3, 0x4f, 0x5e, 0x32, 0x61, 0x67, 0x6a, 0x78, 0x1d,
+ 0xbc, 0x61, 0xb3, 0xd3, 0xb5, 0x34, 0x0c, 0x94, 0xd8, 0x66, 0x2f, 0x39, 0x4a, 0xf1, 0xd0, 0x4b,
+ 0x1a, 0x0d, 0x8e, 0xa9, 0x88, 0x7d, 0x4a, 0x11, 0x9c, 0x15, 0x0f, 0x78, 0x8e, 0xc7, 0x4b, 0xaf,
+ 0xd4, 0x5e, 0x36, 0x55, 0x88, 0x5c, 0x86, 0x61, 0x62, 0x69, 0xf6, 0xe9, 0xa3, 0xb8, 0xa3, 0x11,
+ 0x91, 0xb4, 0x93, 0xbe, 0xfc, 0x56, 0x22, 0x5b, 0xc8, 0x37, 0xc1, 0xb4, 0x17, 0x1f, 0xae, 0x50,
+ 0x12, 0xed, 0xf0, 0x85, 0x82, 0xd1, 0xcd, 0xf8, 0xf7, 0x9b, 0xc1, 0x89, 0xb2, 0x84, 0x8a, 0x40,
+ 0x12, 0x8c, 0x81, 0x05, 0xe3, 0x15, 0xb3, 0x81, 0xa5, 0x2d, 0xf2, 0x15, 0xe0, 0xbf, 0xcb, 0x32,
+ 0x17, 0x9f, 0x06, 0xe2, 0xeb, 0x43, 0x1a, 0x01, 0x5f, 0xc2, 0xdd, 0xa1, 0xfc, 0x10, 0xf8, 0x2f,
+ 0x2d, 0xd3, 0xec, 0xad, 0xe2, 0x3b, 0xd9, 0x12, 0xdf, 0xfc, 0x28, 0xf9, 0xcc, 0x7b, 0xa0, 0xae,
+ 0x66, 0x82, 0xf5, 0xf8, 0x93, 0xca, 0x33, 0x9b, 0x0a, 0xe4, 0x18, 0x86, 0xb3, 0x18, 0xb9, 0x9d,
+ 0xd4, 0x5a, 0xb8, 0x1a, 0xee, 0x54, 0x02, 0x8a, 0x64, 0xf1, 0xf9, 0xf8, 0x32, 0x72, 0x91, 0xa9,
+ 0x2e, 0x27, 0x70, 0xc2, 0xbc, 0x6b, 0xfb, 0x5b, 0xe6, 0x5e, 0x57, 0x11, 0xe4, 0x36, 0x79, 0x82,
+ 0xc9, 0xbf, 0x3d, 0x7f, 0xf0, 0xb9, 0x8e, 0xcf, 0x04, 0x2a, 0xc8, 0x57, 0xbb, 0x6b, 0x66, 0x69,
+ 0x98, 0x97, 0x40, 0x48, 0x4e, 0x94, 0x60, 0x46, 0xa9, 0x61, 0xa4, 0xc9, 0xca, 0xf7, 0x8e, 0x97,
+ 0x28, 0x5d, 0x13, 0x45, 0x59, 0x4c, 0x93, 0x73, 0xf0, 0xf6, 0x22, 0xc0, 0x55, 0xe1, 0x56, 0xdc,
+ 0xd7, 0x66, 0x73, 0x8b, 0x31, 0xd4, 0xc6, 0xd7, 0x86, 0x8a, 0xc3, 0x00, 0x7e, 0xbf, 0xd6, 0xeb,
+ 0x99, 0x9e, 0x8e, 0x28, 0xee, 0x25, 0x8a, 0x39, 0xd2, 0xa2, 0x9d, 0x34, 0x6e, 0xf1, 0x30, 0xf5,
+ 0x51, 0xb3, 0xcb, 0xca, 0xee, 0xaf, 0x42, 0xab, 0xa9, 0x24, 0xdd, 0x1d, 0x50, 0x56, 0xdf, 0xb8,
+ 0x66, 0x0a, 0x30, 0x97, 0x6a, 0x89, 0x92, 0x72, 0xb6, 0xa5, 0xa4, 0x2c, 0x90, 0x17, 0xe7, 0x0e,
+ 0x24, 0x14, 0x4e, 0x08, 0x85, 0xcf, 0xbd, 0x72, 0x29, 0x37, 0x7b, 0x56, 0xca, 0x25, 0xab, 0x52,
+ 0xae, 0x05, 0xa2, 0xbe, 0x1c, 0xed, 0x93, 0x8a, 0xf2, 0x71, 0x45, 0xf9, 0xfb, 0x6a, 0xd2, 0xbe,
+ 0xd8, 0x54, 0x95, 0x4a, 0xbe, 0xf7, 0x1b, 0xa5, 0x5d, 0x52, 0x2e, 0xed, 0x02, 0x90, 0x76, 0xc1,
+ 0x9a, 0xb4, 0x0b, 0x56, 0xa4, 0x5d, 0x04, 0xd2, 0x2e, 0xca, 0xa5, 0x5d, 0x94, 0x4a, 0xbb, 0xd0,
+ 0xc6, 0xab, 0x7b, 0x78, 0xa3, 0xb4, 0x11, 0xe6, 0xd2, 0x2e, 0x9b, 0xca, 0x03, 0xa6, 0xe1, 0xd2,
+ 0x2e, 0x59, 0x97, 0x76, 0x21, 0x49, 0x3b, 0x6d, 0x25, 0xed, 0xde, 0xfc, 0xc7, 0x64, 0xdc, 0x45,
+ 0x26, 0xdb, 0xde, 0xff, 0xfb, 0xe5, 0xd9, 0xb4, 0x7a, 0x67, 0x27, 0xd5, 0x55, 0xe3, 0xed, 0x48,
+ 0xa5, 0x8a, 0xba, 0x0a, 0xba, 0xb8, 0x52, 0x2a, 0x26, 0x54, 0xfb, 0x56, 0x0c, 0x37, 0xfe, 0x10,
+ 0xd7, 0x26, 0x8c, 0x6b, 0x37, 0x39, 0x2b, 0xd3, 0x30, 0xf0, 0x92, 0x30, 0xfa, 0x4a, 0xd9, 0x85,
+ 0x9c, 0xaf, 0xce, 0x3c, 0x09, 0xf9, 0x65, 0xbc, 0xdf, 0xed, 0x67, 0x6d, 0x1a, 0x99, 0x5d, 0xb7,
+ 0xa1, 0xee, 0x40, 0x63, 0xd7, 0x2d, 0xbf, 0x83, 0x55, 0x6c, 0xbd, 0xc3, 0xcf, 0x4a, 0x02, 0xa4,
+ 0xab, 0x5e, 0x2e, 0xf7, 0x6d, 0x49, 0xbc, 0x1d, 0x34, 0xe7, 0x76, 0xed, 0x9c, 0x9c, 0x0f, 0x34,
+ 0x7f, 0x75, 0x14, 0xee, 0x29, 0x13, 0x5f, 0x5c, 0x35, 0x04, 0x31, 0x1b, 0xe2, 0x3f, 0x3a, 0x81,
+ 0x33, 0xfb, 0xa5, 0x33, 0x32, 0xac, 0x6d, 0x37, 0xe9, 0xad, 0x5d, 0xbb, 0x25, 0xb7, 0x03, 0x6d,
+ 0x5e, 0x31, 0xe9, 0xbc, 0x64, 0xd2, 0x79, 0xe5, 0xa4, 0xe5, 0x35, 0x64, 0xb2, 0x21, 0xa8, 0xc5,
+ 0x3e, 0x59, 0x8f, 0x81, 0x7e, 0x24, 0x5c, 0x29, 0x93, 0x98, 0x32, 0x73, 0x78, 0xf2, 0x92, 0xc8,
+ 0x19, 0x70, 0xf2, 0x74, 0x96, 0x68, 0x78, 0x58, 0xcf, 0x8f, 0x16, 0x14, 0x9e, 0xb9, 0x8a, 0x96,
+ 0x29, 0xff, 0x34, 0x28, 0xfb, 0xc8, 0x74, 0x21, 0x54, 0x86, 0x1f, 0x95, 0xff, 0xbb, 0x0c, 0x06,
+ 0xc9, 0x22, 0x5b, 0xb8, 0xa0, 0xbf, 0x6d, 0x72, 0x6b, 0xce, 0x3e, 0xbd, 0xe4, 0x12, 0x9d, 0x7c,
+ 0x80, 0xc5, 0x1c, 0x53, 0xbc, 0x23, 0x33, 0x06, 0xe1, 0x39, 0xbf, 0xc1, 0x1b, 0x50, 0x3b, 0xfe,
+ 0x7c, 0xd8, 0xe4, 0xaf, 0x3b, 0xa7, 0x57, 0x17, 0x9d, 0x37, 0x3b, 0x49, 0x44, 0xe9, 0x4e, 0xc7,
+ 0x30, 0xd5, 0xc2, 0x69, 0x57, 0x35, 0x38, 0x1f, 0xbd, 0x7f, 0x27, 0x38, 0xcd, 0x4f, 0xa7, 0x27,
+ 0x1f, 0xcf, 0x5f, 0x0c, 0xd4, 0xc4, 0x9f, 0xfd, 0x5b, 0x91, 0x74, 0xef, 0xdd, 0x7a, 0x45, 0x58,
+ 0x40, 0xd1, 0xa3, 0xdc, 0xd0, 0xf4, 0xa3, 0x1d, 0xfe, 0x55, 0xbd, 0xfe, 0x11, 0x23, 0x4a, 0xf6,
+ 0xaf, 0xf6, 0xf0, 0x9c, 0xf4, 0x9d, 0x21, 0x88, 0xfb, 0xfe, 0x5f, 0x16, 0xa3, 0x30, 0x48, 0x9a,
+ 0x23, 0x67, 0xea, 0xf9, 0x8f, 0x56, 0x0c, 0xee, 0x6f, 0x33, 0xa6, 0x91, 0x37, 0xea, 0xb1, 0x7f,
+ 0xbb, 0xcf, 0x12, 0xff, 0xd8, 0x5e, 0xef, 0xc6, 0x19, 0xde, 0x8e, 0xd9, 0xc1, 0x7c, 0x53, 0x54,
+ 0x50, 0x3a, 0x32, 0x47, 0x9d, 0x1e, 0xfe, 0x8b, 0x7d, 0xb7, 0x5e, 0xd2, 0xc4, 0x7f, 0x29, 0x01,
+ 0x7a, 0xfa, 0x40, 0x73, 0x16, 0xd2, 0x7b, 0xaf, 0x39, 0x0d, 0xbf, 0x97, 0x95, 0xc6, 0xeb, 0x85,
+ 0xab, 0x05, 0xcb, 0x9b, 0xd0, 0x7d, 0x5c, 0x4c, 0xbd, 0x80, 0x27, 0x0f, 0x58, 0x9d, 0x3d, 0x73,
+ 0xf6, 0xb0, 0x9c, 0x44, 0x0b, 0xf0, 0xb8, 0x5c, 0x4c, 0x01, 0x08, 0x67, 0x56, 0x6b, 0xf6, 0xa0,
+ 0x80, 0xb2, 0xf0, 0x5c, 0x45, 0x80, 0xb8, 0xc4, 0xdb, 0xc5, 0x09, 0x70, 0xe9, 0x89, 0x13, 0x2d,
+ 0x04, 0xeb, 0x59, 0x23, 0x9f, 0x3e, 0xf4, 0xf0, 0xa7, 0x79, 0x1f, 0x39, 0x33, 0x0b, 0x7f, 0x7a,
+ 0x33, 0xd8, 0x03, 0x50, 0x44, 0x56, 0x0b, 0x06, 0x4d, 0x5f, 0x9a, 0x3e, 0x1d, 0x25, 0x56, 0x6b,
+ 0x17, 0x4a, 0xd6, 0x57, 0x3a, 0x1a, 0x8d, 0x7a, 0x53, 0x27, 0x1a, 0x03, 0x3c, 0x37, 0x61, 0x92,
+ 0x84, 0x53, 0x6b, 0x0f, 0xc0, 0xc1, 0xdb, 0xb6, 0x8b, 0x14, 0x49, 0xbb, 0xbb, 0x4b, 0xdf, 0xb9,
+ 0xa1, 0x7e, 0x36, 0x31, 0x13, 0x1c, 0x3d, 0x0e, 0x3e, 0x0a, 0xce, 0x6c, 0xd6, 0x0e, 0xc0, 0xdd,
+ 0x6a, 0xc3, 0x3c, 0xcf, 0xe1, 0x17, 0x67, 0x1d, 0xce, 0xa3, 0x18, 0x9e, 0x59, 0x7e, 0x03, 0x8d,
+ 0x96, 0xb3, 0x88, 0x2e, 0x0a, 0x00, 0xef, 0x4a, 0x2b, 0xe0, 0x1f, 0x95, 0xda, 0x45, 0xc8, 0xa6,
+ 0xa1, 0xeb, 0xf8, 0x8b, 0x59, 0x18, 0x7b, 0xec, 0x7c, 0x7f, 0x84, 0x8a, 0xb6, 0xf7, 0xbd, 0xc9,
+ 0x12, 0x66, 0x60, 0xd9, 0x26, 0xba, 0x22, 0xa2, 0x17, 0x43, 0xa5, 0x89, 0x98, 0x60, 0x03, 0x82,
+ 0x5b, 0x06, 0x05, 0xa6, 0x00, 0x1c, 0x2a, 0x7e, 0xea, 0xf1, 0xfc, 0x0f, 0xfe, 0x0c, 0xaa, 0x32,
+ 0x1a, 0xf9, 0xe1, 0x3d, 0x5f, 0xd2, 0x3a, 0xcc, 0x38, 0xf2, 0x5a, 0x69, 0x34, 0xbe, 0x71, 0x34,
+ 0x93, 0xe0, 0x7f, 0x46, 0x57, 0x17, 0xd0, 0x35, 0xc5, 0xe9, 0x8c, 0xb4, 0xa5, 0x6c, 0x49, 0xcd,
+ 0x08, 0xac, 0x84, 0x79, 0xcc, 0x37, 0x47, 0xaa, 0x63, 0xab, 0x2b, 0xab, 0xe4, 0x3b, 0x52, 0xd9,
+ 0x57, 0x54, 0x97, 0x74, 0x5f, 0x03, 0x3e, 0xdd, 0x09, 0xd6, 0x71, 0x9d, 0xbe, 0x7a, 0x19, 0x3e,
+ 0xc1, 0x1c, 0x67, 0xdf, 0xca, 0x15, 0x44, 0x51, 0xdc, 0x5f, 0x13, 0x4a, 0x1f, 0x04, 0xdd, 0x76,
+ 0x77, 0xcd, 0x6c, 0x3b, 0x9a, 0x13, 0x76, 0xb6, 0xb4, 0xc8, 0xa8, 0x6f, 0x0f, 0x09, 0x61, 0x2f,
+ 0x27, 0x04, 0xdc, 0xef, 0x67, 0x80, 0xfa, 0xbd, 0x58, 0x2a, 0x59, 0x94, 0xd8, 0xdd, 0xb6, 0xb1,
+ 0x0b, 0x96, 0x50, 0x0f, 0x53, 0x4e, 0x9a, 0xc5, 0x22, 0x26, 0x1d, 0xd0, 0x0c, 0xb5, 0x5a, 0xac,
+ 0x20, 0x5d, 0x0e, 0x63, 0x51, 0x99, 0x95, 0xf8, 0x62, 0x4a, 0xe9, 0x38, 0xed, 0x33, 0x62, 0x47,
+ 0x71, 0x25, 0x28, 0xc8, 0xa7, 0x84, 0x19, 0xcb, 0x59, 0x61, 0x13, 0xeb, 0xff, 0x5e, 0x5a, 0x58,
+ 0x97, 0x16, 0xfc, 0x5c, 0x9e, 0x6d, 0x76, 0x78, 0xdf, 0x8c, 0x28, 0xde, 0xa0, 0xa1, 0x4b, 0x0f,
+ 0x23, 0x77, 0xd5, 0x2c, 0x9e, 0x72, 0x0a, 0x47, 0x5c, 0xba, 0xca, 0xbd, 0x94, 0xe1, 0x65, 0xe4,
+ 0xb6, 0x8c, 0x6e, 0xfb, 0x60, 0x77, 0xbf, 0xd5, 0xed, 0xa4, 0xc0, 0x09, 0x78, 0xba, 0x5b, 0x4a,
+ 0x86, 0x70, 0x9e, 0xe0, 0x78, 0x96, 0x29, 0x80, 0xaa, 0xa2, 0xda, 0x25, 0x0f, 0x63, 0x3f, 0x0b,
+ 0x74, 0xdb, 0xe8, 0xbe, 0x04, 0x68, 0xfc, 0x84, 0x96, 0x37, 0x84, 0x2d, 0x75, 0x7c, 0x6f, 0x1c,
+ 0x58, 0x53, 0xcf, 0x75, 0x7d, 0xba, 0x22, 0xae, 0x4a, 0x38, 0x09, 0xe5, 0x03, 0xbb, 0xc9, 0xd0,
+ 0xe4, 0x79, 0xee, 0x41, 0xc8, 0x24, 0x72, 0x25, 0x0a, 0x36, 0xf1, 0xc4, 0xd2, 0xb2, 0x98, 0x8a,
+ 0x49, 0x3d, 0x17, 0xfc, 0xb7, 0x62, 0x17, 0x9b, 0x1a, 0x0b, 0x45, 0x95, 0xb5, 0x67, 0x96, 0xfb,
+ 0x8b, 0x7a, 0x94, 0xcf, 0x30, 0x6a, 0xe1, 0x7f, 0x4b, 0xfc, 0x88, 0x0f, 0x48, 0xba, 0x88, 0xa4,
+ 0xcd, 0x17, 0x42, 0x67, 0x70, 0x11, 0x9b, 0x53, 0x79, 0x2b, 0x2a, 0x27, 0x72, 0x36, 0x4c, 0xa5,
+ 0xf8, 0x59, 0x1a, 0x5c, 0xc1, 0xfc, 0x91, 0xfb, 0x95, 0x12, 0x85, 0x17, 0xb0, 0x6e, 0x6b, 0xb4,
+ 0xb1, 0x15, 0x21, 0x0a, 0x95, 0xc0, 0x15, 0xac, 0x13, 0x3c, 0xde, 0x4f, 0x68, 0x44, 0x65, 0x65,
+ 0xdc, 0x17, 0x24, 0x28, 0xd0, 0xc1, 0xf5, 0x14, 0xaa, 0xda, 0x25, 0xbb, 0x6b, 0xb0, 0x28, 0x17,
+ 0x19, 0xbc, 0x93, 0xc5, 0x6f, 0xca, 0x96, 0xb4, 0x31, 0x6f, 0xcc, 0x83, 0xc3, 0xc3, 0xe5, 0xdc,
+ 0xdf, 0xa8, 0xeb, 0x31, 0x10, 0xce, 0xff, 0x01, 0xe1, 0x26, 0xfb, 0xa6, 0x32, 0x33, 0x37, 0x84,
+ 0xd8, 0xee, 0xe4, 0xca, 0x13, 0x9f, 0x99, 0x76, 0x15, 0x55, 0x5c, 0x9e, 0xe1, 0x9e, 0xa1, 0x11,
+ 0x22, 0xd0, 0xd9, 0xd9, 0x65, 0x05, 0x20, 0xdd, 0x0b, 0x05, 0x95, 0xfa, 0x22, 0xc3, 0xcc, 0x23,
+ 0xc7, 0x66, 0x05, 0xa6, 0x7c, 0x2f, 0x13, 0x88, 0x87, 0x38, 0x6b, 0x97, 0x4d, 0xc2, 0xc0, 0x30,
+ 0x15, 0x4e, 0x2b, 0xf9, 0x0c, 0xe0, 0x76, 0x82, 0x0f, 0x0c, 0xf2, 0x94, 0x06, 0x73, 0xc6, 0x42,
+ 0xd1, 0x82, 0xad, 0x18, 0x70, 0x73, 0x6f, 0xb5, 0x7a, 0x82, 0xf3, 0x9a, 0x14, 0x4d, 0xcc, 0x98,
+ 0xdb, 0x52, 0xc6, 0x0c, 0x53, 0x45, 0xd6, 0x57, 0x56, 0x64, 0xba, 0x16, 0xd3, 0x54, 0xf2, 0x55,
+ 0xc5, 0x45, 0x91, 0x1d, 0x8c, 0xfc, 0xee, 0xa3, 0xa8, 0x89, 0xa8, 0x2b, 0x97, 0x36, 0xd9, 0x31,
+ 0xd2, 0xa2, 0xc2, 0x90, 0x49, 0x7b, 0xf4, 0x58, 0x07, 0x4e, 0x85, 0x43, 0xca, 0xac, 0x1a, 0x23,
+ 0xbd, 0xe1, 0xbb, 0xa8, 0x06, 0x3f, 0xd5, 0x9e, 0x3f, 0xae, 0x07, 0xab, 0x34, 0xab, 0x04, 0x64,
+ 0xca, 0x5a, 0x6b, 0x9a, 0x50, 0xe6, 0xb4, 0x36, 0xe2, 0x0f, 0xed, 0xae, 0x15, 0xdb, 0xcc, 0x08,
+ 0xc2, 0xdf, 0x0f, 0xe4, 0x46, 0xf3, 0x16, 0x26, 0x10, 0x0a, 0xf4, 0xf7, 0x9a, 0x3e, 0x9b, 0x6d,
+ 0x82, 0x14, 0xe5, 0x7f, 0xe4, 0x64, 0x65, 0x3a, 0xbb, 0xdc, 0xce, 0xce, 0xf9, 0x6d, 0xcb, 0x7d,
+ 0xc8, 0x78, 0xc5, 0xcc, 0xe4, 0x19, 0x3a, 0x19, 0xc8, 0x16, 0x37, 0xe1, 0x8a, 0x6e, 0x4f, 0x2b,
+ 0x24, 0x09, 0x51, 0x7c, 0x2d, 0xae, 0x1d, 0x6f, 0x63, 0x55, 0x50, 0x74, 0xda, 0x30, 0xf3, 0x54,
+ 0x04, 0x8c, 0xbb, 0x66, 0xa5, 0x0b, 0x91, 0x32, 0x1c, 0x97, 0x7f, 0x55, 0x36, 0x0c, 0x77, 0x44,
+ 0x4a, 0x77, 0x7f, 0xd5, 0x82, 0x4c, 0x59, 0x79, 0x69, 0x60, 0x34, 0x2a, 0x93, 0x83, 0x9c, 0x6d,
+ 0xd2, 0x34, 0x70, 0x62, 0xa4, 0xe9, 0xe9, 0xfc, 0x09, 0x4d, 0x39, 0xfe, 0x84, 0x02, 0x31, 0x1b,
+ 0x0c, 0x30, 0xa9, 0xec, 0xae, 0x49, 0x85, 0xac, 0xb4, 0x1c, 0x05, 0x72, 0xce, 0x7a, 0x05, 0xe3,
+ 0x17, 0xd0, 0xff, 0x6d, 0x1e, 0x27, 0xde, 0xe8, 0x31, 0xb5, 0xfd, 0x2d, 0x26, 0xc1, 0x9a, 0x37,
+ 0x34, 0xb9, 0xa7, 0x34, 0x40, 0x4e, 0x9c, 0x4f, 0x83, 0xe6, 0xd8, 0x99, 0x09, 0x69, 0x24, 0x27,
+ 0xe5, 0xff, 0x1b, 0x87, 0x5f, 0xbc, 0x60, 0x90, 0xed, 0xd4, 0x2b, 0x17, 0x6c, 0xcf, 0x98, 0xac,
+ 0xa5, 0xeb, 0x49, 0xb7, 0xe3, 0x00, 0x00, 0x8c, 0xef, 0xc6, 0x8b, 0x0d, 0x88, 0xc7, 0xcd, 0xb5,
+ 0x26, 0xa8, 0x54, 0x16, 0xab, 0x76, 0xd7, 0x33, 0xb2, 0x2e, 0x25, 0xa9, 0x94, 0x30, 0xf8, 0x28,
+ 0xc4, 0xf7, 0x84, 0xb6, 0xc5, 0xa7, 0x1f, 0x1a, 0x18, 0x57, 0x50, 0x22, 0xdf, 0xb3, 0x79, 0x9e,
+ 0x53, 0xe6, 0x2b, 0xeb, 0xea, 0x23, 0x06, 0x7e, 0x70, 0x6d, 0xd3, 0x66, 0x2b, 0x35, 0x38, 0x38,
+ 0x47, 0xa1, 0xec, 0x28, 0x5a, 0x20, 0xe8, 0xcc, 0x70, 0x2b, 0xa3, 0x5f, 0x8e, 0x6a, 0x31, 0x32,
+ 0x5b, 0x91, 0x4b, 0x87, 0x61, 0xc4, 0x4e, 0x63, 0xd6, 0xd5, 0x1a, 0x3e, 0xd6, 0xbc, 0x29, 0x7e,
+ 0xf0, 0xc6, 0x09, 0x12, 0x69, 0x15, 0x02, 0x9d, 0xab, 0x05, 0x38, 0x1d, 0x29, 0xd8, 0x37, 0x15,
+ 0x00, 0x08, 0xb4, 0xfc, 0xe9, 0xfd, 0xd5, 0xcf, 0x8b, 0x75, 0xbc, 0xfe, 0xa9, 0x32, 0x3e, 0xbb,
+ 0x90, 0x64, 0xe2, 0x8a, 0x9a, 0xfa, 0x5f, 0x53, 0xea, 0x7a, 0x8e, 0x02, 0xed, 0x28, 0x7e, 0x61,
+ 0x27, 0x70, 0x15, 0x2d, 0xf7, 0x57, 0xf7, 0x30, 0x10, 0xa0, 0x2f, 0x64, 0xeb, 0xa2, 0x20, 0x54,
+ 0x96, 0x47, 0x3b, 0xcc, 0x96, 0xea, 0x1f, 0xed, 0xa0, 0x2c, 0xea, 0x1f, 0xa1, 0xf4, 0x63, 0x97,
+ 0x4f, 0xfa, 0x47, 0x73, 0x1f, 0x2f, 0x36, 0xe0, 0x95, 0x93, 0x34, 0x22, 0xd8, 0x4f, 0x0f, 0xd2,
+ 0xf1, 0x2a, 0x43, 0x56, 0x29, 0xe2, 0x73, 0x7d, 0x76, 0x4c, 0x36, 0x82, 0x39, 0x0a, 0xb5, 0x69,
+ 0xa0, 0xac, 0xff, 0x96, 0xfa, 0xb3, 0x42, 0x4d, 0x7a, 0x4c, 0x27, 0x12, 0xeb, 0x78, 0x00, 0xbe,
+ 0xcf, 0xc2, 0x5f, 0x59, 0x3b, 0x51, 0x95, 0x83, 0xaf, 0xf6, 0x0b, 0x63, 0xe4, 0xa9, 0x51, 0xc5,
+ 0x51, 0xde, 0x61, 0x79, 0xa1, 0x65, 0x7a, 0x9a, 0xa8, 0xa4, 0xb6, 0x89, 0x9d, 0x7f, 0x87, 0x44,
+ 0x8c, 0xb9, 0x83, 0x2b, 0xe6, 0x37, 0x32, 0x26, 0x51, 0xff, 0x88, 0x6f, 0x0a, 0xbf, 0x89, 0x83,
+ 0x23, 0x48, 0x89, 0x96, 0xf2, 0x6d, 0x1f, 0x51, 0x95, 0x95, 0xed, 0xac, 0xf6, 0x2b, 0xe4, 0xf7,
+ 0xa6, 0x60, 0x32, 0x5d, 0xa3, 0x70, 0x60, 0x57, 0x5b, 0x8a, 0x9c, 0xd5, 0x42, 0x53, 0xa1, 0x2a,
+ 0xd4, 0xfe, 0x35, 0x8d, 0xa6, 0x98, 0xe7, 0xbd, 0x02, 0x81, 0x9c, 0xa1, 0x5b, 0xec, 0x88, 0x3b,
+ 0xaa, 0x64, 0x96, 0x86, 0x2a, 0xdf, 0x2c, 0x52, 0x73, 0x93, 0x1e, 0xca, 0x99, 0xdb, 0x99, 0xd6,
+ 0x8c, 0xc2, 0x68, 0xfa, 0x9a, 0xd7, 0xaa, 0xa0, 0x34, 0xa9, 0xef, 0xb3, 0xf3, 0x01, 0xa8, 0x70,
+ 0xfc, 0x98, 0xaa, 0x0a, 0x92, 0xa6, 0xc8, 0x40, 0xb7, 0xd5, 0x70, 0x34, 0x4a, 0x4b, 0xa6, 0x33,
+ 0x4c, 0x31, 0x15, 0x45, 0xe9, 0x49, 0x0a, 0x87, 0x50, 0x4e, 0xe4, 0xeb, 0x2b, 0x47, 0x9c, 0x5d,
+ 0xd2, 0xf9, 0x6e, 0x92, 0x40, 0x34, 0xe3, 0x19, 0x79, 0xfd, 0x2b, 0x1a, 0xb8, 0x47, 0x3b, 0x82,
+ 0x9b, 0x9f, 0x81, 0x99, 0x47, 0x40, 0x19, 0x80, 0x60, 0x20, 0xf0, 0x71, 0xaa, 0x8f, 0x3a, 0x14,
+ 0x71, 0xd2, 0x21, 0x7a, 0xe0, 0x76, 0x2a, 0x47, 0xcc, 0x15, 0x53, 0x60, 0xd5, 0x9b, 0x7a, 0xf6,
+ 0x8f, 0xb3, 0x67, 0xa0, 0x18, 0xec, 0x51, 0xbc, 0xc7, 0x33, 0xc3, 0xc4, 0xfc, 0x7c, 0x33, 0xd2,
+ 0x34, 0x61, 0xbc, 0x53, 0x14, 0xd1, 0xfe, 0xda, 0x3d, 0x31, 0x6c, 0x2a, 0xa5, 0x74, 0x6f, 0x24,
+ 0x8d, 0xb5, 0xc4, 0xea, 0x72, 0xea, 0xc8, 0x3f, 0xf0, 0x56, 0x39, 0xcf, 0x1f, 0x46, 0x22, 0x0c,
+ 0x42, 0x81, 0x7b, 0x96, 0x30, 0x5c, 0xdc, 0x6f, 0x7e, 0xac, 0xa9, 0x4c, 0xe7, 0x7e, 0xe2, 0x01,
+ 0x51, 0x00, 0x5e, 0xc5, 0xd3, 0x86, 0xcd, 0x4f, 0x33, 0xa3, 0xfa, 0x97, 0xfc, 0x21, 0x23, 0x80,
+ 0x6a, 0x72, 0xc9, 0x0e, 0x38, 0x14, 0xfe, 0xd9, 0x23, 0xf5, 0x35, 0x2b, 0xc9, 0xef, 0x61, 0xa8,
+ 0xfd, 0xc6, 0xf3, 0xc3, 0xc8, 0xe9, 0x4b, 0xe9, 0x40, 0x73, 0xf1, 0x79, 0x1c, 0x56, 0x28, 0x0d,
+ 0x22, 0x63, 0x87, 0x93, 0x0d, 0xc7, 0x04, 0x8e, 0x23, 0x27, 0x59, 0xf7, 0xcd, 0x9f, 0x32, 0xba,
+ 0xe0, 0xf1, 0x83, 0x0c, 0xeb, 0x3c, 0xae, 0xb0, 0xde, 0x4f, 0x65, 0x77, 0xfb, 0xd5, 0x96, 0x69,
+ 0x66, 0xc8, 0xdc, 0x35, 0x39, 0xfd, 0xf0, 0x11, 0xca, 0xc8, 0x47, 0xd8, 0x35, 0xc5, 0x3d, 0x55,
+ 0x4b, 0xdb, 0xdc, 0x54, 0xef, 0x7d, 0x4a, 0x41, 0x6b, 0xab, 0x13, 0x00, 0xe2, 0x21, 0x79, 0x7f,
+ 0xa7, 0x64, 0x7a, 0x76, 0x37, 0xac, 0x9a, 0xb8, 0x8b, 0x39, 0xfb, 0xc5, 0xb9, 0x33, 0x7a, 0x5b,
+ 0xbb, 0x0c, 0xb7, 0x36, 0x90, 0xb8, 0xd0, 0xf0, 0x0c, 0x8f, 0x14, 0x72, 0xfe, 0xab, 0x38, 0x44,
+ 0xe4, 0x82, 0xf1, 0x04, 0x97, 0x8a, 0x89, 0xfe, 0x13, 0x4c, 0xe2, 0x0c, 0x87, 0x74, 0x06, 0xd2,
+ 0x13, 0x3f, 0x11, 0x97, 0xb3, 0xcc, 0xe8, 0x5e, 0x7d, 0x86, 0x4c, 0x31, 0xb5, 0x0f, 0xc4, 0x23,
+ 0x9e, 0xad, 0x28, 0x48, 0xb1, 0xdb, 0x12, 0x66, 0x9e, 0xd1, 0xf3, 0x52, 0xd2, 0xe4, 0x3d, 0xb7,
+ 0x26, 0x4e, 0xf9, 0xf7, 0x46, 0x52, 0x84, 0x79, 0x82, 0x72, 0xa6, 0xd7, 0x31, 0x88, 0x2c, 0x6f,
+ 0xa3, 0x5c, 0x9e, 0x1a, 0xec, 0x65, 0x55, 0xe9, 0x6e, 0x9e, 0xbb, 0xd0, 0xc0, 0x1b, 0x89, 0xef,
+ 0x6b, 0xad, 0x5d, 0x9d, 0x55, 0xf3, 0xc8, 0xf6, 0x86, 0x0d, 0x5b, 0xa3, 0xf8, 0xfe, 0xc7, 0x18,
+ 0x1c, 0x5c, 0x31, 0x1a, 0xdf, 0xce, 0x0c, 0x7e, 0x9e, 0xeb, 0xf9, 0xa3, 0x2a, 0x51, 0xb6, 0x2f,
+ 0xb6, 0x07, 0xe7, 0x42, 0xe4, 0x99, 0x16, 0x41, 0xe2, 0x44, 0x95, 0xe6, 0xa0, 0xa6, 0x6c, 0x2a,
+ 0x67, 0xa4, 0xfe, 0x5e, 0x28, 0x8b, 0xbc, 0x91, 0x25, 0xab, 0xcb, 0xb4, 0xad, 0xac, 0x86, 0x8b,
+ 0xd0, 0x0e, 0x04, 0xea, 0x00, 0xbf, 0x08, 0xcf, 0x00, 0x95, 0x30, 0x52, 0x52, 0x98, 0xaa, 0x76,
+ 0x27, 0x63, 0x28, 0x41, 0xf4, 0x7c, 0x5d, 0x22, 0x59, 0x5b, 0x62, 0x01, 0x05, 0x3c, 0x00, 0xbe,
+ 0xca, 0xb5, 0xfc, 0xf3, 0xfe, 0x9b, 0xac, 0x64, 0x5d, 0xd6, 0x3f, 0x3f, 0x9e, 0x9c, 0x1d, 0x9e,
+ 0x9a, 0x8e, 0x29, 0x4f, 0x95, 0x88, 0x26, 0x6e, 0x23, 0xef, 0xe0, 0x3d, 0xf5, 0xfe, 0xff, 0x05,
+ 0x55, 0x46, 0x20, 0x1b, 0x12, 0x8e, 0x00, 0x00
};
#endif //__embedded_h
\ No newline at end of file
diff --git a/esp3d/src/modules/http/favicon.h b/esp3d/src/modules/http/favicon.h
new file mode 100644
index 00000000..b6231b34
--- /dev/null
+++ b/esp3d/src/modules/http/favicon.h
@@ -0,0 +1,48 @@
+/*
+ favicon.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
+*/
+
+#ifndef __favicon_h
+#define __favicon_h
+#define favicon_size 345
+const unsigned char favicon[345] PROGMEM = {
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0xb5, 0x94, 0x31, 0x4b, 0xc3, 0x50,
+ 0x14, 0x85, 0x4f, 0x63, 0xc1, 0x5a, 0x0b, 0x06, 0x91, 0x4e, 0x52, 0x3a, 0x44, 0x10, 0x27, 0x31,
+ 0x45, 0xdc, 0x74, 0xea, 0xef, 0x90, 0x4c, 0x22, 0x0e, 0x22, 0xba, 0x0b, 0x4e, 0xc5, 0xb9, 0x3f,
+ 0xc0, 0x5f, 0xd0, 0x31, 0xab, 0x8e, 0x0e, 0x4e, 0x52, 0xba, 0x0a, 0x0e, 0xe2, 0x26, 0x48, 0x87,
+ 0x52, 0xa5, 0x9e, 0x4b, 0x4f, 0xf0, 0x52, 0x13, 0xa8, 0x82, 0xaf, 0x7c, 0xcd, 0xcb, 0xb9, 0xe7,
+ 0xde, 0x77, 0xfb, 0x5e, 0x52, 0xa0, 0xc4, 0x4f, 0x18, 0x82, 0xdf, 0x4d, 0x1c, 0x95, 0x81, 0x3a,
+ 0x80, 0x4d, 0x42, 0x89, 0xca, 0x54, 0xff, 0xaf, 0xf1, 0x7e, 0xb1, 0x3c, 0x31, 0xf2, 0xe6, 0xf3,
+ 0xfa, 0x6c, 0x78, 0x5f, 0x76, 0x8d, 0xe3, 0xf8, 0xc0, 0xc8, 0x8b, 0xf9, 0x3a, 0x45, 0x75, 0x55,
+ 0x63, 0x4c, 0x56, 0xf3, 0x7a, 0xf3, 0xda, 0x6c, 0xcf, 0xca, 0xbd, 0x91, 0x16, 0xfc, 0x66, 0x7d,
+ 0xe6, 0x3d, 0x3b, 0x3d, 0xe0, 0x7d, 0x52, 0xd4, 0xe7, 0xec, 0xa0, 0x77, 0x97, 0x8c, 0x88, 0xd5,
+ 0x79, 0x15, 0x13, 0x69, 0x7b, 0x45, 0xe7, 0xc0, 0x58, 0x44, 0xba, 0xa4, 0x41, 0x5a, 0x24, 0x25,
+ 0x43, 0x91, 0x4a, 0x6b, 0xc8, 0x13, 0xe5, 0xe4, 0x27, 0x6e, 0xcd, 0x43, 0x4a, 0x15, 0x17, 0xae,
+ 0x98, 0xe6, 0x7a, 0x49, 0x5c, 0x5e, 0x95, 0xb4, 0x39, 0x2d, 0xf3, 0xda, 0x21, 0x9f, 0xf2, 0xd8,
+ 0xba, 0x0f, 0x62, 0x28, 0xcd, 0x62, 0x1d, 0x79, 0xdb, 0xca, 0x3d, 0x57, 0xac, 0x47, 0x42, 0xb2,
+ 0x63, 0xfb, 0xee, 0xd6, 0xca, 0x7a, 0x32, 0x6d, 0x5b, 0x9e, 0x9e, 0x74, 0xcb, 0x5d, 0x27, 0x7d,
+ 0xdd, 0xbf, 0x90, 0x53, 0xb2, 0xa6, 0xde, 0x6a, 0x86, 0xe6, 0x75, 0x72, 0xe6, 0xea, 0x3e, 0x5a,
+ 0xae, 0xf3, 0x75, 0xf5, 0xac, 0x64, 0x7d, 0xf6, 0xb5, 0x6f, 0xa9, 0xe6, 0xd9, 0xef, 0x1a, 0xcb,
+ 0x5b, 0x2b, 0x38, 0x83, 0x6b, 0x32, 0x70, 0xfe, 0xac, 0xde, 0x40, 0xb1, 0x1f, 0x7b, 0x5f, 0x70,
+ 0x9e, 0xb6, 0x37, 0x4d, 0x51, 0x9d, 0x27, 0xe7, 0x2f, 0xc3, 0xde, 0xbc, 0x8d, 0x7b, 0xa0, 0x75,
+ 0x0c, 0x44, 0x5c, 0xe5, 0x64, 0x8b, 0xff, 0x19, 0x4b, 0xc0, 0xdb, 0x0a, 0x70, 0xbb, 0x00, 0xdc,
+ 0x5d, 0x7d, 0x7b, 0x03, 0xbe, 0x89, 0x97, 0x25, 0xe0, 0x69, 0x11, 0xf8, 0xd8, 0x9f, 0xe6, 0x7e,
+ 0x01, 0xbf, 0xe1, 0x18, 0x97, 0x7e, 0x04, 0x00, 0x00
+};
+#endif //__favicon_h
\ No newline at end of file
diff --git a/esp3d/src/modules/http/handles/handle-filenotfound.cpp b/esp3d/src/modules/http/handles/handle-filenotfound.cpp
index b3cbfb97..4d690515 100644
--- a/esp3d/src/modules/http/handles/handle-filenotfound.cpp
+++ b/esp3d/src/modules/http/handles/handle-filenotfound.cpp
@@ -31,6 +31,7 @@
#if defined(SD_DEVICE)
#include "../../filesystem/esp_sd.h"
#endif //SD_DEVICE
+#include "../favicon.h"
#if defined(ESP3DLIB_ENV) && COMMUNICATION_PROTOCOL == SOCKET_SERIAL
#include "../../serial2socket/serial2socket.h"
@@ -60,6 +61,11 @@ void HTTP_Server:: handle_not_found()
}
return;
}
+ if (path=="favicon.ico" || path=="/favicon.ico") {
+ _webserver->sendHeader("Content-Encoding", "gzip");
+ _webserver->send_P(200,"image/x-icon",(const char *)favicon,favicon_size);
+ return;
+ }
#endif //#if defined (FILESYSTEM_FEATURE)
#if defined (SD_DEVICE)
diff --git a/esp3d/src/modules/http/handles/handle-root.cpp b/esp3d/src/modules/http/handles/handle-root.cpp
index 7fd87139..09e89412 100644
--- a/esp3d/src/modules/http/handles/handle-root.cpp
+++ b/esp3d/src/modules/http/handles/handle-root.cpp
@@ -32,7 +32,15 @@
//Root of Webserver/////////////////////////////////////////////////////
void HTTP_Server::handle_root()
{
- String path = "/index.html";
+ String path = ESP3D_HOST_PATH;
+ //Some sanity check
+ if (path[0]!='/') {
+ path ="/" + path;
+ }
+ if (path[path.length()-1]!='/') {
+ path = path + "/";
+ }
+ path += "index.html";
String contentType = getContentType(path.c_str());
String pathWithGz = path + ".gz";
//if have a index.html or gzip version this is default root page
diff --git a/esp3d/src/modules/http/handles/upload-SD-files.cpp b/esp3d/src/modules/http/handles/upload-SD-files.cpp
index c7d3c701..00a6ab35 100644
--- a/esp3d/src/modules/http/handles/upload-SD-files.cpp
+++ b/esp3d/src/modules/http/handles/upload-SD-files.cpp
@@ -99,6 +99,35 @@ void HTTP_Server::SDFileupload ()
if (ESP_SD::exists (filename.c_str()) ) {
ESP_SD::remove (filename.c_str());
}
+ String path = _webserver->arg ("path");
+ if (path[0] != '/') {
+ path = "/" + path;
+ }
+ if (path[path.length()-1] != '/') {
+ path = path + "/";
+ }
+ if (_webserver->hasArg("createPath") && path.length() > 1) {
+ if (_webserver->arg("createPath")== "true") {
+ int pos = path.indexOf('/',1);
+ while (pos != -1) {
+ String currentPath = path.substring(0, pos);
+ if (!ESP_SD::exists (currentPath.c_str()) ) {
+ if ( !ESP_SD::mkdir (currentPath.c_str()) ) {
+ pushError(ESP_ERROR_FILE_CREATION, "Failed to create path", 500);
+ _upload_status=UPLOAD_STATUS_FAILED;
+ break;
+ }
+ }
+ if (pos+1 >= path.length()-1) {
+ pos=-1;
+ break;
+ } else {
+ pos = path.indexOf('/',pos+1);
+ }
+
+ }
+ }
+ }
if (fsUploadFile.isOpen() ) {
fsUploadFile.close();
}
diff --git a/esp3d/src/modules/http/handles/upload-files.cpp b/esp3d/src/modules/http/handles/upload-files.cpp
index 6e573ce8..7a147503 100644
--- a/esp3d/src/modules/http/handles/upload-files.cpp
+++ b/esp3d/src/modules/http/handles/upload-files.cpp
@@ -85,6 +85,35 @@ void HTTP_Server::FSFileupload ()
if (ESP_FileSystem::exists (filename.c_str()) ) {
ESP_FileSystem::remove (filename.c_str());
}
+ String path = _webserver->arg ("path");
+ if (path[0] != '/') {
+ path = "/" + path;
+ }
+ if (path[path.length()-1] != '/') {
+ path = path + "/";
+ }
+ if (_webserver->hasArg("createPath") && path.length() > 1) {
+ if (_webserver->arg("createPath")== "true") {
+ int pos = path.indexOf('/',1);
+ while (pos != -1) {
+ String currentPath = path.substring(0, pos);
+ if (!ESP_FileSystem::exists (currentPath.c_str()) ) {
+ if ( !ESP_FileSystem::mkdir (currentPath.c_str()) ) {
+ pushError(ESP_ERROR_FILE_CREATION, "Failed to create path", 500);
+ _upload_status=UPLOAD_STATUS_FAILED;
+ break;
+ }
+ }
+ if (pos+1 >= path.length()-1) {
+ pos=-1;
+ break;
+ } else {
+ pos = path.indexOf('/',pos+1);
+ }
+
+ }
+ }
+ }
if (fsUploadFile.isOpen() ) {
fsUploadFile.close();
}
diff --git a/esp3d/src/modules/websocket/websocket_server.cpp b/esp3d/src/modules/websocket/websocket_server.cpp
index c055e97e..b8a866e8 100644
--- a/esp3d/src/modules/websocket/websocket_server.cpp
+++ b/esp3d/src/modules/websocket/websocket_server.cpp
@@ -30,10 +30,9 @@
#include "../../core/esp3doutput.h"
#include "../../core/commands.h"
#include "../authentication/authentication_service.h"
-
-WebSocket_Server websocket_terminal_server;
+WebSocket_Server websocket_terminal_server("webui-v3");
#if defined(WS_DATA_FEATURE)
-WebSocket_Server websocket_data_server;
+WebSocket_Server websocket_data_server();
#endif //WS_DATA_FEATURE
void WebSocket_Server::pushMSG (const char * data)
{
@@ -79,7 +78,7 @@ void handle_Websocket_Server_Event(uint8_t num, uint8_t type, uint8_t * payload,
log_esp3d("[%u] Disconnected! port %d", num,websocket_data_server.port());
break;
case WStype_CONNECTED: {
- log_esp3d("[%u] Connected! port %d", num,websocket_data_server.port());
+ log_esp3d("[%u] Connected! port %d, %s", num,websocket_data_server.port(), payload);
}
break;
case WStype_TEXT:
@@ -108,6 +107,7 @@ void handle_Websocket_Terminal_Event(uint8_t num, uint8_t type, uint8_t * payloa
log_esp3d("[%u] Socket Disconnected port %d!", num,websocket_terminal_server.port());
break;
case WStype_CONNECTED: {
+ log_esp3d("[%u] Connected! port %d, %s", num,websocket_terminal_server.port(), (const char *)payload);
msg = "currentID:" + String(num);
// send message to client
websocket_terminal_server.set_currentID(num);
@@ -152,22 +152,22 @@ int WebSocket_Server::availableForWrite()
{
return TXBUFFERSIZE -_TXbufferSize;
}
-WebSocket_Server::WebSocket_Server()
+WebSocket_Server::WebSocket_Server(const char * protocol )
{
_websocket_server = nullptr;
_started = false;
_port = 0;
_current_id = 0;
- _isdebug = false;
_RXbuffer = nullptr;
_RXbufferSize = 0;
+ _protocol = protocol;
}
WebSocket_Server::~WebSocket_Server()
{
end();
}
-bool WebSocket_Server::begin(uint16_t port, bool debug)
+bool WebSocket_Server::begin(uint16_t port)
{
end();
if(port == 0) {
@@ -178,8 +178,7 @@ bool WebSocket_Server::begin(uint16_t port, bool debug)
return true;
}
}
- _isdebug = debug;
- _websocket_server = new WebSocketsServer(_port);
+ _websocket_server = new WebSocketsServer(_port,"",_protocol.c_str());
if (_websocket_server) {
_websocket_server->begin();
#if defined (HTTP_FEATURE) //terminal websocket for HTTP
@@ -188,7 +187,7 @@ bool WebSocket_Server::begin(uint16_t port, bool debug)
}
#endif //HTTP_FEATURE
#if defined (WS_DATA_FEATURE) //terminal websocket for HTTP
- if((port != 0) && !_isdebug) {
+ if((port != 0) && _protocol!="debug") {
_websocket_server->onEvent(handle_Websocket_Server_Event);
_RXbuffer= (uint8_t *)malloc(RXBUFFERSIZE +1);
if (!_RXbuffer) {
@@ -207,7 +206,6 @@ void WebSocket_Server::end()
{
_current_id = 0;
_TXbufferSize = 0;
- _isdebug = false;
if(_RXbuffer) {
free(_RXbuffer);
_RXbuffer = nullptr;
@@ -263,9 +261,6 @@ size_t WebSocket_Server::write(const uint8_t *buffer, size_t size)
_TXbuffer[_TXbufferSize] = buffer[i];
_TXbufferSize++;
}
- //if(!_isdebug) {
- // log_esp3d("[SOCKET]buffer size %d",_TXbufferSize);
- //}
return size;
}
return 0;
@@ -352,9 +347,7 @@ void WebSocket_Server::flushTXbuffer(void)
{
if (_started) {
if ((_TXbufferSize > 0) && (_websocket_server->connectedClients() > 0 )) {
- //if(!_isdebug) {
- // log_esp3d("[SOCKET]flush data, buffer size %d",_TXbufferSize);
- //}
+
if (_websocket_server) {
_websocket_server->broadcastBIN(_TXbuffer,_TXbufferSize);
log_esp3d("WS Broadcast bin port %d: %d bytes", port(), _TXbufferSize);
diff --git a/esp3d/src/modules/websocket/websocket_server.h b/esp3d/src/modules/websocket/websocket_server.h
index 2604df68..ddfd1660 100644
--- a/esp3d/src/modules/websocket/websocket_server.h
+++ b/esp3d/src/modules/websocket/websocket_server.h
@@ -30,7 +30,7 @@ class WebSocketsServer;
class WebSocket_Server: public Print
{
public:
- WebSocket_Server();
+ WebSocket_Server(const char* protocol="arduino");
~WebSocket_Server();
size_t write(uint8_t c);
size_t write(const uint8_t *buffer, size_t size);
@@ -55,7 +55,7 @@ public:
{
return write((uint8_t) n);
}
- bool begin(uint16_t port=0, bool debug=false);
+ bool begin(uint16_t port=0);
uint16_t port()
{
return _port;
@@ -77,14 +77,21 @@ public:
return _started;
}
void push2RXbuffer(uint8_t * sbuf, size_t len);
+ const char * getProtocol()
+ {
+ return _protocol.c_str();
+ }
+ uint16_t getPort()
+ {
+ return _port;
+ }
private:
bool _started;
uint16_t _port;
- bool _isdebug;
- bool _isdata;
uint32_t _lastTXflush;
uint32_t _lastRXflush;
WebSocketsServer * _websocket_server;
+ String _protocol;
uint8_t _TXbuffer[TXBUFFERSIZE];
uint16_t _TXbufferSize;
uint8_t _current_id;
diff --git a/libraries/arduinoWebSockets-2.3.6/src/WebSockets.cpp b/libraries/arduinoWebSockets-2.3.6/src/WebSockets.cpp
index fc94d3f0..132e0576 100644
--- a/libraries/arduinoWebSockets-2.3.6/src/WebSockets.cpp
+++ b/libraries/arduinoWebSockets-2.3.6/src/WebSockets.cpp
@@ -42,7 +42,7 @@ extern "C" {
#include
#if ESP_IDF_VERSION_MAJOR >= 4
-#include
+#include
#else
#include
#endif
@@ -62,7 +62,8 @@ extern "C" {
* @param reason ptr to the disconnect reason message
* @param reasonLen length of the disconnect reason message
*/
-void WebSockets::clientDisconnect(WSclient_t * client, uint16_t code, char * reason, size_t reasonLen) {
+void WebSockets::clientDisconnect(WSclient_t * client, uint16_t code, char * reason, size_t reasonLen)
+{
DEBUG_WEBSOCKETS("[WS][%d][handleWebsocket] clientDisconnect code: %u\n", client->num, code);
if(client->status == WSC_CONNECTED && code) {
if(reason) {
@@ -86,7 +87,8 @@ void WebSockets::clientDisconnect(WSclient_t * client, uint16_t code, char * rea
* @param maskkey uint8_t[4] key used for payload
* @param fin bool can be used to send data in more then one frame (set fin on the last frame)
*/
-uint8_t WebSockets::createHeader(uint8_t * headerPtr, WSopcode_t opcode, size_t length, bool mask, uint8_t maskKey[4], bool fin) {
+uint8_t WebSockets::createHeader(uint8_t * headerPtr, WSopcode_t opcode, size_t length, bool mask, uint8_t maskKey[4], bool fin)
+{
uint8_t headerSize;
// calculate header Size
if(length < 126) {
@@ -170,7 +172,8 @@ uint8_t WebSockets::createHeader(uint8_t * headerPtr, WSopcode_t opcode, size_t
* @param fin bool can be used to send data in more then one frame (set fin on the last frame)
* @return true if ok
*/
-bool WebSockets::sendFrameHeader(WSclient_t * client, WSopcode_t opcode, size_t length, bool fin) {
+bool WebSockets::sendFrameHeader(WSclient_t * client, WSopcode_t opcode, size_t length, bool fin)
+{
uint8_t maskKey[4] = { 0x00, 0x00, 0x00, 0x00 };
uint8_t buffer[WEBSOCKETS_MAX_HEADER_SIZE] = { 0 };
@@ -193,7 +196,8 @@ bool WebSockets::sendFrameHeader(WSclient_t * client, WSopcode_t opcode, size_t
* @param headerToPayload bool set true if the payload has reserved 14 Byte at the beginning to dynamically add the Header (payload neet to be in RAM!)
* @return true if ok
*/
-bool WebSockets::sendFrame(WSclient_t * client, WSopcode_t opcode, uint8_t * payload, size_t length, bool fin, bool headerToPayload) {
+bool WebSockets::sendFrame(WSclient_t * client, WSopcode_t opcode, uint8_t * payload, size_t length, bool fin, bool headerToPayload)
+{
if(client->tcp && !client->tcp->connected()) {
DEBUG_WEBSOCKETS("[WS][%d][sendFrame] not Connected!?\n", client->num);
return false;
@@ -320,7 +324,8 @@ bool WebSockets::sendFrame(WSclient_t * client, WSopcode_t opcode, uint8_t * pay
* callen when HTTP header is done
* @param client WSclient_t * ptr to the client struct
*/
-void WebSockets::headerDone(WSclient_t * client) {
+void WebSockets::headerDone(WSclient_t * client)
+{
client->status = WSC_CONNECTED;
client->cWsRXsize = 0;
DEBUG_WEBSOCKETS("[WS][%d][headerDone] Header Handling Done.\n", client->num);
@@ -334,7 +339,8 @@ void WebSockets::headerDone(WSclient_t * client) {
* handle the WebSocket stream
* @param client WSclient_t * ptr to the client struct
*/
-void WebSockets::handleWebsocket(WSclient_t * client) {
+void WebSockets::handleWebsocket(WSclient_t * client)
+{
if(client->cWsRXsize == 0) {
handleWebsocketCb(client);
}
@@ -345,7 +351,8 @@ void WebSockets::handleWebsocket(WSclient_t * client) {
* @param client
* @param size
*/
-bool WebSockets::handleWebsocketWaitFor(WSclient_t * client, size_t size) {
+bool WebSockets::handleWebsocketWaitFor(WSclient_t * client, size_t size)
+{
if(!client->tcp || !client->tcp->connected()) {
return false;
}
@@ -372,11 +379,12 @@ bool WebSockets::handleWebsocketWaitFor(WSclient_t * client, size_t size) {
server->clientDisconnect(client, 1002);
}
},
- this, size, std::placeholders::_1, std::placeholders::_2));
+ this, size, std::placeholders::_1, std::placeholders::_2));
return false;
}
-void WebSockets::handleWebsocketCb(WSclient_t * client) {
+void WebSockets::handleWebsocketCb(WSclient_t * client)
+{
if(!client->tcp || !client->tcp->connected()) {
return;
}
@@ -461,7 +469,8 @@ void WebSockets::handleWebsocketCb(WSclient_t * client) {
}
}
-void WebSockets::handleWebsocketPayloadCb(WSclient_t * client, bool ok, uint8_t * payload) {
+void WebSockets::handleWebsocketPayloadCb(WSclient_t * client, bool ok, uint8_t * payload)
+{
WSMessageHeader_t * header = &client->cWsHeaderDecode;
if(ok) {
if(header->payloadLen > 0) {
@@ -476,43 +485,44 @@ void WebSockets::handleWebsocketPayloadCb(WSclient_t * client, bool ok, uint8_t
}
switch(header->opCode) {
- case WSop_text:
- DEBUG_WEBSOCKETS("[WS][%d][handleWebsocket] text: %s\n", client->num, payload);
- // no break here!
- case WSop_binary:
- case WSop_continuation:
- messageReceived(client, header->opCode, payload, header->payloadLen, header->fin);
- break;
- case WSop_ping:
- // send pong back
- DEBUG_WEBSOCKETS("[WS][%d][handleWebsocket] ping received (%s)\n", client->num, payload ? (const char *)payload : "");
- sendFrame(client, WSop_pong, payload, header->payloadLen);
- messageReceived(client, header->opCode, payload, header->payloadLen, header->fin);
- break;
- case WSop_pong:
- DEBUG_WEBSOCKETS("[WS][%d][handleWebsocket] get pong (%s)\n", client->num, payload ? (const char *)payload : "");
- client->pongReceived = true;
- messageReceived(client, header->opCode, payload, header->payloadLen, header->fin);
- break;
- case WSop_close: {
+ case WSop_text:
+ DEBUG_WEBSOCKETS("[WS][%d][handleWebsocket] text: %s\n", client->num, payload);
+ // no break here!
+ case WSop_binary:
+ case WSop_continuation:
+ messageReceived(client, header->opCode, payload, header->payloadLen, header->fin);
+ break;
+ case WSop_ping:
+ // send pong back
+ DEBUG_WEBSOCKETS("[WS][%d][handleWebsocket] ping received (%s)\n", client->num, payload ? (const char *)payload : "");
+ sendFrame(client, WSop_pong, payload, header->payloadLen);
+ messageReceived(client, header->opCode, payload, header->payloadLen, header->fin);
+ break;
+ case WSop_pong:
+ DEBUG_WEBSOCKETS("[WS][%d][handleWebsocket] get pong (%s)\n", client->num, payload ? (const char *)payload : "");
+ client->pongReceived = true;
+ messageReceived(client, header->opCode, payload, header->payloadLen, header->fin);
+ break;
+ case WSop_close: {
#ifndef NODEBUG_WEBSOCKETS
- uint16_t reasonCode = 1000;
- if(header->payloadLen >= 2) {
- reasonCode = payload[0] << 8 | payload[1];
- }
+ uint16_t reasonCode = 1000;
+ if(header->payloadLen >= 2) {
+ reasonCode = payload[0] << 8 | payload[1];
+ }
#endif
- DEBUG_WEBSOCKETS("[WS][%d][handleWebsocket] get ask for close. Code: %d\n", client->num, reasonCode);
- if(header->payloadLen > 2) {
- DEBUG_WEBSOCKETS(" (%s)\n", (payload + 2));
- } else {
- DEBUG_WEBSOCKETS("\n");
- }
- clientDisconnect(client, 1000);
- } break;
- default:
- DEBUG_WEBSOCKETS("[WS][%d][handleWebsocket] got unknown opcode: %d\n", client->num, header->opCode);
- clientDisconnect(client, 1002);
- break;
+ DEBUG_WEBSOCKETS("[WS][%d][handleWebsocket] get ask for close. Code: %d\n", client->num, reasonCode);
+ if(header->payloadLen > 2) {
+ DEBUG_WEBSOCKETS(" (%s)\n", (payload + 2));
+ } else {
+ DEBUG_WEBSOCKETS("\n");
+ }
+ clientDisconnect(client, 1000);
+ }
+ break;
+ default:
+ DEBUG_WEBSOCKETS("[WS][%d][handleWebsocket] got unknown opcode: %d\n", client->num, header->opCode);
+ clientDisconnect(client, 1002);
+ break;
}
if(payload) {
@@ -538,7 +548,8 @@ void WebSockets::handleWebsocketPayloadCb(WSclient_t * client, bool ok, uint8_t
* @param clientKey String
* @return String Accept Key
*/
-String WebSockets::acceptKey(String & clientKey) {
+String WebSockets::acceptKey(String & clientKey)
+{
uint8_t sha1HashBin[20] = { 0 };
#ifdef ESP8266
sha1(clientKey + "258EAFA5-E914-47DA-95CA-C5AB0DC85B11", &sha1HashBin[0]);
@@ -565,7 +576,8 @@ String WebSockets::acceptKey(String & clientKey) {
* @param length size_t
* @return base64 encoded String
*/
-String WebSockets::base64_encode(uint8_t * data, size_t length) {
+String WebSockets::base64_encode(uint8_t * data, size_t length)
+{
size_t size = ((length * 1.6f) + 1);
char * buffer = (char *)malloc(size);
if(buffer) {
@@ -588,7 +600,8 @@ String WebSockets::base64_encode(uint8_t * data, size_t length) {
* @param n size_t byte count
* @return true if ok
*/
-bool WebSockets::readCb(WSclient_t * client, uint8_t * out, size_t n, WSreadWaitCb cb) {
+bool WebSockets::readCb(WSclient_t * client, uint8_t * out, size_t n, WSreadWaitCb cb)
+{
#if(WEBSOCKETS_NETWORK_TYPE == NETWORK_ESP8266_ASYNC)
if(!client->tcp || !client->tcp->connected()) {
return false;
@@ -599,7 +612,7 @@ bool WebSockets::readCb(WSclient_t * client, uint8_t * out, size_t n, WSreadWait
cb(client, ok);
}
},
- client, std::placeholders::_1, cb));
+ client, std::placeholders::_1, cb));
#else
unsigned long t = millis();
@@ -663,11 +676,14 @@ bool WebSockets::readCb(WSclient_t * client, uint8_t * out, size_t n, WSreadWait
* @param n size_t byte count
* @return bytes send
*/
-size_t WebSockets::write(WSclient_t * client, uint8_t * out, size_t n) {
- if(out == NULL)
+size_t WebSockets::write(WSclient_t * client, uint8_t * out, size_t n)
+{
+ if(out == NULL) {
return 0;
- if(client == NULL)
+ }
+ if(client == NULL) {
return 0;
+ }
unsigned long t = millis();
size_t len = 0;
size_t total = 0;
@@ -706,11 +722,14 @@ size_t WebSockets::write(WSclient_t * client, uint8_t * out, size_t n) {
return total;
}
-size_t WebSockets::write(WSclient_t * client, const char * out) {
- if(client == NULL)
+size_t WebSockets::write(WSclient_t * client, const char * out)
+{
+ if(client == NULL) {
return 0;
- if(out == NULL)
+ }
+ if(out == NULL) {
return 0;
+ }
return write(client, (uint8_t *)out, strlen(out));
}
@@ -721,9 +740,11 @@ size_t WebSockets::write(WSclient_t * client, const char * out) {
* @param pongTimeout uint32_t millis after which pong should timout if not received
* @param disconnectTimeoutCount uint8_t how many timeouts before disconnect, 0=> do not disconnect
*/
-void WebSockets::enableHeartbeat(WSclient_t * client, uint32_t pingInterval, uint32_t pongTimeout, uint8_t disconnectTimeoutCount) {
- if(client == NULL)
+void WebSockets::enableHeartbeat(WSclient_t * client, uint32_t pingInterval, uint32_t pongTimeout, uint8_t disconnectTimeoutCount)
+{
+ if(client == NULL) {
return;
+ }
client->pingInterval = pingInterval;
client->pongTimeout = pongTimeout;
client->disconnectTimeoutCount = disconnectTimeoutCount;
@@ -734,7 +755,8 @@ void WebSockets::enableHeartbeat(WSclient_t * client, uint32_t pingInterval, uin
* handle ping/pong heartbeat timeout process
* @param client WSclient_t *
*/
-void WebSockets::handleHBTimeout(WSclient_t * client) {
+void WebSockets::handleHBTimeout(WSclient_t * client)
+{
if(client->pingInterval) { // if heartbeat is enabled
uint32_t pi = millis() - client->lastPing;
diff --git a/platformio.ini b/platformio.ini
index 8cad919e..42800159 100644
--- a/platformio.ini
+++ b/platformio.ini
@@ -17,7 +17,7 @@ data_dir = esp3d/data
default_envs = esp32dev
[env:esp32dev]
-platform = espressif32@5.0.0
+platform = espressif32@5.1.0
board = esp32dev
framework = arduino
monitor_speed = 115200
@@ -38,7 +38,7 @@ upload_speed = 460800
extra_scripts = pre:platformIO/extra_script.py
[env:esp32cam]
-platform = espressif32@4.4.0
+platform = espressif32@5.1.0
board = esp32dev
framework = arduino
monitor_speed = 115200
@@ -62,7 +62,7 @@ extra_scripts = pre:platformIO/extra_script.py
;TTGO_T_Display with ST7789
[env:esp32-TTGO_T_Display]
-platform = espressif32@4.4.0
+platform = espressif32@5.1.0
board = esp32dev
framework = arduino
monitor_speed = 115200
@@ -109,7 +109,7 @@ extra_scripts = pre:platformIO/extra_script.py
;TTGO_T_Display with ST7789
[env:esp32-ST7789]
-platform = espressif32@4.4.0
+platform = espressif32@5.1.0
board = esp32dev
framework = arduino
monitor_speed = 115200
@@ -155,7 +155,7 @@ upload_speed = 460800
extra_scripts = pre:platformIO/extra_script.py
[env:esp32-s2]
-platform = espressif32@4.4.0
+platform = espressif32@5.1.0
board = esp32-s2-saola-1
framework = arduino
monitor_speed = 115200
@@ -179,7 +179,7 @@ lib_ignore =
;https://github.com/Bodmer/TFT_eSPI/issues/1246
[env:esp32-s3]
-platform = espressif32@4.4.0
+platform = espressif32@5.1.0
board = esp32-s3-devkitc-1
framework = arduino
monitor_speed = 115200
@@ -200,7 +200,7 @@ board_build.partitions = min_spiffs.csv
upload_speed = 460800
[env:esp32-c3]
-platform = espressif32@4.4.0
+platform = espressif32@5.1.0
board = esp32-c3-devkitm-1
board_build.mcu = esp32c3
board_build.variant = esp32c3