forked from EXTERNAL/bareiron
automate registry data extraction
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -1,3 +1,5 @@
|
||||
.vscode
|
||||
notchian
|
||||
bareiron
|
||||
src/registries.c
|
||||
src/registries.h
|
||||
|
227
build_registries.js
Normal file
227
build_registries.js
Normal file
@@ -0,0 +1,227 @@
|
||||
const fs = require("fs/promises");
|
||||
const path = require("path");
|
||||
|
||||
// Extract item and block data from registry dump
|
||||
async function extractItemsAndBlocks () {
|
||||
|
||||
// Block network IDs are defined in their own JSON file
|
||||
const blockSource = JSON.parse(await fs.readFile(`${__dirname}/notchian/generated/reports/blocks.json`, "utf8"));
|
||||
// Items don't seem to have network IDs outside of registries.json
|
||||
const itemSource = JSON.parse(await fs.readFile(`${__dirname}/notchian/generated/reports/registries.json`, "utf8"))["minecraft:item"].entries;
|
||||
|
||||
// Sort blocks by their network ID
|
||||
// Since we're only storing 256 blocks, this prioritizes the "common" ones first
|
||||
const sortedBlocks = Object.entries(blockSource);
|
||||
sortedBlocks.sort((a, b) => {
|
||||
const aState = a[1].states.find(c => c.default);
|
||||
if (!aState) return 1;
|
||||
const bState = b[1].states.find(c => c.default);
|
||||
if (!bState) return -1;
|
||||
return aState.id - bState.id;
|
||||
});
|
||||
|
||||
// Create name-id pair objects for easier parsing
|
||||
const blocks = {}, items = {};
|
||||
|
||||
for (const entry of sortedBlocks) {
|
||||
const defaultState = entry[1].states.find(c => c.default);
|
||||
if (!defaultState) continue;
|
||||
blocks[entry[0].replace("minecraft:", "")] = defaultState.id;
|
||||
}
|
||||
|
||||
for (const item in itemSource) {
|
||||
items[item.replace("minecraft:", "")] = itemSource[item].protocol_id;
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a block network ID palette.
|
||||
* The goal is to pack as many meaningful blocks into 256 IDs as
|
||||
* possible. For this, we only include blocks that have corresponding
|
||||
* items, outside of some exceptions.
|
||||
*/
|
||||
const palette = {};
|
||||
const exceptions = [ "air", "water", "lava" ];
|
||||
|
||||
// While we're at it, map block IDs to item IDs
|
||||
const mapping = [];
|
||||
|
||||
for (const block in blocks) {
|
||||
if (!(block in items) && !exceptions.includes(block)) continue;
|
||||
palette[block] = blocks[block];
|
||||
mapping.push(items[block] || 0);
|
||||
if (mapping.length === 256) break;
|
||||
}
|
||||
|
||||
return { blocks, items, palette, mapping };
|
||||
|
||||
}
|
||||
|
||||
// Write an integer as a VarInt
|
||||
function writeVarInt (value) {
|
||||
const bytes = [];
|
||||
while (true) {
|
||||
if ((value & ~0x7F) === 0) {
|
||||
bytes.push(value);
|
||||
return Buffer.from(bytes);
|
||||
}
|
||||
bytes.push((value & 0x7F) | 0x80);
|
||||
value >>>= 7;
|
||||
}
|
||||
}
|
||||
|
||||
// Scan directory recursively to find all JSON files
|
||||
async function scanDirectory (basePath, currentPath = "") {
|
||||
const entries = {};
|
||||
const items = await fs.readdir(path.join(basePath, currentPath), { withFileTypes: true });
|
||||
|
||||
for (const item of items) {
|
||||
const relativePath = path.join(currentPath, item.name);
|
||||
if (item.isDirectory()) {
|
||||
const subEntries = await scanDirectory(basePath, relativePath);
|
||||
Object.assign(entries, subEntries);
|
||||
} else if (item.name.endsWith(".json")) {
|
||||
const dirPath = path.dirname(relativePath);
|
||||
const registryName = dirPath === "." ? "" : dirPath;
|
||||
const entryName = path.basename(item.name, ".json");
|
||||
|
||||
if (!entries[registryName]) {
|
||||
entries[registryName] = [];
|
||||
}
|
||||
entries[registryName].push(entryName);
|
||||
}
|
||||
}
|
||||
|
||||
return entries;
|
||||
}
|
||||
|
||||
// Serialize a single registry
|
||||
function serializeRegistry (name, entries) {
|
||||
const parts = [];
|
||||
|
||||
// Packet ID for Registry Data
|
||||
parts.push(Buffer.from([0x07]));
|
||||
|
||||
// Registry name
|
||||
const nameBuf = Buffer.from(name, "utf8");
|
||||
parts.push(writeVarInt(nameBuf.length));
|
||||
parts.push(nameBuf);
|
||||
|
||||
// Entry count
|
||||
parts.push(writeVarInt(entries.length));
|
||||
|
||||
// Serialize entries
|
||||
for (const entryName of entries) {
|
||||
const entryBuf = Buffer.from(entryName, "utf8");
|
||||
parts.push(writeVarInt(entryBuf.length));
|
||||
parts.push(entryBuf);
|
||||
parts.push(Buffer.from([0x00]));
|
||||
}
|
||||
|
||||
// Combine all parts
|
||||
const fullData = Buffer.concat(parts);
|
||||
|
||||
// Prepend packet length
|
||||
const lengthBuf = writeVarInt(fullData.length);
|
||||
|
||||
return Buffer.concat([lengthBuf, fullData]);
|
||||
}
|
||||
|
||||
// Convert to C-style hex byte array string
|
||||
function toCArray (buffer) {
|
||||
const hexBytes = [...buffer].map(b => `0x${b.toString(16).padStart(2, "0")}`);
|
||||
const lines = [];
|
||||
for (let i = 0; i < hexBytes.length; i += 12) {
|
||||
lines.push(" " + hexBytes.slice(i, i + 12).join(", "));
|
||||
}
|
||||
return lines.join(",\n");
|
||||
}
|
||||
|
||||
const requiredRegistries = [
|
||||
"dimension_type",
|
||||
"cat_variant",
|
||||
"chicken_variant",
|
||||
"cow_variant",
|
||||
"frog_variant",
|
||||
"painting_variant",
|
||||
"pig_variant",
|
||||
"wolf_sound_variant",
|
||||
"wolf_variant",
|
||||
"damage_type",
|
||||
"worldgen/biome"
|
||||
];
|
||||
|
||||
async function convert () {
|
||||
|
||||
const inputPath = __dirname + "/notchian/generated/data/minecraft";
|
||||
const outputPath = __dirname + "/src/registries.c";
|
||||
const headerPath = __dirname + "/src/registries.h";
|
||||
|
||||
const registries = await scanDirectory(inputPath);
|
||||
const buffers = [];
|
||||
|
||||
for (const registry of requiredRegistries) {
|
||||
if (!(registry in registries)) {
|
||||
console.error(`Missing required registry "${registry}"!`);
|
||||
return;
|
||||
}
|
||||
buffers.push(serializeRegistry(registry, registries[registry]));
|
||||
}
|
||||
|
||||
const itemsAndBlocks = await extractItemsAndBlocks();
|
||||
|
||||
const output = Buffer.concat(buffers);
|
||||
const cArray = toCArray(output);
|
||||
const sourceCode = `\
|
||||
#include <stdint.h>
|
||||
#include "registries.h"
|
||||
|
||||
// Binary contents of required "Registry Data" packets
|
||||
uint8_t registries_bin[] = {
|
||||
${cArray}
|
||||
};
|
||||
|
||||
// Block palette
|
||||
uint16_t block_palette[] = { ${Object.values(itemsAndBlocks.palette).join(", ")} };
|
||||
// Block-to-item mapping
|
||||
uint16_t B_to_I[] = { ${itemsAndBlocks.mapping.join(", ")} };
|
||||
// Item-to-block mapping
|
||||
uint8_t I_to_B (uint16_t item) {
|
||||
switch (item) {
|
||||
${itemsAndBlocks.mapping.map((c, i) => c ? `case ${c}: return ${i};\n ` : "").join("")}
|
||||
default: break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
`;
|
||||
|
||||
const headerCode = `\
|
||||
#ifndef H_REGISTRIES
|
||||
#define H_REGISTRIES
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
extern uint8_t registries_bin[${output.length}];
|
||||
|
||||
extern uint16_t block_palette[256]; // Block palette
|
||||
extern uint16_t B_to_I[256]; // Block-to-item mapping
|
||||
uint8_t I_to_B (uint16_t item); // Item-to-block mapping
|
||||
|
||||
// Block identifiers
|
||||
${Object.keys(itemsAndBlocks.palette).map((c, i) => `#define B_${c} ${i}`).join("\n")}
|
||||
|
||||
// Item identifiers
|
||||
${Object.entries(itemsAndBlocks.items).map(c => `#define I_${c[0]} ${c[1]}`).join("\n")}
|
||||
|
||||
// Biome identifiers
|
||||
${registries["worldgen/biome"].map((c, i) => `#define W_${c} ${i}`).join("\n")}
|
||||
|
||||
#endif
|
||||
`;
|
||||
|
||||
await fs.writeFile(outputPath, sourceCode);
|
||||
await fs.writeFile(headerPath, headerCode);
|
||||
console.log("Done. Wrote to `registries.c` and `registries.h`");
|
||||
|
||||
}
|
||||
|
||||
convert().catch(console.error);
|
@@ -1,101 +0,0 @@
|
||||
const fs = require("fs");
|
||||
const path = require("path");
|
||||
|
||||
// Write an integer as a varint
|
||||
function writeVarInt(value) {
|
||||
const bytes = [];
|
||||
while (true) {
|
||||
if ((value & ~0x7F) === 0) {
|
||||
bytes.push(value);
|
||||
return Buffer.from(bytes);
|
||||
}
|
||||
bytes.push((value & 0x7F) | 0x80);
|
||||
value >>>= 7;
|
||||
}
|
||||
}
|
||||
|
||||
// Serialize a single registry
|
||||
function serializeRegistry(name, entries) {
|
||||
const parts = [];
|
||||
|
||||
// Write 0x07
|
||||
parts.push(Buffer.from([0x07]));
|
||||
|
||||
// Registry name
|
||||
const nameBuf = Buffer.from(name.replace("minecraft:", ""), "utf8");
|
||||
parts.push(writeVarInt(nameBuf.length));
|
||||
parts.push(nameBuf);
|
||||
|
||||
// Entry count
|
||||
const entryKeys = Object.keys(entries);
|
||||
parts.push(writeVarInt(entryKeys.length));
|
||||
|
||||
// Serialize entries
|
||||
for (const entryName of entryKeys) {
|
||||
const entryBuf = Buffer.from(entryName.replace("minecraft:", ""), "utf8");
|
||||
parts.push(writeVarInt(entryBuf.length));
|
||||
parts.push(entryBuf);
|
||||
parts.push(Buffer.from([0x00]));
|
||||
}
|
||||
|
||||
// Combine all parts
|
||||
const fullData = Buffer.concat(parts);
|
||||
|
||||
// Prepend the length of this registry block as a varint
|
||||
const lengthBuf = writeVarInt(fullData.length);
|
||||
|
||||
return Buffer.concat([lengthBuf, fullData]);
|
||||
}
|
||||
|
||||
// Convert to C-style hex byte array string
|
||||
function toCArray(buffer) {
|
||||
const hexBytes = [...buffer].map(b => `0x${b.toString(16).padStart(2, "0")}`);
|
||||
const lines = [];
|
||||
for (let i = 0; i < hexBytes.length; i += 12) {
|
||||
lines.push(" " + hexBytes.slice(i, i + 12).join(", "));
|
||||
}
|
||||
return lines.join(",\n");
|
||||
}
|
||||
|
||||
// Main function
|
||||
function convert() {
|
||||
const inputPath = path.join(__dirname, "registries.json");
|
||||
const outputPath = path.join(__dirname, "_registries.c");
|
||||
const headerPath = path.join(__dirname, "_registries.h");
|
||||
|
||||
const json = JSON.parse(fs.readFileSync(inputPath, "utf8"));
|
||||
|
||||
const buffers = [];
|
||||
|
||||
for (const [registryName, entries] of Object.entries(json)) {
|
||||
buffers.push(serializeRegistry(registryName, entries));
|
||||
}
|
||||
|
||||
const output = Buffer.concat(buffers);
|
||||
const cArray = toCArray(output);
|
||||
const finalCode = `\
|
||||
#include <stdint.h>
|
||||
#include "registries.h"
|
||||
|
||||
uint8_t registries_bin[] = {
|
||||
${cArray}
|
||||
};
|
||||
`;
|
||||
|
||||
const headerCode = `\
|
||||
#ifndef H_REGISTRIES
|
||||
#define H_REGISTRIES
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
extern uint8_t registries_bin[${output.length}];
|
||||
|
||||
#endif
|
||||
`;
|
||||
|
||||
fs.writeFileSync(outputPath, finalCode);
|
||||
fs.writeFileSync(headerPath, headerCode);
|
||||
console.log("Done. Wrote to `_registries.c` and `_registries.h`");
|
||||
}
|
||||
|
||||
convert();
|
@@ -286,7 +286,7 @@ int sc_chunkDataAndUpdateLight (int client_fd, int _x, int _z) {
|
||||
}
|
||||
// biome data
|
||||
writeByte(client_fd, 0); // bits per entry
|
||||
writeByte(client_fd, 21); // palette (forest)
|
||||
writeByte(client_fd, W_forest); // palette
|
||||
}
|
||||
|
||||
writeVarInt(client_fd, 0); // omit block entities
|
||||
@@ -572,26 +572,6 @@ int sc_registries (int client_fd) {
|
||||
printf("Sending Registries\n\n");
|
||||
send(client_fd, registries_bin, sizeof(registries_bin), 0);
|
||||
|
||||
char wolf_sound_variant[] = { 0x07, 0x1c, 0x6d, 0x69, 0x6e, 0x65, 0x63, 0x72, 0x61, 0x66, 0x74, 0x3a, 0x77, 0x6f, 0x6c, 0x66, 0x5f, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x07, 0x0f, 0x6d, 0x69, 0x6e, 0x65, 0x63, 0x72, 0x61, 0x66, 0x74, 0x3a, 0x61, 0x6e, 0x67, 0x72, 0x79, 0x00, 0x0d, 0x6d, 0x69, 0x6e, 0x65, 0x63, 0x72, 0x61, 0x66, 0x74, 0x3a, 0x62, 0x69, 0x67, 0x00, 0x11, 0x6d, 0x69, 0x6e, 0x65, 0x63, 0x72, 0x61, 0x66, 0x74, 0x3a, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x63, 0x00, 0x0e, 0x6d, 0x69, 0x6e, 0x65, 0x63, 0x72, 0x61, 0x66, 0x74, 0x3a, 0x63, 0x75, 0x74, 0x65, 0x00, 0x10, 0x6d, 0x69, 0x6e, 0x65, 0x63, 0x72, 0x61, 0x66, 0x74, 0x3a, 0x67, 0x72, 0x75, 0x6d, 0x70, 0x79, 0x00, 0x10, 0x6d, 0x69, 0x6e, 0x65, 0x63, 0x72, 0x61, 0x66, 0x74, 0x3a, 0x70, 0x75, 0x67, 0x6c, 0x69, 0x6e, 0x00, 0x0d, 0x6d, 0x69, 0x6e, 0x65, 0x63, 0x72, 0x61, 0x66, 0x74, 0x3a, 0x73, 0x61, 0x64, 0x00 };
|
||||
char pig_variant[] = { 0x07, 0x15, 0x6d, 0x69, 0x6e, 0x65, 0x63, 0x72, 0x61, 0x66, 0x74, 0x3a, 0x70, 0x69, 0x67, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x03, 0x0e, 0x6d, 0x69, 0x6e, 0x65, 0x63, 0x72, 0x61, 0x66, 0x74, 0x3a, 0x63, 0x6f, 0x6c, 0x64, 0x00, 0x13, 0x6d, 0x69, 0x6e, 0x65, 0x63, 0x72, 0x61, 0x66, 0x74, 0x3a, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x65, 0x00, 0x0e, 0x6d, 0x69, 0x6e, 0x65, 0x63, 0x72, 0x61, 0x66, 0x74, 0x3a, 0x77, 0x61, 0x72, 0x6d, 0x00 };
|
||||
char frog_variant[] = { 0x07, 0x16, 0x6d, 0x69, 0x6e, 0x65, 0x63, 0x72, 0x61, 0x66, 0x74, 0x3a, 0x66, 0x72, 0x6f, 0x67, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x03, 0x0e, 0x6d, 0x69, 0x6e, 0x65, 0x63, 0x72, 0x61, 0x66, 0x74, 0x3a, 0x63, 0x6f, 0x6c, 0x64, 0x00, 0x13, 0x6d, 0x69, 0x6e, 0x65, 0x63, 0x72, 0x61, 0x66, 0x74, 0x3a, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x65, 0x00, 0x0e, 0x6d, 0x69, 0x6e, 0x65, 0x63, 0x72, 0x61, 0x66, 0x74, 0x3a, 0x77, 0x61, 0x72, 0x6d, 0x00 };
|
||||
char cat_variant[] = { 0x07, 0x15, 0x6d, 0x69, 0x6e, 0x65, 0x63, 0x72, 0x61, 0x66, 0x74, 0x3a, 0x63, 0x61, 0x74, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x0b, 0x13, 0x6d, 0x69, 0x6e, 0x65, 0x63, 0x72, 0x61, 0x66, 0x74, 0x3a, 0x61, 0x6c, 0x6c, 0x5f, 0x62, 0x6c, 0x61, 0x63, 0x6b, 0x00, 0x0f, 0x6d, 0x69, 0x6e, 0x65, 0x63, 0x72, 0x61, 0x66, 0x74, 0x3a, 0x62, 0x6c, 0x61, 0x63, 0x6b, 0x00, 0x1b, 0x6d, 0x69, 0x6e, 0x65, 0x63, 0x72, 0x61, 0x66, 0x74, 0x3a, 0x62, 0x72, 0x69, 0x74, 0x69, 0x73, 0x68, 0x5f, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x68, 0x61, 0x69, 0x72, 0x00, 0x10, 0x6d, 0x69, 0x6e, 0x65, 0x63, 0x72, 0x61, 0x66, 0x74, 0x3a, 0x63, 0x61, 0x6c, 0x69, 0x63, 0x6f, 0x00, 0x10, 0x6d, 0x69, 0x6e, 0x65, 0x63, 0x72, 0x61, 0x66, 0x74, 0x3a, 0x6a, 0x65, 0x6c, 0x6c, 0x69, 0x65, 0x00, 0x11, 0x6d, 0x69, 0x6e, 0x65, 0x63, 0x72, 0x61, 0x66, 0x74, 0x3a, 0x70, 0x65, 0x72, 0x73, 0x69, 0x61, 0x6e, 0x00, 0x11, 0x6d, 0x69, 0x6e, 0x65, 0x63, 0x72, 0x61, 0x66, 0x74, 0x3a, 0x72, 0x61, 0x67, 0x64, 0x6f, 0x6c, 0x6c, 0x00, 0x0d, 0x6d, 0x69, 0x6e, 0x65, 0x63, 0x72, 0x61, 0x66, 0x74, 0x3a, 0x72, 0x65, 0x64, 0x00, 0x11, 0x6d, 0x69, 0x6e, 0x65, 0x63, 0x72, 0x61, 0x66, 0x74, 0x3a, 0x73, 0x69, 0x61, 0x6d, 0x65, 0x73, 0x65, 0x00, 0x0f, 0x6d, 0x69, 0x6e, 0x65, 0x63, 0x72, 0x61, 0x66, 0x74, 0x3a, 0x74, 0x61, 0x62, 0x62, 0x79, 0x00, 0x0f, 0x6d, 0x69, 0x6e, 0x65, 0x63, 0x72, 0x61, 0x66, 0x74, 0x3a, 0x77, 0x68, 0x69, 0x74, 0x65, 0x00 };
|
||||
char cow_variant[] = { 0x07, 0x15, 0x6d, 0x69, 0x6e, 0x65, 0x63, 0x72, 0x61, 0x66, 0x74, 0x3a, 0x63, 0x6f, 0x77, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x03, 0x0e, 0x6d, 0x69, 0x6e, 0x65, 0x63, 0x72, 0x61, 0x66, 0x74, 0x3a, 0x63, 0x6f, 0x6c, 0x64, 0x00, 0x13, 0x6d, 0x69, 0x6e, 0x65, 0x63, 0x72, 0x61, 0x66, 0x74, 0x3a, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x65, 0x00, 0x0e, 0x6d, 0x69, 0x6e, 0x65, 0x63, 0x72, 0x61, 0x66, 0x74, 0x3a, 0x77, 0x61, 0x72, 0x6d, 0x00 };
|
||||
char chicken_variant[] = { 0x07, 0x19, 0x6d, 0x69, 0x6e, 0x65, 0x63, 0x72, 0x61, 0x66, 0x74, 0x3a, 0x63, 0x68, 0x69, 0x63, 0x6b, 0x65, 0x6e, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x03, 0x0e, 0x6d, 0x69, 0x6e, 0x65, 0x63, 0x72, 0x61, 0x66, 0x74, 0x3a, 0x63, 0x6f, 0x6c, 0x64, 0x00, 0x13, 0x6d, 0x69, 0x6e, 0x65, 0x63, 0x72, 0x61, 0x66, 0x74, 0x3a, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x65, 0x00, 0x0e, 0x6d, 0x69, 0x6e, 0x65, 0x63, 0x72, 0x61, 0x66, 0x74, 0x3a, 0x77, 0x61, 0x72, 0x6d, 0x00 };
|
||||
|
||||
writeVarInt(client_fd, sizeof(wolf_sound_variant));
|
||||
send(client_fd, &wolf_sound_variant, sizeof(wolf_sound_variant), 0);
|
||||
writeVarInt(client_fd, sizeof(pig_variant));
|
||||
send(client_fd, &pig_variant, sizeof(pig_variant), 0);
|
||||
writeVarInt(client_fd, sizeof(frog_variant));
|
||||
send(client_fd, &frog_variant, sizeof(frog_variant), 0);
|
||||
writeVarInt(client_fd, sizeof(cat_variant));
|
||||
send(client_fd, &cat_variant, sizeof(cat_variant), 0);
|
||||
writeVarInt(client_fd, sizeof(cow_variant));
|
||||
send(client_fd, &cow_variant, sizeof(cow_variant), 0);
|
||||
writeVarInt(client_fd, sizeof(chicken_variant));
|
||||
send(client_fd, &chicken_variant, sizeof(chicken_variant), 0);
|
||||
|
||||
// update water tag
|
||||
writeVarInt(client_fd, 3 + 5 + 2 + 5 + 1 + 1);
|
||||
writeByte(client_fd, 0x0D);
|
||||
|
529
src/registries.c
529
src/registries.c
@@ -1,529 +0,0 @@
|
||||
#include <stdint.h>
|
||||
#include "registries.h"
|
||||
|
||||
// Binary contents of required "Registry Data" packets
|
||||
|
||||
uint8_t registries_bin[] = {
|
||||
0xd4, 0x04, 0x07, 0x0e, 0x62, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x5f, 0x70,
|
||||
0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x2b, 0x04, 0x62, 0x61, 0x73, 0x65,
|
||||
0x00, 0x06, 0x62, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x00, 0x06, 0x62, 0x72,
|
||||
0x69, 0x63, 0x6b, 0x73, 0x00, 0x06, 0x63, 0x69, 0x72, 0x63, 0x6c, 0x65,
|
||||
0x00, 0x07, 0x63, 0x72, 0x65, 0x65, 0x70, 0x65, 0x72, 0x00, 0x05, 0x63,
|
||||
0x72, 0x6f, 0x73, 0x73, 0x00, 0x0c, 0x63, 0x75, 0x72, 0x6c, 0x79, 0x5f,
|
||||
0x62, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x00, 0x0d, 0x64, 0x69, 0x61, 0x67,
|
||||
0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6c, 0x65, 0x66, 0x74, 0x00, 0x0e, 0x64,
|
||||
0x69, 0x61, 0x67, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x72, 0x69, 0x67, 0x68,
|
||||
0x74, 0x00, 0x10, 0x64, 0x69, 0x61, 0x67, 0x6f, 0x6e, 0x61, 0x6c, 0x5f,
|
||||
0x75, 0x70, 0x5f, 0x6c, 0x65, 0x66, 0x74, 0x00, 0x11, 0x64, 0x69, 0x61,
|
||||
0x67, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x75, 0x70, 0x5f, 0x72, 0x69, 0x67,
|
||||
0x68, 0x74, 0x00, 0x04, 0x66, 0x6c, 0x6f, 0x77, 0x00, 0x06, 0x66, 0x6c,
|
||||
0x6f, 0x77, 0x65, 0x72, 0x00, 0x05, 0x67, 0x6c, 0x6f, 0x62, 0x65, 0x00,
|
||||
0x08, 0x67, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x00, 0x0b, 0x67,
|
||||
0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x75, 0x70, 0x00, 0x06,
|
||||
0x67, 0x75, 0x73, 0x74, 0x65, 0x72, 0x00, 0x0f, 0x68, 0x61, 0x6c, 0x66,
|
||||
0x5f, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x6f, 0x6e, 0x74, 0x61, 0x6c, 0x00,
|
||||
0x16, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x6f,
|
||||
0x6e, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x6f, 0x74, 0x74, 0x6f, 0x6d, 0x00,
|
||||
0x0d, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x76, 0x65, 0x72, 0x74, 0x69, 0x63,
|
||||
0x61, 0x6c, 0x00, 0x13, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x76, 0x65, 0x72,
|
||||
0x74, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x00,
|
||||
0x06, 0x6d, 0x6f, 0x6a, 0x61, 0x6e, 0x67, 0x00, 0x06, 0x70, 0x69, 0x67,
|
||||
0x6c, 0x69, 0x6e, 0x00, 0x07, 0x72, 0x68, 0x6f, 0x6d, 0x62, 0x75, 0x73,
|
||||
0x00, 0x05, 0x73, 0x6b, 0x75, 0x6c, 0x6c, 0x00, 0x0d, 0x73, 0x6d, 0x61,
|
||||
0x6c, 0x6c, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x70, 0x65, 0x73, 0x00, 0x12,
|
||||
0x73, 0x71, 0x75, 0x61, 0x72, 0x65, 0x5f, 0x62, 0x6f, 0x74, 0x74, 0x6f,
|
||||
0x6d, 0x5f, 0x6c, 0x65, 0x66, 0x74, 0x00, 0x13, 0x73, 0x71, 0x75, 0x61,
|
||||
0x72, 0x65, 0x5f, 0x62, 0x6f, 0x74, 0x74, 0x6f, 0x6d, 0x5f, 0x72, 0x69,
|
||||
0x67, 0x68, 0x74, 0x00, 0x0f, 0x73, 0x71, 0x75, 0x61, 0x72, 0x65, 0x5f,
|
||||
0x74, 0x6f, 0x70, 0x5f, 0x6c, 0x65, 0x66, 0x74, 0x00, 0x10, 0x73, 0x71,
|
||||
0x75, 0x61, 0x72, 0x65, 0x5f, 0x74, 0x6f, 0x70, 0x5f, 0x72, 0x69, 0x67,
|
||||
0x68, 0x74, 0x00, 0x0e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x67, 0x68, 0x74,
|
||||
0x5f, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x00, 0x0d, 0x73, 0x74, 0x72, 0x69,
|
||||
0x70, 0x65, 0x5f, 0x62, 0x6f, 0x74, 0x74, 0x6f, 0x6d, 0x00, 0x0d, 0x73,
|
||||
0x74, 0x72, 0x69, 0x70, 0x65, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72,
|
||||
0x00, 0x0f, 0x73, 0x74, 0x72, 0x69, 0x70, 0x65, 0x5f, 0x64, 0x6f, 0x77,
|
||||
0x6e, 0x6c, 0x65, 0x66, 0x74, 0x00, 0x10, 0x73, 0x74, 0x72, 0x69, 0x70,
|
||||
0x65, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x72, 0x69, 0x67, 0x68, 0x74, 0x00,
|
||||
0x0b, 0x73, 0x74, 0x72, 0x69, 0x70, 0x65, 0x5f, 0x6c, 0x65, 0x66, 0x74,
|
||||
0x00, 0x0d, 0x73, 0x74, 0x72, 0x69, 0x70, 0x65, 0x5f, 0x6d, 0x69, 0x64,
|
||||
0x64, 0x6c, 0x65, 0x00, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x70, 0x65, 0x5f,
|
||||
0x72, 0x69, 0x67, 0x68, 0x74, 0x00, 0x0a, 0x73, 0x74, 0x72, 0x69, 0x70,
|
||||
0x65, 0x5f, 0x74, 0x6f, 0x70, 0x00, 0x0f, 0x74, 0x72, 0x69, 0x61, 0x6e,
|
||||
0x67, 0x6c, 0x65, 0x5f, 0x62, 0x6f, 0x74, 0x74, 0x6f, 0x6d, 0x00, 0x0c,
|
||||
0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x74, 0x6f, 0x70,
|
||||
0x00, 0x10, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x73, 0x5f,
|
||||
0x62, 0x6f, 0x74, 0x74, 0x6f, 0x6d, 0x00, 0x0d, 0x74, 0x72, 0x69, 0x61,
|
||||
0x6e, 0x67, 0x6c, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x70, 0x00, 0x90, 0x01,
|
||||
0x07, 0x09, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x07,
|
||||
0x04, 0x63, 0x68, 0x61, 0x74, 0x00, 0x0d, 0x65, 0x6d, 0x6f, 0x74, 0x65,
|
||||
0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x00, 0x14, 0x6d, 0x73,
|
||||
0x67, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x69, 0x6e,
|
||||
0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x00, 0x14, 0x6d, 0x73, 0x67, 0x5f,
|
||||
0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x6f, 0x75, 0x74, 0x67,
|
||||
0x6f, 0x69, 0x6e, 0x67, 0x00, 0x0b, 0x73, 0x61, 0x79, 0x5f, 0x63, 0x6f,
|
||||
0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x00, 0x19, 0x74, 0x65, 0x61, 0x6d, 0x5f,
|
||||
0x6d, 0x73, 0x67, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f,
|
||||
0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x00, 0x19, 0x74, 0x65,
|
||||
0x61, 0x6d, 0x5f, 0x6d, 0x73, 0x67, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61,
|
||||
0x6e, 0x64, 0x5f, 0x6f, 0x75, 0x74, 0x67, 0x6f, 0x69, 0x6e, 0x67, 0x00,
|
||||
0xcb, 0x04, 0x07, 0x0b, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x74,
|
||||
0x79, 0x70, 0x65, 0x30, 0x05, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x00, 0x11,
|
||||
0x62, 0x61, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x5f,
|
||||
0x70, 0x6f, 0x69, 0x6e, 0x74, 0x00, 0x06, 0x63, 0x61, 0x63, 0x74, 0x75,
|
||||
0x73, 0x00, 0x08, 0x63, 0x61, 0x6d, 0x70, 0x66, 0x69, 0x72, 0x65, 0x00,
|
||||
0x08, 0x63, 0x72, 0x61, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x00, 0x0d, 0x64,
|
||||
0x72, 0x61, 0x67, 0x6f, 0x6e, 0x5f, 0x62, 0x72, 0x65, 0x61, 0x74, 0x68,
|
||||
0x00, 0x05, 0x64, 0x72, 0x6f, 0x77, 0x6e, 0x00, 0x07, 0x64, 0x72, 0x79,
|
||||
0x5f, 0x6f, 0x75, 0x74, 0x00, 0x0b, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f,
|
||||
0x70, 0x65, 0x61, 0x72, 0x6c, 0x00, 0x09, 0x65, 0x78, 0x70, 0x6c, 0x6f,
|
||||
0x73, 0x69, 0x6f, 0x6e, 0x00, 0x04, 0x66, 0x61, 0x6c, 0x6c, 0x00, 0x0d,
|
||||
0x66, 0x61, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x6e, 0x76, 0x69,
|
||||
0x6c, 0x00, 0x0d, 0x66, 0x61, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x62,
|
||||
0x6c, 0x6f, 0x63, 0x6b, 0x00, 0x12, 0x66, 0x61, 0x6c, 0x6c, 0x69, 0x6e,
|
||||
0x67, 0x5f, 0x73, 0x74, 0x61, 0x6c, 0x61, 0x63, 0x74, 0x69, 0x74, 0x65,
|
||||
0x00, 0x08, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x6c, 0x6c, 0x00, 0x09,
|
||||
0x66, 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x00, 0x0d, 0x66,
|
||||
0x6c, 0x79, 0x5f, 0x69, 0x6e, 0x74, 0x6f, 0x5f, 0x77, 0x61, 0x6c, 0x6c,
|
||||
0x00, 0x06, 0x66, 0x72, 0x65, 0x65, 0x7a, 0x65, 0x00, 0x07, 0x67, 0x65,
|
||||
0x6e, 0x65, 0x72, 0x69, 0x63, 0x00, 0x0c, 0x67, 0x65, 0x6e, 0x65, 0x72,
|
||||
0x69, 0x63, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x00, 0x09, 0x68, 0x6f, 0x74,
|
||||
0x5f, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x00, 0x07, 0x69, 0x6e, 0x5f, 0x66,
|
||||
0x69, 0x72, 0x65, 0x00, 0x07, 0x69, 0x6e, 0x5f, 0x77, 0x61, 0x6c, 0x6c,
|
||||
0x00, 0x0e, 0x69, 0x6e, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x6d,
|
||||
0x61, 0x67, 0x69, 0x63, 0x00, 0x04, 0x6c, 0x61, 0x76, 0x61, 0x00, 0x0e,
|
||||
0x6c, 0x69, 0x67, 0x68, 0x74, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x6f,
|
||||
0x6c, 0x74, 0x00, 0x05, 0x6d, 0x61, 0x67, 0x69, 0x63, 0x00, 0x0a, 0x6d,
|
||||
0x6f, 0x62, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x00, 0x13, 0x6d,
|
||||
0x6f, 0x62, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x6e, 0x6f,
|
||||
0x5f, 0x61, 0x67, 0x67, 0x72, 0x6f, 0x00, 0x0e, 0x6d, 0x6f, 0x62, 0x5f,
|
||||
0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6c, 0x65, 0x00, 0x07,
|
||||
0x6f, 0x6e, 0x5f, 0x66, 0x69, 0x72, 0x65, 0x00, 0x0c, 0x6f, 0x75, 0x74,
|
||||
0x5f, 0x6f, 0x66, 0x5f, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x00, 0x0e, 0x6f,
|
||||
0x75, 0x74, 0x73, 0x69, 0x64, 0x65, 0x5f, 0x62, 0x6f, 0x72, 0x64, 0x65,
|
||||
0x72, 0x00, 0x0d, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x61, 0x74,
|
||||
0x74, 0x61, 0x63, 0x6b, 0x00, 0x10, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72,
|
||||
0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x73, 0x69, 0x6f, 0x6e, 0x00, 0x0a,
|
||||
0x73, 0x6f, 0x6e, 0x69, 0x63, 0x5f, 0x62, 0x6f, 0x6f, 0x6d, 0x00, 0x04,
|
||||
0x73, 0x70, 0x69, 0x74, 0x00, 0x0a, 0x73, 0x74, 0x61, 0x6c, 0x61, 0x67,
|
||||
0x6d, 0x69, 0x74, 0x65, 0x00, 0x06, 0x73, 0x74, 0x61, 0x72, 0x76, 0x65,
|
||||
0x00, 0x05, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x00, 0x10, 0x73, 0x77, 0x65,
|
||||
0x65, 0x74, 0x5f, 0x62, 0x65, 0x72, 0x72, 0x79, 0x5f, 0x62, 0x75, 0x73,
|
||||
0x68, 0x00, 0x06, 0x74, 0x68, 0x6f, 0x72, 0x6e, 0x73, 0x00, 0x06, 0x74,
|
||||
0x68, 0x72, 0x6f, 0x77, 0x6e, 0x00, 0x07, 0x74, 0x72, 0x69, 0x64, 0x65,
|
||||
0x6e, 0x74, 0x00, 0x15, 0x75, 0x6e, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62,
|
||||
0x75, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x6c,
|
||||
0x6c, 0x00, 0x0b, 0x77, 0x69, 0x6e, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x72,
|
||||
0x67, 0x65, 0x00, 0x06, 0x77, 0x69, 0x74, 0x68, 0x65, 0x72, 0x00, 0x0c,
|
||||
0x77, 0x69, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x73, 0x6b, 0x75, 0x6c, 0x6c,
|
||||
0x00, 0x42, 0x07, 0x0e, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f,
|
||||
0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x04, 0x09, 0x6f, 0x76, 0x65, 0x72,
|
||||
0x77, 0x6f, 0x72, 0x6c, 0x64, 0x00, 0x0f, 0x6f, 0x76, 0x65, 0x72, 0x77,
|
||||
0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x63, 0x61, 0x76, 0x65, 0x73, 0x00, 0x07,
|
||||
0x74, 0x68, 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x00, 0x0a, 0x74, 0x68, 0x65,
|
||||
0x5f, 0x6e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x00, 0xc4, 0x03, 0x07, 0x10,
|
||||
0x70, 0x61, 0x69, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x72,
|
||||
0x69, 0x61, 0x6e, 0x74, 0x32, 0x05, 0x61, 0x6c, 0x62, 0x61, 0x6e, 0x00,
|
||||
0x05, 0x61, 0x7a, 0x74, 0x65, 0x63, 0x00, 0x06, 0x61, 0x7a, 0x74, 0x65,
|
||||
0x63, 0x32, 0x00, 0x08, 0x62, 0x61, 0x63, 0x6b, 0x79, 0x61, 0x72, 0x64,
|
||||
0x00, 0x07, 0x62, 0x61, 0x72, 0x6f, 0x71, 0x75, 0x65, 0x00, 0x04, 0x62,
|
||||
0x6f, 0x6d, 0x62, 0x00, 0x07, 0x62, 0x6f, 0x75, 0x71, 0x75, 0x65, 0x74,
|
||||
0x00, 0x0d, 0x62, 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x6b,
|
||||
0x75, 0x6c, 0x6c, 0x00, 0x04, 0x62, 0x75, 0x73, 0x74, 0x00, 0x08, 0x63,
|
||||
0x61, 0x76, 0x65, 0x62, 0x69, 0x72, 0x64, 0x00, 0x08, 0x63, 0x68, 0x61,
|
||||
0x6e, 0x67, 0x69, 0x6e, 0x67, 0x00, 0x05, 0x63, 0x6f, 0x74, 0x61, 0x6e,
|
||||
0x00, 0x07, 0x63, 0x6f, 0x75, 0x72, 0x62, 0x65, 0x74, 0x00, 0x07, 0x63,
|
||||
0x72, 0x65, 0x65, 0x62, 0x65, 0x74, 0x00, 0x0b, 0x64, 0x6f, 0x6e, 0x6b,
|
||||
0x65, 0x79, 0x5f, 0x6b, 0x6f, 0x6e, 0x67, 0x00, 0x05, 0x65, 0x61, 0x72,
|
||||
0x74, 0x68, 0x00, 0x07, 0x65, 0x6e, 0x64, 0x62, 0x6f, 0x73, 0x73, 0x00,
|
||||
0x04, 0x66, 0x65, 0x72, 0x6e, 0x00, 0x08, 0x66, 0x69, 0x67, 0x68, 0x74,
|
||||
0x65, 0x72, 0x73, 0x00, 0x07, 0x66, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67,
|
||||
0x00, 0x04, 0x66, 0x69, 0x72, 0x65, 0x00, 0x06, 0x67, 0x72, 0x61, 0x68,
|
||||
0x61, 0x6d, 0x00, 0x06, 0x68, 0x75, 0x6d, 0x62, 0x6c, 0x65, 0x00, 0x05,
|
||||
0x6b, 0x65, 0x62, 0x61, 0x62, 0x00, 0x07, 0x6c, 0x6f, 0x77, 0x6d, 0x69,
|
||||
0x73, 0x74, 0x00, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x00, 0x0a, 0x6d,
|
||||
0x65, 0x64, 0x69, 0x74, 0x61, 0x74, 0x69, 0x76, 0x65, 0x00, 0x03, 0x6f,
|
||||
0x72, 0x62, 0x00, 0x08, 0x6f, 0x77, 0x6c, 0x65, 0x6d, 0x6f, 0x6e, 0x73,
|
||||
0x00, 0x07, 0x70, 0x61, 0x73, 0x73, 0x61, 0x67, 0x65, 0x00, 0x08, 0x70,
|
||||
0x69, 0x67, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x00, 0x05, 0x70, 0x6c, 0x61,
|
||||
0x6e, 0x74, 0x00, 0x07, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x00,
|
||||
0x04, 0x70, 0x6f, 0x6e, 0x64, 0x00, 0x04, 0x70, 0x6f, 0x6f, 0x6c, 0x00,
|
||||
0x0c, 0x70, 0x72, 0x61, 0x69, 0x72, 0x69, 0x65, 0x5f, 0x72, 0x69, 0x64,
|
||||
0x65, 0x00, 0x03, 0x73, 0x65, 0x61, 0x00, 0x08, 0x73, 0x6b, 0x65, 0x6c,
|
||||
0x65, 0x74, 0x6f, 0x6e, 0x00, 0x0f, 0x73, 0x6b, 0x75, 0x6c, 0x6c, 0x5f,
|
||||
0x61, 0x6e, 0x64, 0x5f, 0x72, 0x6f, 0x73, 0x65, 0x73, 0x00, 0x05, 0x73,
|
||||
0x74, 0x61, 0x67, 0x65, 0x00, 0x0a, 0x73, 0x75, 0x6e, 0x66, 0x6c, 0x6f,
|
||||
0x77, 0x65, 0x72, 0x73, 0x00, 0x06, 0x73, 0x75, 0x6e, 0x73, 0x65, 0x74,
|
||||
0x00, 0x05, 0x74, 0x69, 0x64, 0x65, 0x73, 0x00, 0x08, 0x75, 0x6e, 0x70,
|
||||
0x61, 0x63, 0x6b, 0x65, 0x64, 0x00, 0x04, 0x76, 0x6f, 0x69, 0x64, 0x00,
|
||||
0x08, 0x77, 0x61, 0x6e, 0x64, 0x65, 0x72, 0x65, 0x72, 0x00, 0x09, 0x77,
|
||||
0x61, 0x73, 0x74, 0x65, 0x6c, 0x61, 0x6e, 0x64, 0x00, 0x05, 0x77, 0x61,
|
||||
0x74, 0x65, 0x72, 0x00, 0x04, 0x77, 0x69, 0x6e, 0x64, 0x00, 0x06, 0x77,
|
||||
0x69, 0x74, 0x68, 0x65, 0x72, 0x00, 0x64, 0x07, 0x0d, 0x74, 0x72, 0x69,
|
||||
0x6d, 0x5f, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x0a, 0x08,
|
||||
0x61, 0x6d, 0x65, 0x74, 0x68, 0x79, 0x73, 0x74, 0x00, 0x06, 0x63, 0x6f,
|
||||
0x70, 0x70, 0x65, 0x72, 0x00, 0x07, 0x64, 0x69, 0x61, 0x6d, 0x6f, 0x6e,
|
||||
0x64, 0x00, 0x07, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x64, 0x00, 0x04,
|
||||
0x67, 0x6f, 0x6c, 0x64, 0x00, 0x04, 0x69, 0x72, 0x6f, 0x6e, 0x00, 0x05,
|
||||
0x6c, 0x61, 0x70, 0x69, 0x73, 0x00, 0x09, 0x6e, 0x65, 0x74, 0x68, 0x65,
|
||||
0x72, 0x69, 0x74, 0x65, 0x00, 0x06, 0x71, 0x75, 0x61, 0x72, 0x74, 0x7a,
|
||||
0x00, 0x08, 0x72, 0x65, 0x64, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x00, 0x89,
|
||||
0x01, 0x07, 0x0c, 0x74, 0x72, 0x69, 0x6d, 0x5f, 0x70, 0x61, 0x74, 0x74,
|
||||
0x65, 0x72, 0x6e, 0x12, 0x04, 0x62, 0x6f, 0x6c, 0x74, 0x00, 0x05, 0x63,
|
||||
0x6f, 0x61, 0x73, 0x74, 0x00, 0x04, 0x64, 0x75, 0x6e, 0x65, 0x00, 0x03,
|
||||
0x65, 0x79, 0x65, 0x00, 0x04, 0x66, 0x6c, 0x6f, 0x77, 0x00, 0x04, 0x68,
|
||||
0x6f, 0x73, 0x74, 0x00, 0x06, 0x72, 0x61, 0x69, 0x73, 0x65, 0x72, 0x00,
|
||||
0x03, 0x72, 0x69, 0x62, 0x00, 0x06, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79,
|
||||
0x00, 0x06, 0x73, 0x68, 0x61, 0x70, 0x65, 0x72, 0x00, 0x07, 0x73, 0x69,
|
||||
0x6c, 0x65, 0x6e, 0x63, 0x65, 0x00, 0x05, 0x73, 0x6e, 0x6f, 0x75, 0x74,
|
||||
0x00, 0x05, 0x73, 0x70, 0x69, 0x72, 0x65, 0x00, 0x04, 0x74, 0x69, 0x64,
|
||||
0x65, 0x00, 0x03, 0x76, 0x65, 0x78, 0x00, 0x04, 0x77, 0x61, 0x72, 0x64,
|
||||
0x00, 0x09, 0x77, 0x61, 0x79, 0x66, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x00,
|
||||
0x04, 0x77, 0x69, 0x6c, 0x64, 0x00, 0x54, 0x07, 0x0c, 0x77, 0x6f, 0x6c,
|
||||
0x66, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x09, 0x05, 0x61,
|
||||
0x73, 0x68, 0x65, 0x6e, 0x00, 0x05, 0x62, 0x6c, 0x61, 0x63, 0x6b, 0x00,
|
||||
0x08, 0x63, 0x68, 0x65, 0x73, 0x74, 0x6e, 0x75, 0x74, 0x00, 0x04, 0x70,
|
||||
0x61, 0x6c, 0x65, 0x00, 0x05, 0x72, 0x75, 0x73, 0x74, 0x79, 0x00, 0x05,
|
||||
0x73, 0x6e, 0x6f, 0x77, 0x79, 0x00, 0x07, 0x73, 0x70, 0x6f, 0x74, 0x74,
|
||||
0x65, 0x64, 0x00, 0x07, 0x73, 0x74, 0x72, 0x69, 0x70, 0x65, 0x64, 0x00,
|
||||
0x05, 0x77, 0x6f, 0x6f, 0x64, 0x73, 0x00, 0x93, 0x07, 0x07, 0x0e, 0x77,
|
||||
0x6f, 0x72, 0x6c, 0x64, 0x67, 0x65, 0x6e, 0x2f, 0x62, 0x69, 0x6f, 0x6d,
|
||||
0x65, 0x40, 0x08, 0x62, 0x61, 0x64, 0x6c, 0x61, 0x6e, 0x64, 0x73, 0x00,
|
||||
0x0d, 0x62, 0x61, 0x6d, 0x62, 0x6f, 0x6f, 0x5f, 0x6a, 0x75, 0x6e, 0x67,
|
||||
0x6c, 0x65, 0x00, 0x0d, 0x62, 0x61, 0x73, 0x61, 0x6c, 0x74, 0x5f, 0x64,
|
||||
0x65, 0x6c, 0x74, 0x61, 0x73, 0x00, 0x05, 0x62, 0x65, 0x61, 0x63, 0x68,
|
||||
0x00, 0x0c, 0x62, 0x69, 0x72, 0x63, 0x68, 0x5f, 0x66, 0x6f, 0x72, 0x65,
|
||||
0x73, 0x74, 0x00, 0x0c, 0x63, 0x68, 0x65, 0x72, 0x72, 0x79, 0x5f, 0x67,
|
||||
0x72, 0x6f, 0x76, 0x65, 0x00, 0x0a, 0x63, 0x6f, 0x6c, 0x64, 0x5f, 0x6f,
|
||||
0x63, 0x65, 0x61, 0x6e, 0x00, 0x0e, 0x63, 0x72, 0x69, 0x6d, 0x73, 0x6f,
|
||||
0x6e, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x73, 0x74, 0x00, 0x0b, 0x64, 0x61,
|
||||
0x72, 0x6b, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x73, 0x74, 0x00, 0x0f, 0x64,
|
||||
0x65, 0x65, 0x70, 0x5f, 0x63, 0x6f, 0x6c, 0x64, 0x5f, 0x6f, 0x63, 0x65,
|
||||
0x61, 0x6e, 0x00, 0x09, 0x64, 0x65, 0x65, 0x70, 0x5f, 0x64, 0x61, 0x72,
|
||||
0x6b, 0x00, 0x11, 0x64, 0x65, 0x65, 0x70, 0x5f, 0x66, 0x72, 0x6f, 0x7a,
|
||||
0x65, 0x6e, 0x5f, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x00, 0x13, 0x64, 0x65,
|
||||
0x65, 0x70, 0x5f, 0x6c, 0x75, 0x6b, 0x65, 0x77, 0x61, 0x72, 0x6d, 0x5f,
|
||||
0x6f, 0x63, 0x65, 0x61, 0x6e, 0x00, 0x0a, 0x64, 0x65, 0x65, 0x70, 0x5f,
|
||||
0x6f, 0x63, 0x65, 0x61, 0x6e, 0x00, 0x06, 0x64, 0x65, 0x73, 0x65, 0x72,
|
||||
0x74, 0x00, 0x0f, 0x64, 0x72, 0x69, 0x70, 0x73, 0x74, 0x6f, 0x6e, 0x65,
|
||||
0x5f, 0x63, 0x61, 0x76, 0x65, 0x73, 0x00, 0x0b, 0x65, 0x6e, 0x64, 0x5f,
|
||||
0x62, 0x61, 0x72, 0x72, 0x65, 0x6e, 0x73, 0x00, 0x0d, 0x65, 0x6e, 0x64,
|
||||
0x5f, 0x68, 0x69, 0x67, 0x68, 0x6c, 0x61, 0x6e, 0x64, 0x73, 0x00, 0x0c,
|
||||
0x65, 0x6e, 0x64, 0x5f, 0x6d, 0x69, 0x64, 0x6c, 0x61, 0x6e, 0x64, 0x73,
|
||||
0x00, 0x0f, 0x65, 0x72, 0x6f, 0x64, 0x65, 0x64, 0x5f, 0x62, 0x61, 0x64,
|
||||
0x6c, 0x61, 0x6e, 0x64, 0x73, 0x00, 0x0d, 0x66, 0x6c, 0x6f, 0x77, 0x65,
|
||||
0x72, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x73, 0x74, 0x00, 0x06, 0x66, 0x6f,
|
||||
0x72, 0x65, 0x73, 0x74, 0x00, 0x0c, 0x66, 0x72, 0x6f, 0x7a, 0x65, 0x6e,
|
||||
0x5f, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x00, 0x0c, 0x66, 0x72, 0x6f, 0x7a,
|
||||
0x65, 0x6e, 0x5f, 0x70, 0x65, 0x61, 0x6b, 0x73, 0x00, 0x0c, 0x66, 0x72,
|
||||
0x6f, 0x7a, 0x65, 0x6e, 0x5f, 0x72, 0x69, 0x76, 0x65, 0x72, 0x00, 0x05,
|
||||
0x67, 0x72, 0x6f, 0x76, 0x65, 0x00, 0x0a, 0x69, 0x63, 0x65, 0x5f, 0x73,
|
||||
0x70, 0x69, 0x6b, 0x65, 0x73, 0x00, 0x0c, 0x6a, 0x61, 0x67, 0x67, 0x65,
|
||||
0x64, 0x5f, 0x70, 0x65, 0x61, 0x6b, 0x73, 0x00, 0x06, 0x6a, 0x75, 0x6e,
|
||||
0x67, 0x6c, 0x65, 0x00, 0x0e, 0x6c, 0x75, 0x6b, 0x65, 0x77, 0x61, 0x72,
|
||||
0x6d, 0x5f, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x00, 0x0a, 0x6c, 0x75, 0x73,
|
||||
0x68, 0x5f, 0x63, 0x61, 0x76, 0x65, 0x73, 0x00, 0x0e, 0x6d, 0x61, 0x6e,
|
||||
0x67, 0x72, 0x6f, 0x76, 0x65, 0x5f, 0x73, 0x77, 0x61, 0x6d, 0x70, 0x00,
|
||||
0x06, 0x6d, 0x65, 0x61, 0x64, 0x6f, 0x77, 0x00, 0x0f, 0x6d, 0x75, 0x73,
|
||||
0x68, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73,
|
||||
0x00, 0x0d, 0x6e, 0x65, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x77, 0x61, 0x73,
|
||||
0x74, 0x65, 0x73, 0x00, 0x05, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x00, 0x17,
|
||||
0x6f, 0x6c, 0x64, 0x5f, 0x67, 0x72, 0x6f, 0x77, 0x74, 0x68, 0x5f, 0x62,
|
||||
0x69, 0x72, 0x63, 0x68, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x73, 0x74, 0x00,
|
||||
0x15, 0x6f, 0x6c, 0x64, 0x5f, 0x67, 0x72, 0x6f, 0x77, 0x74, 0x68, 0x5f,
|
||||
0x70, 0x69, 0x6e, 0x65, 0x5f, 0x74, 0x61, 0x69, 0x67, 0x61, 0x00, 0x17,
|
||||
0x6f, 0x6c, 0x64, 0x5f, 0x67, 0x72, 0x6f, 0x77, 0x74, 0x68, 0x5f, 0x73,
|
||||
0x70, 0x72, 0x75, 0x63, 0x65, 0x5f, 0x74, 0x61, 0x69, 0x67, 0x61, 0x00,
|
||||
0x06, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x73, 0x00, 0x05, 0x72, 0x69, 0x76,
|
||||
0x65, 0x72, 0x00, 0x07, 0x73, 0x61, 0x76, 0x61, 0x6e, 0x6e, 0x61, 0x00,
|
||||
0x0f, 0x73, 0x61, 0x76, 0x61, 0x6e, 0x6e, 0x61, 0x5f, 0x70, 0x6c, 0x61,
|
||||
0x74, 0x65, 0x61, 0x75, 0x00, 0x11, 0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x5f,
|
||||
0x65, 0x6e, 0x64, 0x5f, 0x69, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x73, 0x00,
|
||||
0x0b, 0x73, 0x6e, 0x6f, 0x77, 0x79, 0x5f, 0x62, 0x65, 0x61, 0x63, 0x68,
|
||||
0x00, 0x0c, 0x73, 0x6e, 0x6f, 0x77, 0x79, 0x5f, 0x70, 0x6c, 0x61, 0x69,
|
||||
0x6e, 0x73, 0x00, 0x0c, 0x73, 0x6e, 0x6f, 0x77, 0x79, 0x5f, 0x73, 0x6c,
|
||||
0x6f, 0x70, 0x65, 0x73, 0x00, 0x0b, 0x73, 0x6e, 0x6f, 0x77, 0x79, 0x5f,
|
||||
0x74, 0x61, 0x69, 0x67, 0x61, 0x00, 0x10, 0x73, 0x6f, 0x75, 0x6c, 0x5f,
|
||||
0x73, 0x61, 0x6e, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x6c, 0x65, 0x79, 0x00,
|
||||
0x0d, 0x73, 0x70, 0x61, 0x72, 0x73, 0x65, 0x5f, 0x6a, 0x75, 0x6e, 0x67,
|
||||
0x6c, 0x65, 0x00, 0x0b, 0x73, 0x74, 0x6f, 0x6e, 0x79, 0x5f, 0x70, 0x65,
|
||||
0x61, 0x6b, 0x73, 0x00, 0x0b, 0x73, 0x74, 0x6f, 0x6e, 0x79, 0x5f, 0x73,
|
||||
0x68, 0x6f, 0x72, 0x65, 0x00, 0x10, 0x73, 0x75, 0x6e, 0x66, 0x6c, 0x6f,
|
||||
0x77, 0x65, 0x72, 0x5f, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x73, 0x00, 0x05,
|
||||
0x73, 0x77, 0x61, 0x6d, 0x70, 0x00, 0x05, 0x74, 0x61, 0x69, 0x67, 0x61,
|
||||
0x00, 0x07, 0x74, 0x68, 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x00, 0x08, 0x74,
|
||||
0x68, 0x65, 0x5f, 0x76, 0x6f, 0x69, 0x64, 0x00, 0x0a, 0x77, 0x61, 0x72,
|
||||
0x6d, 0x5f, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x00, 0x0d, 0x77, 0x61, 0x72,
|
||||
0x70, 0x65, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x73, 0x74, 0x00, 0x10,
|
||||
0x77, 0x69, 0x6e, 0x64, 0x73, 0x77, 0x65, 0x70, 0x74, 0x5f, 0x66, 0x6f,
|
||||
0x72, 0x65, 0x73, 0x74, 0x00, 0x18, 0x77, 0x69, 0x6e, 0x64, 0x73, 0x77,
|
||||
0x65, 0x70, 0x74, 0x5f, 0x67, 0x72, 0x61, 0x76, 0x65, 0x6c, 0x6c, 0x79,
|
||||
0x5f, 0x68, 0x69, 0x6c, 0x6c, 0x73, 0x00, 0x0f, 0x77, 0x69, 0x6e, 0x64,
|
||||
0x73, 0x77, 0x65, 0x70, 0x74, 0x5f, 0x68, 0x69, 0x6c, 0x6c, 0x73, 0x00,
|
||||
0x11, 0x77, 0x69, 0x6e, 0x64, 0x73, 0x77, 0x65, 0x70, 0x74, 0x5f, 0x73,
|
||||
0x61, 0x76, 0x61, 0x6e, 0x6e, 0x61, 0x00, 0x0f, 0x77, 0x6f, 0x6f, 0x64,
|
||||
0x65, 0x64, 0x5f, 0x62, 0x61, 0x64, 0x6c, 0x61, 0x6e, 0x64, 0x73, 0x00
|
||||
};
|
||||
|
||||
// Block palette
|
||||
uint16_t block_palette[] = { 0, 1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 25, 26, 27, 28, 29, 31, 33, 35, 37, 39, 41, 43, 50, 85, 86, 118, 119, 123, 124, 125, 129, 130, 131, 132, 133, 134, 135, 137, 140, 143, 146, 149, 152, 155, 158, 161, 164, 166, 169, 172, 175, 178, 181, 184, 187, 190, 193, 196, 199, 202, 205, 208, 211, 214, 217, 220, 223, 226, 229, 232, 235, 238, 241, 244, 247, 250, 279, 307, 335, 363, 391, 419, 447, 475, 503, 531, 559, 560, 561, 562, 563, 564, 565, 567, 578, 579, 580, 582, 1734, 1750, 1766, 1782, 1798, 1814, 1830, 1846, 1862, 1878, 1894, 1910, 1926, 1942, 1958, 1974, 2000, 2024, 2041, 2047, 2048, 2049, 2050, 2051, 2052, 2053, 2054, 2063, 2093, 2094, 2095, 2096, 2097, 2098, 2099, 2100, 2101, 2102, 2103, 2104, 2105, 2106, 2107, 2108, 2121, 2122, 2123, 2124, 2125, 2126, 2127, 2128, 2129, 2130, 2131, 2132, 2133, 2134, 2135, 2136, 2137, 2138, 2139, 2141, 2142, 2206, 2399, 2400, 2401, 2919, 2927, 2949, 3019, 4338, 4339, 4340, 4341, 4342, 4350, 4359, 4367, 4399, 4431, 4463, 4495, 4527, 4559, 4591, 4623, 4655, 4697, 4751, 4759, 4789, 4971, 5035, 5099, 5163, 5227, 5291, 5355, 5419, 5483, 5547, 5611, 5675, 5811, 5827, 5839, 5893, 5895, 5897, 5899, 5901, 5903, 5905, 5907, 5909, 5911, 5913, 5915, 5916, 5935, 5950, 5958, 5959, 5960, 5976, 5977, 5978, 5995, 6027, 6028, 6029, 6030, 6032, 6035, 6037, 6042, 6045, 6049, 6053, 6063, 6124, 6125, 6126, 6127 };
|
||||
// Block-to-item mapping
|
||||
uint8_t B_to_I[] = { 0, 1, 2, 3, 4, 5, 6, 7, 27, 28, 29, 30, 35, 36, 37, 38, 39, 40, 41, 42, 177, 43, 44, 45, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 0, 59, 60, 62, 63, 61, 70, 71, 66, 67, 64, 65, 80, 134, 135, 136, 137, 138, 139, 141, 140, 142, 143, 144, 147, 149, 150, 151, 152, 153, 154, 155, 148, 156, 170, 171, 172, 173, 174, 175, 176, 178, 179, 159, 160, 161, 162, 163, 164, 165, 166, 167, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 76, 77, 197, 0, 198, 199, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 201, 202, 203, 207, 204, 209, 210, 211, 0, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 244, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 243, 242, 247, 248, 92, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78, 79, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; // 256
|
||||
// Item-to-block mapping
|
||||
uint8_t I_to_B (uint16_t item) {
|
||||
if (item == 0) return 0;
|
||||
if (item == 1) return 1;
|
||||
if (item == 2) return 2;
|
||||
if (item == 3) return 3;
|
||||
if (item == 4) return 4;
|
||||
if (item == 5) return 5;
|
||||
if (item == 6) return 6;
|
||||
if (item == 7) return 7;
|
||||
if (item == 27) return 8;
|
||||
if (item == 28) return 9;
|
||||
if (item == 29) return 10;
|
||||
if (item == 30) return 11;
|
||||
if (item == 35) return 12;
|
||||
if (item == 36) return 13;
|
||||
if (item == 37) return 14;
|
||||
if (item == 38) return 15;
|
||||
if (item == 39) return 16;
|
||||
if (item == 40) return 17;
|
||||
if (item == 41) return 18;
|
||||
if (item == 42) return 19;
|
||||
if (item == 177) return 20;
|
||||
if (item == 43) return 21;
|
||||
if (item == 44) return 22;
|
||||
if (item == 45) return 23;
|
||||
if (item == 48) return 24;
|
||||
if (item == 49) return 25;
|
||||
if (item == 50) return 26;
|
||||
if (item == 51) return 27;
|
||||
if (item == 52) return 28;
|
||||
if (item == 53) return 29;
|
||||
if (item == 54) return 30;
|
||||
if (item == 55) return 31;
|
||||
if (item == 56) return 32;
|
||||
if (item == 57) return 33;
|
||||
if (item == 58) return 34;
|
||||
if (item == 59) return 36;
|
||||
if (item == 60) return 37;
|
||||
if (item == 62) return 38;
|
||||
if (item == 63) return 39;
|
||||
if (item == 61) return 40;
|
||||
if (item == 70) return 41;
|
||||
if (item == 71) return 42;
|
||||
if (item == 66) return 43;
|
||||
if (item == 67) return 44;
|
||||
if (item == 64) return 45;
|
||||
if (item == 65) return 46;
|
||||
if (item == 80) return 47;
|
||||
if (item == 134) return 48;
|
||||
if (item == 135) return 49;
|
||||
if (item == 136) return 50;
|
||||
if (item == 137) return 51;
|
||||
if (item == 138) return 52;
|
||||
if (item == 139) return 53;
|
||||
if (item == 141) return 54;
|
||||
if (item == 140) return 55;
|
||||
if (item == 142) return 56;
|
||||
if (item == 143) return 57;
|
||||
if (item == 144) return 58;
|
||||
if (item == 147) return 59;
|
||||
if (item == 149) return 60;
|
||||
if (item == 150) return 61;
|
||||
if (item == 151) return 62;
|
||||
if (item == 152) return 63;
|
||||
if (item == 153) return 64;
|
||||
if (item == 154) return 65;
|
||||
if (item == 155) return 66;
|
||||
if (item == 148) return 67;
|
||||
if (item == 156) return 68;
|
||||
if (item == 170) return 69;
|
||||
if (item == 171) return 70;
|
||||
if (item == 172) return 71;
|
||||
if (item == 173) return 72;
|
||||
if (item == 174) return 73;
|
||||
if (item == 175) return 74;
|
||||
if (item == 176) return 75;
|
||||
if (item == 178) return 76;
|
||||
if (item == 179) return 77;
|
||||
if (item == 159) return 78;
|
||||
if (item == 160) return 79;
|
||||
if (item == 161) return 80;
|
||||
if (item == 162) return 81;
|
||||
if (item == 163) return 82;
|
||||
if (item == 164) return 83;
|
||||
if (item == 165) return 84;
|
||||
if (item == 166) return 85;
|
||||
if (item == 167) return 86;
|
||||
if (item == 182) return 87;
|
||||
if (item == 183) return 88;
|
||||
if (item == 184) return 89;
|
||||
if (item == 185) return 90;
|
||||
if (item == 186) return 91;
|
||||
if (item == 187) return 92;
|
||||
if (item == 188) return 93;
|
||||
if (item == 189) return 94;
|
||||
if (item == 190) return 95;
|
||||
if (item == 191) return 96;
|
||||
if (item == 192) return 97;
|
||||
if (item == 193) return 98;
|
||||
if (item == 194) return 99;
|
||||
if (item == 195) return 100;
|
||||
if (item == 76) return 101;
|
||||
if (item == 77) return 102;
|
||||
if (item == 197) return 103;
|
||||
if (item == 699) return 104;
|
||||
if (item == 198) return 105;
|
||||
if (item == 199) return 106;
|
||||
if (item == 200) return 107;
|
||||
if (item == 712) return 108;
|
||||
if (item == 1041) return 109;
|
||||
if (item == 1042) return 110;
|
||||
if (item == 1043) return 111;
|
||||
if (item == 1044) return 112;
|
||||
if (item == 1045) return 113;
|
||||
if (item == 1046) return 114;
|
||||
if (item == 1047) return 115;
|
||||
if (item == 1048) return 116;
|
||||
if (item == 1049) return 117;
|
||||
if (item == 1050) return 118;
|
||||
if (item == 1051) return 119;
|
||||
if (item == 1052) return 120;
|
||||
if (item == 1053) return 121;
|
||||
if (item == 1054) return 122;
|
||||
if (item == 1055) return 123;
|
||||
if (item == 1056) return 124;
|
||||
if (item == 797) return 125;
|
||||
if (item == 798) return 126;
|
||||
if (item == 694) return 127;
|
||||
if (item == 201) return 128;
|
||||
if (item == 202) return 129;
|
||||
if (item == 203) return 130;
|
||||
if (item == 207) return 131;
|
||||
if (item == 204) return 132;
|
||||
if (item == 209) return 133;
|
||||
if (item == 210) return 134;
|
||||
if (item == 211) return 135;
|
||||
if (item == 693) return 136;
|
||||
if (item == 213) return 137;
|
||||
if (item == 214) return 138;
|
||||
if (item == 215) return 139;
|
||||
if (item == 216) return 140;
|
||||
if (item == 217) return 141;
|
||||
if (item == 218) return 142;
|
||||
if (item == 219) return 143;
|
||||
if (item == 220) return 144;
|
||||
if (item == 221) return 145;
|
||||
if (item == 222) return 146;
|
||||
if (item == 223) return 147;
|
||||
if (item == 224) return 148;
|
||||
if (item == 225) return 149;
|
||||
if (item == 226) return 150;
|
||||
if (item == 227) return 151;
|
||||
if (item == 228) return 152;
|
||||
if (item == 229) return 153;
|
||||
if (item == 244) return 154;
|
||||
if (item == 232) return 155;
|
||||
if (item == 233) return 156;
|
||||
if (item == 234) return 157;
|
||||
if (item == 235) return 158;
|
||||
if (item == 236) return 159;
|
||||
if (item == 237) return 160;
|
||||
if (item == 238) return 161;
|
||||
if (item == 239) return 162;
|
||||
if (item == 240) return 163;
|
||||
if (item == 241) return 164;
|
||||
if (item == 243) return 165;
|
||||
if (item == 242) return 166;
|
||||
if (item == 247) return 167;
|
||||
if (item == 248) return 168;
|
||||
if (item == 92) return 169;
|
||||
if (item == 90) return 170;
|
||||
if (item == 304) return 171;
|
||||
if (item == 710) return 172;
|
||||
if (item == 305) return 173;
|
||||
if (item == 306) return 174;
|
||||
if (item == 308) return 175;
|
||||
if (item == 309) return 176;
|
||||
if (item == 310) return 177;
|
||||
if (item == 317) return 178;
|
||||
if (item == 318) return 179;
|
||||
if (item == 412) return 180;
|
||||
if (item == 319) return 181;
|
||||
if (item == 78) return 182;
|
||||
if (item == 79) return 183;
|
||||
if (item == 93) return 184;
|
||||
if (item == 320) return 185;
|
||||
if (item == 911) return 186;
|
||||
if (item == 321) return 187;
|
||||
if (item == 322) return 188;
|
||||
if (item == 943) return 189;
|
||||
if (item == 944) return 190;
|
||||
if (item == 945) return 191;
|
||||
if (item == 947) return 192;
|
||||
if (item == 948) return 193;
|
||||
if (item == 946) return 194;
|
||||
if (item == 949) return 195;
|
||||
if (item == 950) return 196;
|
||||
if (item == 951) return 197;
|
||||
if (item == 952) return 198;
|
||||
if (item == 744) return 199;
|
||||
if (item == 323) return 200;
|
||||
if (item == 799) return 201;
|
||||
if (item == 324) return 202;
|
||||
if (item == 955) return 203;
|
||||
if (item == 956) return 204;
|
||||
if (item == 957) return 205;
|
||||
if (item == 959) return 206;
|
||||
if (item == 960) return 207;
|
||||
if (item == 958) return 208;
|
||||
if (item == 961) return 209;
|
||||
if (item == 962) return 210;
|
||||
if (item == 965) return 211;
|
||||
if (item == 966) return 212;
|
||||
if (item == 963) return 213;
|
||||
if (item == 964) return 214;
|
||||
if (item == 703) return 215;
|
||||
if (item == 727) return 216;
|
||||
if (item == 743) return 217;
|
||||
if (item == 731) return 218;
|
||||
if (item == 732) return 219;
|
||||
if (item == 733) return 220;
|
||||
if (item == 734) return 221;
|
||||
if (item == 735) return 222;
|
||||
if (item == 736) return 223;
|
||||
if (item == 737) return 224;
|
||||
if (item == 738) return 225;
|
||||
if (item == 739) return 226;
|
||||
if (item == 740) return 227;
|
||||
if (item == 72) return 228;
|
||||
if (item == 73) return 229;
|
||||
if (item == 689) return 230;
|
||||
if (item == 713) return 231;
|
||||
if (item == 325) return 232;
|
||||
if (item == 326) return 233;
|
||||
if (item == 327) return 234;
|
||||
if (item == 328) return 235;
|
||||
if (item == 329) return 236;
|
||||
if (item == 330) return 237;
|
||||
if (item == 256) return 238;
|
||||
if (item == 331) return 239;
|
||||
if (item == 332) return 240;
|
||||
if (item == 347) return 241;
|
||||
if (item == 348) return 242;
|
||||
if (item == 349) return 243;
|
||||
if (item == 350) return 244;
|
||||
if (item == 351) return 245;
|
||||
if (item == 353) return 246;
|
||||
if (item == 354) return 247;
|
||||
if (item == 345) return 248;
|
||||
if (item == 346) return 249;
|
||||
if (item == 1040) return 250;
|
||||
if (item == 691) return 251;
|
||||
if (item == 501) return 252;
|
||||
if (item == 502) return 253;
|
||||
if (item == 503) return 254;
|
||||
if (item == 504) return 255;
|
||||
return 0;
|
||||
}
|
1688
src/registries.h
1688
src/registries.h
File diff suppressed because it is too large
Load Diff
2490
src/registries.json
2490
src/registries.json
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user