Create repository

This commit is contained in:
Loic Guegan 2022-02-23 18:11:55 +01:00
commit ce941c146a
127 changed files with 16162 additions and 0 deletions

146
src/MainWindow.cpp Normal file
View file

@ -0,0 +1,146 @@
#include "MainWindow.hpp"
#include "ChessArbiter.hpp"
#include "pgnp.hpp"
#include "preferences/preferences.hpp"
#include <wx/preferences.h>
wxDEFINE_EVENT(REFRESH_TAB_TITLE, wxCommandEvent);
/// ---------- MainWindow ----------
MainWindow::MainWindow()
: wxFrame(NULL, wxID_ANY, "OChess: The Open Chess software",
wxDefaultPosition, wxSize(1500, 1000)) {
CreateStatusBar();
SetStatusText("OChess");
/// File menu
wxMenu *menuFile = new wxMenu;
menuFile->Append(1, "Open", "Open file");
Bind(wxEVT_MENU, &MainWindow::OnOpen, this, 1);
menuFile->Append(4, "Settings", "Configure OChess");
Bind(wxEVT_MENU, &MainWindow::OnSettings, this, 4);
menuFile->AppendSeparator();
menuFile->Append(wxID_EXIT);
Bind(wxEVT_MENU, &MainWindow::OnExit, this, wxID_EXIT);
menuGame = new wxMenu;
menuGame->Append(2, "New", "Create new game");
Bind(wxEVT_MENU, &MainWindow::OnNewGame, this, 2);
menuGame->Append(3, "New from FEN", "Create new game using FEN");
Bind(wxEVT_MENU, &MainWindow::OnNewGame, this, 3);
menuGame->AppendSeparator();
menuGame->Append(10, "Save", "Save current game");
menuGame->Append(11, "Save As", "Save current game as");
/// Menu bar
menuBar = new wxMenuBar;
menuBar->Append(menuFile, "&File");
menuBar->Append(menuGame, "&Game");
SetMenuBar(menuBar);
// Create the wxNotebook widget
notebook = new wxAuiNotebook(this, wxID_ANY);
NewGame(new Game());
Bind(wxEVT_AUINOTEBOOK_PAGE_CHANGED, &MainWindow::OnPageChange, this,
wxID_ANY);
Bind(REFRESH_TAB_TITLE, &MainWindow::OnRefreshTabTitle, this, wxID_ANY);
}
class AdvancePage : public wxPreferencesPage {
public:
virtual wxString GetName() const { return "Topics"; }
virtual wxBitmap GetLargeIcon() {
return wxArtProvider::GetBitmap(wxART_HELP, wxART_TOOLBAR);
}
virtual wxWindow *CreateWindow(wxWindow *parent) {
wxPanel *p =
new wxPanel(parent, wxID_ANY, wxDefaultPosition, wxSize(800, 800));
wxBoxSizer *s = new wxBoxSizer(wxVERTICAL);
s->Add(new wxButton(p, COPY_FEN_BTN, L"Copy FEN"), 1, wxEXPAND);
p->SetSizer(s);
return p;
}
};
void MainWindow::OnSettings(wxCommandEvent &event) {
wxPreferencesEditor *edt = new wxPreferencesEditor("Preferences");
edt->AddPage(new BoardPrefs());
edt->Show(this);
}
void MainWindow::ApplyPreferences() {
for (int i = 0; i < notebook->GetPageCount(); i++) {
TabInfos *infos = dynamic_cast<TabInfos *>(notebook->GetPage(i));
infos->ApplyPreferences();
}
}
void MainWindow::OnExit(wxCommandEvent &event) { Close(true); }
void MainWindow::OnOpen(wxCommandEvent &event) {
wxFileDialog openFileDialog(this, _("Open file"), "", "",
"PGN files (*.pgn)|*.pgn",
wxFD_OPEN | wxFD_FILE_MUST_EXIST);
if (openFileDialog.ShowModal() != wxID_CANCEL) {
std::string path = openFileDialog.GetPath().ToStdString();
pgnp::PGN pgn;
try {
pgn.FromFile(path);
pgn.ParseNextGame();
pgnp::HalfMove *pgnp_moves = new pgnp::HalfMove();
pgn.GetMoves(pgnp_moves);
std::string fen =
"rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1";
if (pgn.HasTag("FEN")) {
fen = pgn.GetTagValue("FEN");
}
HalfMove *m = new HalfMove(pgnp_moves, fen);
NewGame(new Game(m));
} catch (...) {
SHOW_DIALOG_ERROR("Invalid PGN file");
}
}
}
void MainWindow::OnNewGame(wxCommandEvent &event) {
if (event.GetId() == 3) {
wxTextEntryDialog *dial =
new wxTextEntryDialog(NULL, wxT("Enter FEN:"), wxT("Error"));
if (dial->ShowModal() == wxID_OK) {
try {
NewGame(new Game(dial->GetValue().ToStdString()));
} catch (...) {
SHOW_DIALOG_ERROR("Invalid FEN");
}
}
} else {
NewGame(new Game());
}
}
void MainWindow::OnPageChange(wxAuiNotebookEvent &event) {
TabInfos *infos = dynamic_cast<TabInfos *>(notebook->GetCurrentPage());
if (infos->type != TabInfos::GAME) {
for (short i = 10; i < 20; i++) {
if (menuGame->FindChildItem(i) != NULL) {
menuGame->Enable(i, false);
}
}
}
}
void MainWindow::OnRefreshTabTitle(wxCommandEvent &event) {
GameTab *win = dynamic_cast<GameTab *>(event.GetEventObject());
int page = notebook->GetPageIndex(win);
if (page != wxNOT_FOUND) {
notebook->SetPageText(page, win->GetLabel());
}
}
void MainWindow::NewGame(Game *game) {
GameTab *gt = new GameTab((wxFrame *)notebook, game);
notebook->AddPage(gt, gt->GetLabel());
notebook->SetSelection(notebook->GetPageIndex(gt));
}

25
src/MainWindow.hpp Normal file
View file

@ -0,0 +1,25 @@
#include "game_tab/GameTab.hpp"
#include "ochess.hpp"
#include <wx/aui/auibook.h>
#include <wx/filedlg.h>
#include <wx/textdlg.h>
wxDECLARE_EVENT(REFRESH_TAB_TITLE, wxCommandEvent);
class MainWindow : public wxFrame {
wxAuiNotebook *notebook;
wxMenu *menuGame;
wxMenuBar *menuBar;
void OnExit(wxCommandEvent &event);
void OnNewGame(wxCommandEvent &event);
void OnOpen(wxCommandEvent &event);
void OnPageChange(wxAuiNotebookEvent &event);
void OnRefreshTabTitle(wxCommandEvent &event);
void NewGame(Game *game);
void OnSettings(wxCommandEvent &event);
public:
MainWindow();
void ApplyPreferences();
};

24
src/binres/binres.cpp Normal file
View file

@ -0,0 +1,24 @@
#include "binres.hpp"
wxBitmap LoadPNG(std::string icon, wxSize size) {
wxImage img = LoadPNG(icon).ConvertToImage();
return (wxBitmap(
img.Scale(size.GetWidth(), size.GetHeight(), wxIMAGE_QUALITY_HIGH)));
}
wxBitmap LoadPNG(std::string icon) {
if (icon == "swap") {
return (wxBITMAP_PNG(swap));
} else if (icon == "zoomin") {
return (wxBITMAP_PNG(zoomin));
} else if (icon == "zoomout") {
return (wxBITMAP_PNG(zoomout));
} else if (icon == "cburnett") {
return (wxBITMAP_PNG(cburnett));
} else if (icon == "chesscom_8bits") {
return (wxBITMAP_PNG(chesscom_8bits));
} else if (icon == "hide") {
return (wxBITMAP_PNG(hide));
}
return (wxNullBitmap);
}

12
src/binres/binres.hpp Normal file
View file

@ -0,0 +1,12 @@
#pragma once
#include "ochess.hpp"
#include "swap_png.hpp"
#include "zoomin_png.hpp"
#include "zoomout_png.hpp"
#include "cburnett_png.hpp"
#include "chesscom_8bits_png.hpp"
#include "hide_png.hpp"
wxBitmap LoadPNG(std::string icon, wxSize size);
wxBitmap LoadPNG(std::string icon);

BIN
src/binres/cburnett.png Normal file

Binary file not shown.

After

(image error) Size: 46 KiB

3974
src/binres/cburnett_png.hpp Normal file

File diff suppressed because it is too large Load diff

Binary file not shown.

After

(image error) Size: 4.7 KiB

View file

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

BIN
src/binres/hide.png Normal file

Binary file not shown.

After

(image error) Size: 1.5 KiB

133
src/binres/hide_png.hpp Normal file
View file

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

BIN
src/binres/swap.png Normal file

Binary file not shown.

After

(image error) Size: 9.4 KiB

802
src/binres/swap_png.hpp Normal file
View file

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

BIN
src/binres/visible.png Normal file

Binary file not shown.

After

(image error) Size: 6 KiB

BIN
src/binres/zoomin.png Normal file

Binary file not shown.

After

(image error) Size: 9.9 KiB

847
src/binres/zoomin_png.hpp Normal file
View file

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

BIN
src/binres/zoomout.png Normal file

Binary file not shown.

After

(image error) Size: 9.1 KiB

779
src/binres/zoomout_png.hpp Normal file
View file

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

143
src/game_tab/Game.cpp Normal file
View file

@ -0,0 +1,143 @@
#include "Game.hpp"
Game::Game() : current(NULL), moves(NULL) {
tags["White"] = "";
tags["Black"] = "";
initial_fen = "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1";
board = "rnbqkbnrpppppppp PPPPPPPPRNBQKBNR";
}
Game::Game(std::string fen) : current(NULL), moves(NULL) {
tags["White"] = "";
tags["Black"] = "";
tags["FEN"] = fen;
initial_fen = fen;
board = chessarbiter::FENParser::Parse(fen).board;
}
Game::Game(HalfMove *m) {
moves = m;
current = m;
initial_fen = m->GetFen();
board = chessarbiter::FENParser::Parse(initial_fen).board;
}
std::string Game::GetBoard() { return (board); }
std::string Game::GetTag(std::string tagname) { return (tags[tagname]); }
void Game::SetTag(std::string tagname, std::string value) {
tags[tagname] = value;
}
bool Game::IsBlackToPlay() {
if (current == NULL) {
return (false);
}
return (!current->IsBlack);
}
void Game::DeleteTag(std::string tagname) { tags.erase(tagname); }
void Game::DeleteMove(HalfMove *m) {
if (moves == m) {
current = NULL;
moves = NULL;
delete m;
} else {
if (m != NULL) {
current = m->GetParent();
if (current != NULL) {
current->RemoveChild(m);
}
delete m;
}
}
}
HalfMove *Game::GetCurrentMove() { return (current); }
HalfMove *Game::GetMoves() { return (moves); }
void Game::PromoteMove(HalfMove *m) {
if (m != NULL) {
current = m;
m->Promote();
}
}
void Game::SetMoveAsMainline(HalfMove *m) {
if (m != NULL) {
current = m;
m->SetAsMainline();
}
}
bool Game::Play(std::string move) {
wxLogDebug("Playing move %s", move);
std::string fen = GetFen();
arbiter.Setup(fen);
if (arbiter.Play(move)) {
HalfMove *m = new HalfMove(arbiter.GetSAN(), arbiter.GetFEN());
char capture = arbiter.GetCapture();
if (capture != ' ') {
wxLogDebug("%c", capture);
m->SetCapture(capture);
}
if (current != NULL) {
current->AddMove(m);
} else if (moves != NULL) {
moves->AddVariation(m);
}
current = m;
if (moves == NULL) {
moves = m;
}
wxLogDebug("%s",GetPGN());
return (true);
}
return (false);
}
void Game::Previous() {
if (current != NULL) {
current = current->GetParent();
}
}
std::vector<std::string> Game::ListTags() {
std::vector<std::string> keys;
for (auto const &element : tags) {
keys.push_back(element.first);
}
return (keys);
}
void Game::Next() {
if (current != NULL) {
HalfMove *m = current->GetMainline();
if (m != NULL) {
current = m;
}
} else {
current = moves;
}
}
void Game::SetCurrent(HalfMove *m) { current = m; }
std::string Game::GetFen() {
if (current == NULL) {
return (initial_fen);
}
return (current->GetFen());
}
std::string Game::GetPGN() {
std::string pgn;
if (moves != NULL) {
for (auto const &element : tags) {
pgn += '[' + element.first + " \"" + element.second + "\"]\n";
}
pgn += moves->GetPGN();
}
return (pgn);
}

38
src/game_tab/Game.hpp Normal file
View file

@ -0,0 +1,38 @@
#pragma once
#include "ChessArbiter.hpp"
#include "HalfMove.hpp"
#include "ochess.hpp"
#include <unordered_map>
class Game {
std::string board;
std::string initial_fen;
std::unordered_map<std::string, std::string> tags;
HalfMove *moves;
HalfMove *current;
chessarbiter::ChessArbiter arbiter;
public:
Game();
Game(std::string fen);
Game(HalfMove *m);
std::string GetBoard();
std::string GetTag(std::string tagname);
void SetTag(std::string tagname, std::string value);
void DeleteTag(std::string tagname);
HalfMove *GetCurrentMove();
HalfMove *GetMoves();
std::string GetFen();
bool Play(std::string move);
bool IsBlackToPlay();
void Previous();
void Next();
void DeleteMove(HalfMove *m);
void PromoteMove(HalfMove *m);
void SetMoveAsMainline(HalfMove *m);
void SetCurrent(HalfMove *m);
std::vector<std::string> ListTags();
std::string GetPGN();
};

52
src/game_tab/GameTab.cpp Normal file
View file

@ -0,0 +1,52 @@
#include "GameTab.hpp"
#include <wx/clipbrd.h>
wxDEFINE_EVENT(GAME_CHANGE, wxCommandEvent);
GameTab::GameTab(wxFrame *parent, Game *game)
: wxPanel(parent), game(game), TabInfos(TabInfos::GAME) {
// Splitter
wxSplitterWindow *splitter = new wxSplitterWindow(this, wxID_ANY);
splitter->SetMinimumPaneSize(100);
// Panels
board_panel = new BoardPanel((wxFrame *)splitter, game);
editor_panel = new EditorPanel((wxFrame *)splitter, game);
splitter->SplitVertically(board_panel, editor_panel);
// Setup splitter
wxBoxSizer *topSizer = new wxBoxSizer(wxHORIZONTAL);
topSizer->Add(splitter, 1, wxEXPAND);
SetSizerAndFit(topSizer);
// Refresh panels
wxCommandEvent event(REFRESH_TAB_TITLE, GetId());
event.SetEventObject(this);
OnRefreshTabTitle(event);
board_panel->Notify();
editor_panel->Notify();
Bind(REFRESH_TAB_TITLE, &GameTab::OnRefreshTabTitle, this, wxID_ANY);
Bind(GAME_CHANGE, &GameTab::OnGameChange, this, wxID_ANY);
}
void GameTab::OnGameChange(wxCommandEvent &event) {
board_panel->Notify();
editor_panel->Notify();
}
void GameTab::OnRefreshTabTitle(wxCommandEvent &event) {
std::string white = game->GetTag("White");
std::string black = game->GetTag("Black");
if (white.size() == 0 && black.size() == 0) {
SetLabel("New Game");
} else {
SetLabel(white + "-" + black);
}
event.SetEventObject(this);
event.Skip();
}
void GameTab::ApplyPreferences() {
board_panel->ApplyPreferences();
}

28
src/game_tab/GameTab.hpp Normal file
View file

@ -0,0 +1,28 @@
#pragma once
#include "ChessArbiter.hpp"
#include "Game.hpp"
#include "HalfMove.hpp"
#include "board/BoardPanel.hpp"
#include "editor/EditorPanel.hpp"
#include "ochess.hpp"
#include <utility>
#include <wx/collpane.h>
#include <wx/splitter.h>
#include <wx/textctrl.h>
wxDECLARE_EVENT(REFRESH_TAB_TITLE, wxCommandEvent);
wxDECLARE_EVENT(GAME_CHANGE, wxCommandEvent);
class GameTab : public wxPanel, public TabInfos {
EditorPanel *editor_panel;
BoardPanel *board_panel;
Game *game;
void RefreshLabel();
void OnRefreshTabTitle(wxCommandEvent &event);
void OnGameChange(wxCommandEvent &event);
public:
GameTab(wxFrame *parent, Game *game);
void ApplyPreferences();
};

213
src/game_tab/HalfMove.cpp Normal file
View file

@ -0,0 +1,213 @@
#include "HalfMove.hpp"
HalfMove::HalfMove(std::string move) : capture(' ') {
this->move = move;
fen = "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1";
}
HalfMove::HalfMove(std::string move, std::string fen) : fen(fen), capture(' ') {
this->move = move;
}
HalfMove::~HalfMove() {
for (HalfMove *m : variations) {
delete m;
}
}
void HalfMove::AddVariation(HalfMove *m) {
m->IsBlack = this->IsBlack;
m->Number = this->Number;
HalfMove::variations.push_back(m);
cgeditor::CGEHalfMove::variations.push_back(m);
m->SetParent(this);
}
std::map<char, std::uint8_t> HalfMove::GetLineCaptures() {
std::map<char, std::uint8_t> captures;
HalfMove *m = this;
do {
char c = m->capture;
if (captures.find(c) != captures.end()) {
captures[c]++;
} else {
captures[c] = 1;
}
m = m->parent;
} while (m != NULL);
return (captures);
}
void HalfMove::SetCapture(char c) { capture = c; }
void HalfMove::AddMove(HalfMove *m) {
if (this->mainline == NULL) {
SetMainline(m);
} else {
if (mainline != NULL) {
mainline->AddVariation(m);
}
}
}
void HalfMove::SetMainline(HalfMove *m) {
if (!this->IsBlack) {
m->IsBlack = true;
m->Number = this->Number;
} else {
m->IsBlack = false;
m->Number = this->Number + 1;
}
HalfMove::mainline = m;
cgeditor::CGEHalfMove::MainLine = m;
if (m != NULL) {
m->SetParent(this);
}
}
void HalfMove::SetParent(HalfMove *m) {
HalfMove::parent = m;
CGEHalfMove::Parent = m;
}
void HalfMove::RemoveChild(HalfMove *m) {
std::uint32_t i = 0;
bool found = false;
for (i; i < HalfMove::variations.size(); i++) {
if (HalfMove::variations[i] == m) {
found = true;
break;
}
}
if (found) {
HalfMove::variations.erase(HalfMove::variations.begin() + i);
}
if (HalfMove::mainline == m) {
HalfMove::mainline = NULL;
}
cgeditor::CGEHalfMove::RemoveChild((CGEHalfMove *)m);
}
HalfMove *HalfMove::GetParent() { return (parent); }
HalfMove *HalfMove::GetRoot() {
HalfMove *m = this;
HalfMove *p = HalfMove::parent;
while (p != NULL) {
if (p->mainline != m) {
return (m);
}
m = p;
p = m->HalfMove::parent;
}
return (m);
}
void HalfMove::SetAsMainline() {
HalfMove *root = GetRoot();
HalfMove *lastRoot;
do {
lastRoot = root;
root->HalfMove::Promote();
root = GetRoot();
} while (root != lastRoot);
}
HalfMove *HalfMove::GetMainline() { return (mainline); }
HalfMove::HalfMove(pgnp::HalfMove *m, std::string initial_fen) {
chessarbiter::ChessArbiter arbiter;
arbiter.Setup(initial_fen);
arbiter.Play(arbiter.ParseSAN(m->move));
this->fen = arbiter.GetFEN();
this->move = m->move;
this->IsBlack = m->isBlack;
this->SetComment(m->comment);
this->Number = m->count;
if (m->MainLine != NULL) {
this->SetMainline(new HalfMove(m->MainLine, arbiter.GetFEN()));
}
for (pgnp::HalfMove *v : m->variations) {
arbiter.Setup(initial_fen);
arbiter.Play(arbiter.ParseSAN(v->move));
this->AddVariation(new HalfMove(v, arbiter.GetFEN()));
}
}
void HalfMove::SetFen(std::string fen) { this->fen = fen; }
void HalfMove::Promote() {
HalfMove *root = GetRoot();
if (root->parent != NULL) {
HalfMove *p = root->parent;
if (p->HalfMove::mainline != root) {
if (root->parent->HalfMove::parent != NULL) {
HalfMove *pp = root->parent->HalfMove::parent;
if (pp->HalfMove::mainline == p) {
pp->HalfMove::SetMainline(root);
} else {
pp->AddVariation(root);
pp->HalfMove::RemoveChild(p);
}
}
if (p->HalfMove::mainline == root) {
p->HalfMove::SetMainline(NULL);
} else {
p->HalfMove::RemoveChild(root);
}
root->AddVariation(p);
}
}
}
bool HalfMove::IsVariation() {
HalfMove *m = this;
HalfMove *p = HalfMove::parent;
while (p != NULL) {
if (p->mainline != m) {
return (true);
}
m = p;
p = m->HalfMove::parent;
}
return (false);
}
std::string HalfMove::GetFen() { return (fen); }
std::string HalfMove::GetPGN() { return (GetPGN(IsBlack)); }
std::string HalfMove::GetPGN(bool needDots) {
std::string part;
bool newNeedDots = false;
if (!IsBlack || needDots) {
part += std::to_string(Number) + ".";
if (needDots) {
part += "..";
}
}
part += move;
if (GetNbLineComment() > 0) {
part += " {";
part += GetComment();
part += "}";
newNeedDots = true;
}
if (variations.size() > 0) {
newNeedDots = true;
for (HalfMove *v : variations) {
part += " (";
part += v->GetPGN(IsBlack);
part += ")";
}
}
if (mainline != NULL) {
part += " " + mainline->GetPGN(newNeedDots);
}
return (part);
}

57
src/game_tab/HalfMove.hpp Normal file
View file

@ -0,0 +1,57 @@
#pragma once
#include "CGEditor.hpp"
#include "ChessArbiter.hpp"
#include "ochess.hpp"
#include "pgnp.hpp"
#include <map>
#include <vector>
/**
* @brief Create your custom half move class
*
* The implementation of the class should give you
* an overview of how to keep your move sync with the one of CGEditor
*
*/
class HalfMove : public cgeditor::CGEHalfMove {
HalfMove *parent = NULL;
HalfMove *mainline = NULL;
std::vector<HalfMove *> variations;
std::string fen;
char capture;
std::string GetPGN(bool needDots);
public:
HalfMove(std::string move);
HalfMove(std::string move, std::string fen);
HalfMove(pgnp::HalfMove *m, std::string initial_fen);
~HalfMove();
/// @brief Add variation to current move
void AddVariation(HalfMove *m);
/// @brief Remove the specified child from mainline and/or variations
void RemoveChild(HalfMove *m);
void AddMove(HalfMove *m);
/// @brief Set value of the mailine
void SetMainline(HalfMove *m);
/// @brief Set this move as mainline
void SetAsMainline();
/// @brief Promote the current move and submove
void Promote();
/// @brief Check if current half move is within a variation
bool IsVariation();
/// @brief Get the root of a variation
HalfMove *GetRoot();
/// @brief Get parent of the current move
HalfMove *GetParent();
HalfMove *GetMainline();
std::map<char, std::uint8_t> GetLineCaptures();
/// @brief Set parent of the current move
void SetParent(HalfMove *m);
std::string GetFen();
void SetFen(std::string fen);
void SetCapture(char c);
std::string GetPGN();
};

View file

@ -0,0 +1,294 @@
#include "BoardCanvas.hpp"
wxDEFINE_EVENT(PLAY_MOVE_EVENT, wxCommandEvent);
BoardCanvas::BoardCanvas(wxFrame *parent)
: wxPanel(parent), black_side(false), is_black_turn(true), frozen(false),
lock_square_size(false), t(new Theme()), t_captures(new Theme()) {
board = "rnbqkbnrpppppppp PPPPPPPPRNBQKBNR";
is_dragging = false;
valid_drag = false;
t_captures->ResizePieces(t->GetPiecesSizes() * CAPTURE_FACTOR);
SetClockTime(-1, -1, -1, false);
SetClockTime(-1, -1, -1, true);
ApplyPreferences();
}
BoardCanvas::BoardCanvas(wxFrame *parent, std::uint32_t square_width,
bool frozen)
: BoardCanvas(parent) {
t->ResizeSquaresAndPieces(square_width);
t_captures->ResizePieces(t->GetPiecesSizes() * CAPTURE_FACTOR);
this->frozen = true;
lock_square_size = true;
}
void BoardCanvas::OnPaint(wxPaintEvent &event) {
wxPaintDC dc(this);
REFRESH_MOUSE_LOCATION();
square_width = t->GetSquaresSizes();
canvas_size = dc.GetSize();
boardX = (canvas_size.x - (8 * square_width)) / 2;
boardY = (canvas_size.y - (8 * square_width)) / 2;
if (boardX > canvas_size.x)
boardX = 0;
if (boardY > canvas_size.y)
boardY = 0;
DrawBoard(dc);
}
void BoardCanvas::ApplyPreferences() {
if (t != NULL)
delete t;
if (t_captures != NULL)
delete t_captures;
t = new Theme();
t_captures = new Theme();
CONFIG_OPEN(config);
black_side = config->Read("board/black_by_default", false);
if (lock_square_size) {
t->ResizeSquaresAndPieces(square_width);
} else {
t->ResizeSquaresAndPieces(config->Read("board/square_size", 80));
}
t->SetSquareRadius(config->Read("board/corner_radius", 10));
t_captures->ResizePieces(t->GetPiecesSizes() * CAPTURE_FACTOR);
CONFIG_CLOSE(config);
Refresh();
}
void BoardCanvas::SetupBoard(std::string board, bool is_black_turn,
std::map<char, std::uint8_t> captures) {
this->board = board;
this->is_black_turn = is_black_turn;
this->captures = captures;
Refresh();
}
void BoardCanvas::DrawBoard(wxPaintDC &dc) {
std::uint32_t piece_width = t->GetPiecesSizes();
std::uint32_t centrer_offset = (square_width - piece_width) / 2;
bool DrawDraggingPiece = false;
char dp = 'p';
std::uint32_t dpx = 0, dpy = 0;
for (std::int8_t file = 7; file >= 0; file--) {
for (std::uint8_t rank = 0; rank <= 7; rank++) {
std::uint32_t x = boardX + (7 - file) * square_width;
std::uint32_t y = boardY + rank * square_width;
if ((file + rank) % 2 == 0) {
if (file == 0 && rank == 0) {
dc.DrawBitmap(*t->Get('1'), x, y, true);
} else if (file == 7 && rank == 7) {
dc.DrawBitmap(*t->Get('2'), x, y, true);
} else {
dc.DrawBitmap(*t->Get('s'), x, y, true);
}
} else {
if (file == 7 && rank == 0) {
dc.DrawBitmap(*t->Get('0'), x, y, true);
} else if (file == 0 && rank == 7) {
dc.DrawBitmap(*t->Get('3'), x, y, true);
} else {
dc.DrawBitmap(*t->Get('S'), x, y, true);
}
}
std::uint8_t prank = rank;
std::uint8_t pfile = file;
if (black_side) {
prank = 7 - rank;
pfile = 7 - file;
}
std::uint32_t px = x + centrer_offset;
std::uint32_t py = y + centrer_offset;
char piece = board[(7 - pfile) + 8 * prank];
if (is_dragging && (7 - pfile) == active_square.x &&
(7 - prank) == active_square.y) {
dp = piece;
dpx = px - (lastClickX - mouseX);
dpy = py - (lastClickY - mouseY);
DrawDraggingPiece = true;
continue;
}
if (piece != ' ') {
dc.DrawBitmap(*t->Get(piece), px, py, false);
}
}
}
// Draw badge
dc.SetPen(wxPen(*wxBLACK, 3));
std::uint32_t badgeY = boardY;
std::uint32_t badgeWidth = square_width / 2;
if (is_black_turn) {
dc.SetBrush(*wxBLACK_BRUSH);
if (black_side) {
badgeY = boardY + (8 * square_width) - badgeWidth;
}
} else {
dc.SetBrush(*wxWHITE_BRUSH);
if (!black_side) {
badgeY = boardY + (8 * square_width) - badgeWidth;
}
}
wxRect badge(boardX + (8 * square_width) + badgeWidth / 2, badgeY, badgeWidth,
badgeWidth);
dc.DrawRectangle(badge);
// Draw captures first for white then for black
std::uint32_t captures_size = t_captures->GetPiecesSizes();
std::uint8_t padding = 10;
std::uint32_t offsetX = 0;
std::uint32_t offsetY = -(captures_size + padding);
if (black_side) {
offsetY = 8 * square_width + padding;
}
for (char p : {'P', 'N', 'B', 'R', 'Q'}) {
if (captures.find(p) != captures.end()) {
for (std::uint8_t i = 0; i < captures[p]; i++) {
dc.DrawBitmap(*t_captures->Get(p), boardX + offsetX, boardY + offsetY);
offsetX += captures_size / 2;
}
offsetX += captures_size / 2;
}
}
offsetX = 0;
if (black_side) {
offsetY = -(captures_size + padding);
} else {
offsetY = 8 * square_width + padding;
}
for (char p : {'p', 'n', 'b', 'r', 'q'}) {
if (captures.find(p) != captures.end()) {
for (std::uint8_t i = 0; i < captures[p]; i++) {
dc.DrawBitmap(*t_captures->Get(p), boardX + offsetX, boardY + offsetY);
offsetX += captures_size / 2;
}
offsetX += captures_size / 2;
}
}
// Draw dragging piece
if (DrawDraggingPiece) {
dc.DrawBitmap(*t->Get(dp), dpx, dpy, false);
}
// Draw numbers
for (char l = 'a'; l < 'a' + 8; l++) {
dc.DrawText(wxString(l), wxPoint(boardX + l - 'a' * square_width,
boardY + 8 * square_width + 10));
}
// Draw Clocks
if (std::get<0>(black_time) >= 0) {
wxFont font = dc.GetFont();
ClockTime clock = black_side ? white_time : black_time;
wxString time =
wxString::Format("%ds", std::get<1>(clock), std::get<2>(clock));
if (std::get<0>(clock) > 0) {
time = wxString::Format("%d:%d", std::get<0>(clock), std::get<1>(clock));
} else if (std::get<1>(clock) > 0) {
time = wxString::Format("%d:%ds", std::get<1>(clock), std::get<2>(clock));
}
dc.SetFont(font.Scale(1.5).MakeBold());
wxCoord width, height;
dc.GetTextExtent(time, &width, &height);
dc.DrawText(time,
wxPoint(boardX + square_width * 8 - width, boardY - height));
clock = black_side ? black_time : white_time;
time = wxString::Format("%ds", std::get<1>(clock), std::get<2>(clock));
if (std::get<0>(clock) > 0) {
time = wxString::Format("%d:%d", std::get<0>(clock), std::get<1>(clock));
} else if (std::get<1>(clock) > 0) {
time = wxString::Format("%d:%ds", std::get<1>(clock), std::get<2>(clock));
}
dc.GetTextExtent(time, &width, &height);
dc.DrawText(time, wxPoint(boardX + square_width * 8 - width,
boardY + square_width * 8));
}
}
void BoardCanvas::MouseEvent(wxMouseEvent &event) {
if (!frozen) {
if (event.Dragging()) {
if (valid_drag) {
is_dragging = true;
Refresh();
}
} else {
if (is_dragging) {
is_dragging = false;
valid_drag = false;
// Handle drop
REFRESH_MOUSE_LOCATION();
INIT_CURRENT_SQUARE();
if (IsCurrentSquareValid) {
wxLogDebug("Drag end on square (%d,%d)", file, rank);
/// Play the move
wxCommandEvent event(PLAY_MOVE_EVENT, GetId());
event.SetEventObject(this);
std::string move = ((char)('a' + active_square.x)) +
std::to_string(+active_square.y + 1) +
((char)('a' + file)) + std::to_string(rank + 1);
event.SetString(move);
ProcessEvent(event);
}
}
if (event.LeftDown()) {
SetFocus();
REFRESH_MOUSE_LOCATION();
lastClickX = mouseX;
lastClickY = mouseY;
INIT_CURRENT_SQUARE();
if (IsCurrentSquareValid) {
active_square.x = file;
active_square.y = rank;
if (board[(7 - rank) * 8 + file] != ' ') {
wxLogDebug("Drag start on square (%d,%d)", file, rank);
valid_drag = true;
}
}
}
}
}
}
void BoardCanvas::Zoom(std::int32_t zoom) {
t->Zoom(zoom);
t_captures->ResizePieces(t->GetPiecesSizes() * CAPTURE_FACTOR);
Refresh();
}
void BoardCanvas::Swap() {
black_side = !black_side;
Refresh();
}
void BoardCanvas::OnKeyEvent(wxKeyEvent &event) {
if (event.GetKeyCode() == WXK_LEFT) {
wxCommandEvent previousEvent(PREVIOUS_MOVE_EVENT, GetId());
previousEvent.SetEventObject(this);
ProcessEvent(previousEvent);
} else if (event.GetKeyCode() == WXK_RIGHT) {
wxCommandEvent nextEvent(NEXT_MOVE_EVENT, GetId());
nextEvent.SetEventObject(this);
ProcessEvent(nextEvent);
}
}
void BoardCanvas::SetClockTime(short hours, short min, short sec,
bool IsBlack) {
if (IsBlack) {
black_time = std::make_tuple(hours, min, sec);
} else {
white_time = std::make_tuple(hours, min, sec);
}
}
wxBEGIN_EVENT_TABLE(BoardCanvas, wxPanel) EVT_PAINT(BoardCanvas::OnPaint)
EVT_MOUSE_EVENTS(BoardCanvas::MouseEvent)
EVT_CHAR_HOOK(BoardCanvas::OnKeyEvent) wxEND_EVENT_TABLE()

View file

@ -0,0 +1,68 @@
#pragma once
#include "Theme.hpp"
#include "ochess.hpp"
#include <map>
#include <tuple>
#include <utility>
#include <vector>
#include <wx/artprov.h>
// Local events
wxDECLARE_EVENT(PLAY_MOVE_EVENT, wxCommandEvent);
// Foreign events
wxDECLARE_EVENT(PREVIOUS_MOVE_EVENT, wxCommandEvent);
wxDECLARE_EVENT(NEXT_MOVE_EVENT, wxCommandEvent);
#define REFRESH_MOUSE_LOCATION() \
{ \
const wxPoint pt = wxGetMousePosition(); \
mouseX = pt.x - this->GetScreenPosition().x; \
mouseY = pt.y - this->GetScreenPosition().y; \
}
#define INIT_CURRENT_SQUARE() \
std::uint32_t file = 7 - (mouseX - boardX) / square_width; \
std::uint32_t rank = (mouseY - boardY) / square_width; \
if (!black_side) { \
file = 7 - file; \
rank = 7 - rank; \
} \
bool IsCurrentSquareValid = file >= 0 && file <= 7 && rank >= 0 && rank <= 7;
#define MOUSE_ON(x, y, width, height) \
(mouseX >= (x) && mouseX <= ((x) + (width)) && mouseY >= (y) && \
mouseY <= ((y) + (height)))
#define CAPTURE_FACTOR 0.5
typedef std::tuple<short, short, short> ClockTime;
class BoardCanvas : public wxPanel {
Theme *t, *t_captures;
std::string board;
bool black_side, is_dragging, valid_drag, is_black_turn;
std::uint32_t boardX, boardY, square_width, mouseX, mouseY, lastClickX,
lastClickY;
wxSize canvas_size;
wxPoint active_square;
std::map<char, std::uint8_t> captures;
ClockTime black_time, white_time;
bool frozen,lock_square_size;
public:
BoardCanvas(wxFrame *parent);
BoardCanvas(wxFrame *parent,std::uint32_t square_width, bool frozen);
void ApplyPreferences();
void DrawBoard(wxPaintDC &dc);
void OnPaint(wxPaintEvent &event);
void OnKeyEvent(wxKeyEvent &event);
void MouseEvent(wxMouseEvent &event);
void Zoom(std::int32_t zoom);
void Swap();
void SetupBoard(std::string board, bool is_black_turn,
std::map<char, std::uint8_t> captures);
void SetClockTime(short hours, short min, short sec, bool IsBlack);
DECLARE_EVENT_TABLE()
};

View file

@ -0,0 +1,96 @@
#include "BoardPanel.hpp"
#include <wx/clipbrd.h>
BoardPanel::BoardPanel(wxFrame *parent, Game *game)
: wxPanel(parent), game(game) {
wxBoxSizer *board_panel_sizer = new wxBoxSizer(wxVERTICAL);
board_canvas = new BoardCanvas((wxFrame *)this);
board_panel_sizer->Add(board_canvas, 1, wxEXPAND);
// Left Panel buttons
wxBoxSizer *board_panel_button_sizer = new wxBoxSizer(wxHORIZONTAL);
board_panel_button_sizer->Add(
new wxBitmapButton(this, SWAP_BTN, LoadPNG("swap")), 0);
board_panel_button_sizer->Add(
new wxBitmapButton(this, ZOOM_IN_BTN, LoadPNG("zoomin")), 0);
board_panel_button_sizer->Add(
new wxBitmapButton(this, ZOOM_OUT_BTN, LoadPNG("zoomout")), 0);
board_panel_button_sizer->Add(new wxButton(this, COPY_FEN_BTN, L"Copy FEN"),
0, wxEXPAND);
board_panel_sizer->Add(board_panel_button_sizer, 0);
this->SetSizer(board_panel_sizer);
Bind(PLAY_MOVE_EVENT, &BoardPanel::OnPlay, this, wxID_ANY);
Bind(PREVIOUS_MOVE_EVENT, &BoardPanel::OnPreviousMove, this, wxID_ANY);
Bind(NEXT_MOVE_EVENT, &BoardPanel::OnNextMove, this, wxID_ANY);
Bind(wxEVT_BUTTON, &BoardPanel::OnSwap, this, SWAP_BTN);
Bind(wxEVT_BUTTON, &BoardPanel::OnZoomIn, this, ZOOM_IN_BTN);
Bind(wxEVT_BUTTON, &BoardPanel::OnZoomOut, this, ZOOM_OUT_BTN);
Bind(wxEVT_BUTTON, &BoardPanel::OnCopyFEN, this, COPY_FEN_BTN);
}
void BoardPanel::OnPreviousMove(wxCommandEvent &event) {
game->Previous();
Notify();
NotifyEditor();
}
void BoardPanel::OnZoomIn(wxCommandEvent &event) {
wxLogDebug("Clicked on zoom in");
board_canvas->Zoom(10);
}
void BoardPanel::OnZoomOut(wxCommandEvent &event) {
wxLogDebug("Clicked on zoom out");
board_canvas->Zoom(-10);
}
void BoardPanel::OnSwap(wxCommandEvent &event) {
wxLogDebug("Clicked on swap");
board_canvas->Swap();
}
void BoardPanel::OnNextMove(wxCommandEvent &event) {
wxLogDebug("Game tab received NEXT_MOVE_EVENT");
game->Next();
Notify();
NotifyEditor();
}
void BoardPanel::OnPlay(wxCommandEvent &event) {
wxLogDebug("Game tab received PLAY_MOVE_EVENT");
if (game->Play(event.GetString().ToStdString())) {
NotifyEditor();
}
Notify();
}
void BoardPanel::OnCopyFEN(wxCommandEvent &event) {
wxLogDebug("Clicked on copy fen");
if (wxTheClipboard->Open()) {
wxTheClipboard->SetData(new wxTextDataObject(game->GetFen()));
wxTheClipboard->Close();
}
}
void BoardPanel::Notify() {
std::string fen = game->GetFen();
std::map<char, std::uint8_t> captures;
HalfMove *m = game->GetCurrentMove();
if (m != NULL) {
captures = m->GetLineCaptures();
}
board_canvas->SetupBoard(chessarbiter::FENParser::Parse(fen).board,
game->IsBlackToPlay(), captures);
}
void BoardPanel::NotifyEditor() {
wxCommandEvent previousEvent(GAME_CHANGE, GetId());
previousEvent.SetEventObject(this);
ProcessEvent(previousEvent);
}
void BoardPanel::ApplyPreferences() {
board_canvas->ApplyPreferences();
}

View file

@ -0,0 +1,30 @@
#pragma once
#include "../Game.hpp"
#include "BoardCanvas.hpp"
#include "ochess.hpp"
// Foreign events
wxDECLARE_EVENT(GAME_CHANGE, wxCommandEvent);
enum { COPY_FEN_BTN = wxID_HIGHEST + 1, ZOOM_IN_BTN, ZOOM_OUT_BTN, SWAP_BTN };
class BoardPanel : public wxPanel {
Game *game;
BoardCanvas *board_canvas;
void NotifyEditor();
public:
BoardPanel(wxFrame *parent, Game *game);
void Notify();
void OnPlay(wxCommandEvent &event);
void OnGotoMove(wxCommandEvent &event);
void OnPreviousMove(wxCommandEvent &event);
void OnNextMove(wxCommandEvent &event);
void OnCopyFEN(wxCommandEvent &event);
void OnZoomIn(wxCommandEvent &event);
void OnZoomOut(wxCommandEvent &event);
void OnSwap(wxCommandEvent &event);
void OnRefreshBoard(wxCommandEvent &event);
void ApplyPreferences();
};

View file

@ -0,0 +1,184 @@
#include "Theme.hpp"
#include <wx/filename.h>
Theme::Theme() : square_radius(10) {
// Load config
CONFIG_OPEN(config);
std::string piece =
config->Read("board/theme/pieces/path", "default").ToStdString();
wxFileName piece_file(piece);
std::string square =
config->Read("board/theme/squares/path", "default").ToStdString();
wxFileName square_file(square);
CONFIG_CLOSE(config);
// Piece
if (piece == "default" || !piece_file.FileExists()) {
wxLogDebug("Loading piece skin from binres");
LoadPiecesSkin(LoadPNG("cburnett").ConvertToImage());
} else {
wxLogDebug("Loading piece skin: %s", piece);
LoadPiecesSkin(wxImage(piece, wxBITMAP_TYPE_PNG));
}
// Square
if (square == "default" || !square_file.FileExists()) {
wxLogDebug("Loading square skin from binres");
LoadSquaresSkin(LoadPNG("chesscom_8bits").ConvertToImage());
} else {
wxLogDebug("Loading square skin: %s", square);
LoadSquaresSkin(wxImage(square, wxBITMAP_TYPE_PNG));
}
}
Theme::Theme(std::string piece, std::string square) : square_radius(10) {
wxLogDebug("Loading piece skin: %s", piece);
LoadPiecesSkin(wxImage(piece, wxBITMAP_TYPE_PNG));
wxLogDebug("Loading square skin: %s", square);
LoadSquaresSkin(wxImage(square, wxBITMAP_TYPE_PNG));
}
Theme::~Theme() {
for (std::pair<char, wxBitmap *> c : skin_scaled) {
delete c.second;
}
}
std::uint8_t Theme::GetSquareRadius() { return (square_radius); }
void Theme::LoadPiecesSkin(wxImage iskin) {
if (iskin.GetWidth() != 2 * ELT_DIM || iskin.GetHeight() != 6 * ELT_DIM) {
throw "Invalid piece theme";
}
int offset = 0;
// Kings
skin['k'] = iskin.GetSubImage(wxRect(0, offset, ELT_DIM, ELT_DIM));
skin['K'] = iskin.GetSubImage(wxRect(ELT_DIM, offset, ELT_DIM, ELT_DIM));
// Queen
offset = ELT_DIM;
skin['q'] = iskin.GetSubImage(wxRect(0, offset, ELT_DIM, ELT_DIM));
skin['Q'] = iskin.GetSubImage(wxRect(ELT_DIM, offset, ELT_DIM, ELT_DIM));
// Rook
offset = ELT_DIM * 2;
skin['r'] = iskin.GetSubImage(wxRect(0, offset, ELT_DIM, ELT_DIM));
skin['R'] = iskin.GetSubImage(wxRect(ELT_DIM, offset, ELT_DIM, ELT_DIM));
// Bishop
offset = ELT_DIM * 3;
skin['b'] = iskin.GetSubImage(wxRect(0, offset, ELT_DIM, ELT_DIM));
skin['B'] = iskin.GetSubImage(wxRect(ELT_DIM, offset, ELT_DIM, ELT_DIM));
// Knight
offset = ELT_DIM * 4;
skin['n'] = iskin.GetSubImage(wxRect(0, offset, ELT_DIM, ELT_DIM));
skin['N'] = iskin.GetSubImage(wxRect(ELT_DIM, offset, ELT_DIM, ELT_DIM));
// Pawn
offset = ELT_DIM * 5;
skin['p'] = iskin.GetSubImage(wxRect(0, offset, ELT_DIM, ELT_DIM));
skin['P'] = iskin.GetSubImage(wxRect(ELT_DIM, offset, ELT_DIM, ELT_DIM));
// Update scaled version
ResizePieces(DEFAULT_SIZE * PIECE_SIZE_FACTOR);
}
void Theme::LoadSquaresSkin(wxImage iskin) {
if (iskin.GetWidth() != 2 * ELT_DIM || iskin.GetHeight() != ELT_DIM) {
throw "Invalid piece theme";
}
// Square
skin['s'] = iskin.GetSubImage(wxRect(0, 0, ELT_DIM, ELT_DIM));
skin['S'] = iskin.GetSubImage(wxRect(ELT_DIM, 0, ELT_DIM, ELT_DIM));
// Update scaled version
ResizeSquares(DEFAULT_SIZE);
}
wxBitmap *Theme::Get(char c) { return (skin_scaled[c]); }
void Theme::ResizePieces(std::uint32_t width) {
for (std::pair<char, wxImage> c : skin) {
if (c.first != 's' && c.first != 'S') {
if (skin_scaled.count(c.first))
delete skin_scaled[c.first];
skin_scaled[c.first] =
new wxBitmap(c.second.Scale(width, width, wxIMAGE_QUALITY_HIGH));
}
}
}
void Theme::ResizeSquaresAndPieces(std::uint32_t width) {
ResizeSquares(width);
ResizePieces(width * PIECE_SIZE_FACTOR);
}
void Theme::ResizeSquares(std::uint32_t width) {
if (skin_scaled.count('s'))
delete skin_scaled['s'];
skin_scaled['s'] =
new wxBitmap(skin['s'].Scale(width, width, wxIMAGE_QUALITY_HIGH));
if (skin_scaled.count('S'))
delete skin_scaled['S'];
skin_scaled['S'] =
new wxBitmap(skin['S'].Scale(width, width, wxIMAGE_QUALITY_HIGH));
skin_scaled['0'] = new wxBitmap(*skin_scaled['S']);
skin_scaled['1'] = new wxBitmap(*skin_scaled['s']);
skin_scaled['2'] = new wxBitmap(*skin_scaled['s']);
skin_scaled['3'] = new wxBitmap(*skin_scaled['S']);
skin_scaled['0']->SetMask(RoundedMask(width, 0));
skin_scaled['1']->SetMask(RoundedMask(width, 1));
skin_scaled['2']->SetMask(RoundedMask(width, 2));
skin_scaled['3']->SetMask(RoundedMask(width, 3));
}
void Theme::Zoom(int amount) {
double width = skin_scaled['s']->GetWidth() + amount;
ResizeSquares(std::max(width, 1.0));
ResizePieces(std::max(width * PIECE_SIZE_FACTOR, 1.0));
}
void Theme::SetSquareRadius(std::uint8_t radius) {
square_radius = radius;
Zoom(0); // Refresh scale
}
/**
* This will never fail since k entry always exists (cf constructor and
* ResizePieces)
*/
double Theme::GetPiecesSizes() { return (skin_scaled['k']->GetWidth()); }
/**
* This will never fail since s entry always exists (cf constructor and
* ResizeSquares)
*/
double Theme::GetSquaresSizes() { return (skin_scaled['s']->GetWidth()); }
wxMask *Theme::RoundedMask(std::uint32_t width, std::uint8_t corner) {
wxBitmap b(width, width, 1);
wxMemoryDC dc;
dc.SelectObject(b);
dc.SetPen(*wxBLACK_PEN);
dc.SetBrush(*wxBLACK_BRUSH);
dc.DrawRectangle(0, 0, width, width);
dc.SetBrush(*wxWHITE_BRUSH);
dc.SetPen(*wxWHITE_PEN);
dc.DrawRoundedRectangle(0, 0, width, width, square_radius);
dc.SetBrush(*wxWHITE_BRUSH);
dc.SetPen(*wxWHITE_PEN);
if (corner == 0) {
dc.DrawRectangle(0, width / 2, width, width);
dc.DrawRectangle(width / 2, 0, width, width);
} else if (corner == 1) {
dc.DrawRectangle(0, 0, width / 2, width);
dc.DrawRectangle(0, width / 2, width, width);
} else if (corner == 2) {
dc.DrawRectangle(0, 0, width, width / 2);
dc.DrawRectangle(width / 2, 0, width, width);
} else if (corner == 3) {
dc.DrawRectangle(0, 0, width / 2, width);
dc.DrawRectangle(0, 0, width, width / 2);
}
return (new wxMask(b));
}

View file

@ -0,0 +1,37 @@
#pragma once
#include "ochess.hpp"
#include <string>
#include <unordered_map>
#define ELT_DIM 200
#define DEFAULT_SIZE 80
#define PIECE_SIZE_FACTOR 0.8 // Should be between 0 and 1
#define DEFAULT_PIECE_THEME "assets/pieces/cburnett.png"
#define DEFAULT_SQUARE_THEME "assets/boards/chesscom_8bits.png"
class Theme {
private:
std::unordered_map<char, wxImage> skin;
std::unordered_map<char, wxBitmap *> skin_scaled;
std::uint8_t square_radius;
wxMask *RoundedMask(std::uint32_t width, std::uint8_t corner);
public:
Theme();
Theme(std::string piece, std::string square);
~Theme();
void LoadPiecesSkin(wxImage skin);
void LoadSquaresSkin(wxImage iskin);
void ResizePieces(std::uint32_t width);
void ResizeSquares(std::uint32_t width);
void ResizeSquaresAndPieces(std::uint32_t width);
void SetSquareRadius(std::uint8_t radius);
std::uint8_t GetSquareRadius();
void Zoom(int amount);
double GetPiecesSizes();
double GetSquaresSizes();
wxBitmap *Get(char c);
};

View file

@ -0,0 +1,186 @@
#include "EditorCanvas.hpp"
EditorCanvas::EditorCanvas(wxFrame *parent)
: wxPanel(parent), NeedRedraw(false) {
hide_icon = LoadPNG("hide", wxSize(CGEditor::status.MoveIconWidth,
CGEditor::status.MoveIconWidth));
t.ResizePieces(CGEditor::status.MoveIconWidth);
}
void EditorCanvas::OnPaint(wxPaintEvent &event) {
wxPaintDC current_dc(this);
dc = &current_dc;
// Refresh canvas size
wxSize sz = GetClientSize();
CGEditor::status.CanvasWidth = sz.GetWidth();
CGEditor::status.CanvasHeight = sz.GetHeight();
CGEditor::status.UseMoveIcons =
true; // Piece image should be drawn before the move ?
const wxPoint pt = wxGetMousePosition();
CGEditor::status.MouseX = pt.x - this->GetScreenPosition().x;
CGEditor::status.MouseY = pt.y - this->GetScreenPosition().y;
CGEditor::Draw();
}
/**
* @brief Convenient fonction to center text
*
* @param e Element to center
* @return wxPoint The centered version of e according to wdWidget API
*/
wxPoint EditorCanvas::Middle(cgeditor::Element e) {
wxSize sz = dc->GetTextExtent(e.text);
return (wxPoint(e.x + (e.width - sz.GetWidth()) / 2,
e.y + (e.height - sz.GetHeight()) / 2));
}
void EditorCanvas::DrawElement(const cgeditor::Element &e) {
dc->SetPen(wxNullPen);
dc->SetBrush(*wxRED_BRUSH);
if (e.prop & cgeditor::Property::Rectangle) {
if (e.prop & cgeditor::Property::Scrollbarbg) {
dc->SetBrush(*wxCYAN_BRUSH);
} else if (e.prop & cgeditor::Property::Scrollbar) {
dc->SetBrush(*wxGREY_BRUSH);
} else if (e.prop & cgeditor::Property::Margin) {
dc->SetBrush(*wxLIGHT_GREY_BRUSH);
} else if (e.prop & cgeditor::Property::Button) {
if (e.prop & cgeditor::Property::On) {
dc->DrawBitmap(hide_icon, e.x, e.y);
return;
}
dc->SetBrush(*wxBLACK_BRUSH);
}
wxRect recToDraw(e.x, e.y, e.width, e.height);
dc->DrawRectangle(recToDraw);
} else if (e.prop & cgeditor::Property::Text ||
e.prop & cgeditor::Property::Image) {
if (e.prop & cgeditor::Property::Image) {
// Draw your pieces images instead
std::uint32_t y = Middle(e).y - CGEditor::status.MoveIconWidth / 2;
char p = 'P';
if (e.prop & cgeditor::Property::Knight) {
p = 'N';
} else if (e.prop & cgeditor::Property::Bishop) {
p = 'B';
} else if (e.prop & cgeditor::Property::Queen) {
p = 'Q';
} else if (e.prop & cgeditor::Property::King) {
p = 'K';
}
if (e.prop & cgeditor::Property::Black) {
p = std::tolower(p);
}
if (e.prop & cgeditor::Property::Current) {
wxRect recToDraw(e.x, e.y, e.width, e.height);
dc->SetBrush(*wxLIGHT_GREY_BRUSH);
dc->DrawRectangle(recToDraw);
}
dc->DrawBitmap(*t.Get(p), e.x, y);
} else if (e.prop & cgeditor::Property::Comment) {
wxRect recToDraw(e.x, e.y, e.width, e.height);
dc->SetBrush(*wxYELLOW_BRUSH);
dc->DrawRectangle(recToDraw);
dc->DrawText(wxString(e.text), wxPoint(e.x, e.y));
} else if (e.prop & cgeditor::Property::Menuitem) {
wxRect recToDraw(e.x, e.y, e.width, e.height);
dc->SetBrush(*wxLIGHT_GREY_BRUSH);
dc->DrawRectangle(recToDraw);
dc->DrawText(wxString(e.text), wxPoint(e.x, Middle(e).y));
} else {
if (e.prop & cgeditor::Property::Move) {
if (e.prop & cgeditor::Property::Current) {
wxRect recToDraw(e.x, e.y, e.width, e.height);
dc->SetBrush(*wxLIGHT_GREY_BRUSH);
dc->DrawRectangle(recToDraw);
}
if (CGEditor::status.UseMoveIcons) {
dc->DrawText(wxString(e.text), wxPoint(e.x, Middle(e).y));
} else {
dc->DrawText(wxString(e.text), Middle(e));
}
} else {
dc->DrawText(wxString(e.text), Middle(e));
}
}
}
}
void EditorCanvas::HandleEvent(const cgeditor::Event &e) {
wxLogDebug("Editor event!");
if (e.type == cgeditor::Event::Goto) {
wxCommandEvent event(GOTO_MOVE_EVENT, GetId());
event.SetEventObject(this);
event.SetClientData(e.move);
ProcessEvent(event);
} else if (e.type == cgeditor::Event::Delete) {
wxCommandEvent event(DELETE_MOVE_EVENT, GetId());
event.SetEventObject(this);
event.SetClientData(e.move);
ProcessEvent(event);
} else if (e.type == cgeditor::Event::Promote) {
wxCommandEvent event(PROMOTE_MOVE_EVENT, GetId());
event.SetEventObject(this);
event.SetClientData(e.move);
ProcessEvent(event);
} else if (e.type == cgeditor::Event::SetAsMainline) {
wxCommandEvent event(SET_AS_MAINLINE_EVENT, GetId());
event.SetEventObject(this);
event.SetClientData(e.move);
ProcessEvent(event);
}
}
void EditorCanvas::MouseEvent(wxMouseEvent &event) {
if (event.Dragging()) {
CGEditor::status.LeftClick = false;
CGEditor::status.IsDrag = true;
Refresh();
} else if (event.LeftDown()) {
SetFocus();
CGEditor::status.LeftClick = true;
Refresh();
} else if (event.RightDown()) {
SetFocus();
CGEditor::status.RightClick = true;
Refresh();
} else if (event.GetWheelRotation() != 0) {
SetFocus();
if (event.GetWheelRotation() < 0) {
CGEditor::status.EventVScroll = 50;
} else {
CGEditor::status.EventVScroll = -50;
}
Refresh();
}
// Should another draw of CGEditor be made?
if (NeedRedraw) {
Refresh();
NeedRedraw = false;
}
}
void EditorCanvas::SetMoves(HalfMove *moves, HalfMove *current) {
CGEditor::status.Moves = moves;
CGEditor::status.CurrentMove = current;
Refresh();
}
void EditorCanvas::OnKeyEvent(wxKeyEvent &event) {
if (event.GetKeyCode() == WXK_LEFT) {
wxCommandEvent previousEvent(PREVIOUS_MOVE_EVENT, GetId());
previousEvent.SetEventObject(this);
ProcessEvent(previousEvent);
} else if (event.GetKeyCode() == WXK_RIGHT) {
wxCommandEvent nextEvent(NEXT_MOVE_EVENT, GetId());
nextEvent.SetEventObject(this);
ProcessEvent(nextEvent);
}
}
wxBEGIN_EVENT_TABLE(EditorCanvas, wxPanel) EVT_PAINT(EditorCanvas::OnPaint)
EVT_MOUSE_EVENTS(EditorCanvas::MouseEvent)
EVT_CHAR_HOOK(EditorCanvas::OnKeyEvent) wxEND_EVENT_TABLE()

View file

@ -0,0 +1,33 @@
#pragma once
#include "../HalfMove.hpp"
#include "CGEditor.hpp"
#include "ochess.hpp"
#include "../board/Theme.hpp"
// Foreign events
wxDECLARE_EVENT(GOTO_MOVE_EVENT, wxCommandEvent);
wxDECLARE_EVENT(PREVIOUS_MOVE_EVENT, wxCommandEvent);
wxDECLARE_EVENT(NEXT_MOVE_EVENT, wxCommandEvent);
wxDECLARE_EVENT(DELETE_MOVE_EVENT, wxCommandEvent);
wxDECLARE_EVENT(PROMOTE_MOVE_EVENT, wxCommandEvent);
wxDECLARE_EVENT(SET_AS_MAINLINE_EVENT, wxCommandEvent);
class EditorCanvas : public wxPanel, public cgeditor::CGEditor {
wxPaintDC *dc;
bool NeedRedraw;
wxPoint Middle(cgeditor::Element e);
wxBitmap hide_icon;
Theme t;
public:
EditorCanvas(wxFrame *parent);
void OnPaint(wxPaintEvent &event);
void MouseEvent(wxMouseEvent &event);
void DrawElement(const cgeditor::Element &e);
void HandleEvent(const cgeditor::Event &e);
void SetMoves(HalfMove *moves, HalfMove *current);
void OnKeyEvent(wxKeyEvent &event);
DECLARE_EVENT_TABLE()
};

View file

@ -0,0 +1,207 @@
#include "EditorPanel.hpp"
wxDEFINE_EVENT(GOTO_MOVE_EVENT, wxCommandEvent);
wxDEFINE_EVENT(DELETE_MOVE_EVENT, wxCommandEvent);
wxDEFINE_EVENT(PROMOTE_MOVE_EVENT, wxCommandEvent);
wxDEFINE_EVENT(SET_AS_MAINLINE_EVENT, wxCommandEvent);
wxDEFINE_EVENT(PREVIOUS_MOVE_EVENT, wxCommandEvent);
wxDEFINE_EVENT(NEXT_MOVE_EVENT, wxCommandEvent);
EditorPanel::EditorPanel(wxFrame *parent, Game *game)
: wxPanel(parent), game(game), selected_item(-1) {
// ----- Init -----
wxBoxSizer *sizer = new wxBoxSizer(wxVERTICAL);
wxNotebook *notebook = new wxNotebook(this, wxID_ANY);
//----- CGEditor Page -----
wxPanel *cgeditor_panel = new wxPanel(notebook, wxID_ANY);
wxBoxSizer *cgeditor_panel_sizer = new wxBoxSizer(wxVERTICAL);
editor_canvas = new EditorCanvas((wxFrame *)cgeditor_panel);
cgeditor_panel_sizer->Add(editor_canvas, 1, wxEXPAND);
// Comment box
wxStaticBox *commentBox =
new wxStaticBox(cgeditor_panel, wxID_ANY, "Move Comment");
wxBoxSizer *commentBoxSizer = new wxBoxSizer(wxVERTICAL);
comment_input = new wxTextCtrl(
commentBox, COMMENT_INPUT_BOX, wxEmptyString, // Use right ID
wxDefaultPosition, wxSize(0, 150), wxTE_MULTILINE);
commentBoxSizer->Add(comment_input, 0, wxEXPAND);
commentBox->SetSizer(commentBoxSizer);
cgeditor_panel_sizer->Add(commentBox, 0, wxEXPAND);
cgeditor_panel->SetSizer(cgeditor_panel_sizer);
//----- Tags Page -----
wxPanel *tag_panel = new wxPanel(notebook, wxID_ANY);
wxBoxSizer *tag_panel_sizer = new wxBoxSizer(wxVERTICAL);
wxPanel *tag_edit_panel = new wxPanel(tag_panel, wxID_ANY);
wxBoxSizer *tag_edit_panel_sizer = new wxBoxSizer(wxVERTICAL);
tagTextCtrl = new wxTextCtrl(tag_edit_panel, wxID_ANY);
tagTextCtrl->SetHint(wxString("Name"));
tag_edit_panel_sizer->Add(tagTextCtrl, 1, wxEXPAND);
valueTextCtrl = new wxTextCtrl(tag_edit_panel, wxID_ANY);
valueTextCtrl->SetHint(wxString("Value"));
tag_edit_panel_sizer->Add(valueTextCtrl, 1, wxEXPAND);
tag_edit_panel_sizer->Add(new wxButton(tag_edit_panel, UPDATE_BTN, L"Update"),
1, wxEXPAND);
tag_edit_panel->SetSizer(tag_edit_panel_sizer);
tag_panel_sizer->Add(tag_edit_panel, 0, wxEXPAND);
tags_list = new wxListCtrl(tag_panel, wxID_ANY, wxDefaultPosition,
wxDefaultSize, wxLC_REPORT);
tags_list->InsertColumn(0, L"Name");
tags_list->InsertColumn(1, L"Value", wxLIST_FORMAT_LEFT, 500);
RefreshTagsList();
tag_panel_sizer->Add(tags_list, 1, wxEXPAND);
delete_button = new wxButton(tag_panel, DELETE_BTN, L"Delete");
delete_button->Enable(false);
tag_panel_sizer->Add(delete_button, 0, wxEXPAND);
tag_panel->SetSizer(tag_panel_sizer);
//----- Notebook -----
notebook->AddPage(cgeditor_panel, L"Editor");
notebook->AddPage(tag_panel, L"Tags");
sizer->Add(notebook, 1, wxEXPAND);
//----- Sizer -----
this->SetSizer(sizer);
// Bind events
this->Bind(wxEVT_TEXT, &EditorPanel::OnCommentChange, this,
COMMENT_INPUT_BOX);
this->Bind(GOTO_MOVE_EVENT, &EditorPanel::OnGotoMove, this, wxID_ANY);
this->Bind(DELETE_MOVE_EVENT, &EditorPanel::OnMoveDelete, this, wxID_ANY);
this->Bind(PROMOTE_MOVE_EVENT, &EditorPanel::OnMovePromote, this, wxID_ANY);
this->Bind(SET_AS_MAINLINE_EVENT, &EditorPanel::OnMoveSetAsMainline, this,
wxID_ANY);
this->Bind(NEXT_MOVE_EVENT, &EditorPanel::OnNextMove, this, wxID_ANY);
this->Bind(PREVIOUS_MOVE_EVENT, &EditorPanel::OnPreviousMove, this, wxID_ANY);
this->Bind(wxEVT_LIST_ITEM_SELECTED, &EditorPanel::OnTagSelected, this,
wxID_ANY);
this->Bind(wxEVT_LIST_ITEM_DESELECTED, &EditorPanel::OnTagDeselected, this,
wxID_ANY);
this->Bind(wxEVT_BUTTON, &EditorPanel::OnApply, this, UPDATE_BTN);
this->Bind(wxEVT_BUTTON, &EditorPanel::OnDelete, this, DELETE_BTN);
}
void EditorPanel::OnTagSelected(wxListEvent &event) {
wxListItem item = event.GetItem();
std::string key = item.GetText().ToStdString();
tagTextCtrl->ChangeValue(key);
item.SetColumn(1);
tags_list->GetItem(item);
valueTextCtrl->ChangeValue(item.GetText().ToStdString());
selected_item = item.GetId();
delete_button->Enable(true);
}
void EditorPanel::OnTagDeselected(wxListEvent &event) {
selected_item = -1;
delete_button->Enable(false);
}
void EditorPanel::NotifyBoard() {
wxCommandEvent previousEvent(GAME_CHANGE, GetId());
previousEvent.SetEventObject(this);
ProcessEvent(previousEvent);
}
void EditorPanel::OnCommentChange(wxCommandEvent &event) {
wxLogDebug("EditorPanel: comment input change");
HalfMove *m = game->GetCurrentMove();
if (m != NULL) {
m->SetComment(event.GetString().ToStdString());
}
editor_canvas->Refresh();
}
void EditorPanel::OnApply(wxCommandEvent &event) {
std::string key = tagTextCtrl->GetValue().ToStdString();
if (key == "FEN") {
SHOW_DIALOG_ERROR("Editing the FEN tag is forbidden");
return;
}
if (key.size() > 0) {
std::string value = valueTextCtrl->GetValue().ToStdString();
game->SetTag(key, value);
RefreshTagsList();
wxCommandEvent event(REFRESH_TAB_TITLE, GetId());
event.SetEventObject(this);
ProcessEvent(event);
}
}
void EditorPanel::OnDelete(wxCommandEvent &event) {
if (selected_item >= 0) {
wxListItem item;
item.SetColumn(0);
item.SetId(selected_item);
tags_list->GetItem(item);
std::string key = item.GetText().ToStdString();
if (key != "FEN") {
game->DeleteTag(key);
selected_item = -1;
RefreshTagsList();
} else {
SHOW_DIALOG_ERROR("Deleting the FEN tag is forbidden.");
}
}
}
void EditorPanel::OnGotoMove(wxCommandEvent &event) {
wxLogDebug("EditorPanel: received GOTO_MOVE_EVENT");
game->SetCurrent((HalfMove *)event.GetClientData());
NotifyBoard();
editor_canvas->Refresh();
}
void EditorPanel::OnMoveDelete(wxCommandEvent &event) {
game->DeleteMove((HalfMove *)event.GetClientData());
NotifyBoard();
editor_canvas->Refresh();
}
void EditorPanel::OnMovePromote(wxCommandEvent &event) {
wxLogDebug("EditorPanel: promote move called");
game->PromoteMove((HalfMove *)event.GetClientData());
NotifyBoard();
editor_canvas->Refresh();
}
void EditorPanel::OnMoveSetAsMainline(wxCommandEvent &event) {
wxLogDebug("EditorPanel: set move as mainline called");
game->SetMoveAsMainline((HalfMove *)event.GetClientData());
NotifyBoard();
editor_canvas->Refresh();
}
void EditorPanel::Notify() {
HalfMove *m = game->GetCurrentMove();
if (m != NULL) {
comment_input->ChangeValue(
m->GetComment()); // ChangeValue do not raise events
}
editor_canvas->SetMoves(game->GetMoves(), m);
}
void EditorPanel::RefreshTagsList() {
tags_list->DeleteAllItems();
for (std::string s : game->ListTags()) {
long index = tags_list->InsertItem(0, s);
tags_list->SetItem(index, 1, game->GetTag(s));
if (s == "FEN") {
tags_list->SetItemBackgroundColour(index, wxColour(200, 200, 200));
}
}
}
void EditorPanel::OnPreviousMove(wxCommandEvent &event) {
game->Previous();
Notify();
NotifyBoard();
}
void EditorPanel::OnNextMove(wxCommandEvent &event) {
game->Next();
Notify();
NotifyBoard();
}

View file

@ -0,0 +1,44 @@
#include "../Game.hpp"
#include "EditorCanvas.hpp"
#include "ochess.hpp"
#include <wx/listctrl.h>
#include <wx/notebook.h>
// Local events
wxDECLARE_EVENT(GOTO_MOVE_EVENT, wxCommandEvent);
wxDECLARE_EVENT(DELETE_MOVE_EVENT, wxCommandEvent);
wxDECLARE_EVENT(PROMOTE_MOVE_EVENT, wxCommandEvent);
wxDECLARE_EVENT(SET_AS_MAINLINE_EVENT, wxCommandEvent);
wxDECLARE_EVENT(REFRESH_TAB_TITLE, wxCommandEvent);
// Foreign events
wxDECLARE_EVENT(GAME_CHANGE, wxCommandEvent);
enum { COMMENT_INPUT_BOX = wxID_HIGHEST + 100, UPDATE_BTN, DELETE_BTN };
class EditorPanel : public wxPanel {
Game *game;
EditorCanvas *editor_canvas;
wxTextCtrl *comment_input;
wxListCtrl *tags_list;
wxTextCtrl *tagTextCtrl, *valueTextCtrl;
wxButton *delete_button;
long selected_item;
public:
EditorPanel(wxFrame *parent, Game *game);
void NotifyBoard();
void Notify();
void OnCommentChange(wxCommandEvent &event);
void OnGotoMove(wxCommandEvent &event);
void OnMoveDelete(wxCommandEvent &event);
void OnMovePromote(wxCommandEvent &event);
void OnMoveSetAsMainline(wxCommandEvent &event);
void RefreshTagsList();
void OnTagSelected(wxListEvent &event);
void OnTagDeselected(wxListEvent &event);
void OnApply(wxCommandEvent &event);
void OnDelete(wxCommandEvent &event);
void OnPreviousMove(wxCommandEvent &event);
void OnNextMove(wxCommandEvent &event);
};

18
src/ochess.cpp Normal file
View file

@ -0,0 +1,18 @@
#include "ochess.hpp"
#include "MainWindow.hpp"
bool MyApp::OnInit() {
wxImage::AddHandler(new wxPNGHandler);
MainWindow *frame = new MainWindow();
frame->Show(true);
return true;
}
wxIMPLEMENT_APP(MyApp);
void Abort(std::string msg) {
wxMessageDialog *dial = new wxMessageDialog(NULL, wxString(msg), wxT("Error"),
wxOK | wxICON_ERROR);
dial->ShowModal();
wxLogFatalError(wxString(msg));
}

57
src/ochess.hpp Normal file
View file

@ -0,0 +1,57 @@
#pragma once
#include <wx/wxprec.h>
#ifndef WX_PRECOMP
#include <wx/wx.h>
#endif
#include "binres/binres.hpp"
#include <wx/app.h>
#include <wx/config.h>
#include <wx/filefn.h> // Check file exists etc
#include <wx/log.h>
#define MAINWIN ((MainWindow *)wxGetApp().GetTopWindow())
#define SHOW_DIALOG_ERROR(message) \
{ \
wxMessageDialog *dial = new wxMessageDialog( \
NULL, wxT(message), wxT("Error"), wxOK | wxICON_ERROR); \
dial->ShowModal(); \
}
#define REQUIRE_FILE(file) \
{ \
if (!wxFileExists(file)) { \
Abort(std::string("File ") + file + std::string(" not found")); \
} \
}
#define CONFIG_OPEN(name) wxConfig *name = new wxConfig("ochess")
#define CONFIG_CLOSE(name) delete name
/**
* @brief Main application
*
*/
class MyApp : public wxApp {
public:
virtual bool OnInit();
};
wxDECLARE_APP(MyApp);
///@brief Abort ochess with a message
void Abort(std::string msg);
/**
* @brief Attach informations to the application tabs
*
*/
class TabInfos {
public:
typedef enum Type { GAME, NONE } Type;
Type type;
TabInfos(Type type_) : type(type_) {}
virtual void ApplyPreferences() = 0;
};

View file

@ -0,0 +1,113 @@
#include "BoardPrefsPanelBF.h"
#include "game_tab/board/BoardCanvas.hpp"
#include "ochess.hpp"
#include <wx/combobox.h>
#include <wx/dir.h>
#include <wx/filename.h>
#include <wx/preferences.h>
#include <wx/spinctrl.h>
#include <wx/stdpaths.h>
class BoardPrefsPanel : public BoardPrefsPanelBF {
BoardCanvas *real_board_canvas;
wxFileName pieces_path;
wxFileName squares_path;
public:
BoardPrefsPanel(wxWindow *parent) : BoardPrefsPanelBF(parent) {
wxBoxSizer *sizer = new wxBoxSizer(wxHORIZONTAL);
real_board_canvas = new BoardCanvas((wxFrame *)board_canvas, 40, true);
sizer->Add(real_board_canvas, 1, wxEXPAND, 5);
board_canvas->SetSizerAndFit(sizer);
wxStandardPaths p = wxStandardPaths::Get();
pieces_path = wxFileName(p.GetExecutablePath());
pieces_path = pieces_path.GetPath() + "/assets/pieces";
squares_path = wxFileName(pieces_path);
squares_path = squares_path.GetPath() + "/boards";
wxLogDebug(squares_path.GetFullPath());
Bind(wxEVT_LISTBOX, &BoardPrefsPanel::OnConfChange, this, wxID_ANY);
Bind(wxEVT_SPINCTRL, &BoardPrefsPanel::OnConfChange, this, wxID_ANY);
}
void OnConfChange(wxCommandEvent &event) {
ApplyPreferences();
real_board_canvas->ApplyPreferences();
}
virtual bool TransferDataToWindow() {
wxLogDebug("Load!");
wxDir pieces_dir(pieces_path.GetFullPath());
wxString filename;
bool cont = pieces_dir.GetFirst(&filename, wxEmptyString, wxDIR_DEFAULT);
piece_theme->Append("default");
while (cont) {
wxFileName fn(filename);
fn.ClearExt();
piece_theme->Append(fn.GetName());
cont = pieces_dir.GetNext(&filename);
}
wxDir squares_dir(squares_path.GetFullPath());
cont = squares_dir.GetFirst(&filename, wxEmptyString, wxDIR_DEFAULT);
square_theme->Append("default");
while (cont) {
wxFileName fn(filename);
fn.ClearExt();
square_theme->Append(fn.GetName());
cont = squares_dir.GetNext(&filename);
}
CONFIG_OPEN(config);
piece_theme->SetStringSelection(
config->Read("board/theme/pieces/name", "default"));
square_theme->SetStringSelection(
config->Read("board/theme/squares/name", "default"));
show_side_badge->SetValue(config->Read("board/show_side_badge", true));
show_captures->SetValue(config->Read("board/show_captures", true));
black_by_default->SetValue(config->Read("board/black_by_default", false));
corner_radius->SetValue(config->Read("board/corner_radius", 8));
square_size->SetValue(config->Read("board/square_size", 80));
CONFIG_CLOSE(config);
return true;
}
void ApplyPreferences() {
CONFIG_OPEN(config);
wxString cur_theme = piece_theme->GetString(piece_theme->GetSelection());
config->Write("board/theme/pieces/name", cur_theme);
config->Write("board/theme/pieces/path",
pieces_path.GetFullPath() + "/" + cur_theme + ".png");
cur_theme = square_theme->GetString(square_theme->GetSelection());
config->Write("board/theme/squares/name", cur_theme);
config->Write("board/theme/squares/path",
squares_path.GetFullPath() + "/" + cur_theme + ".png");
config->Write("board/show_side_badge", show_side_badge->GetValue());
config->Write("board/show_captures", show_captures->GetValue());
config->Write("board/black_by_default", black_by_default->GetValue());
config->Write("board/corner_radius", corner_radius->GetValue());
config->Write("board/square_size", square_size->GetValue());
CONFIG_CLOSE(config);
}
virtual bool TransferDataFromWindow() {
ApplyPreferences();
MAINWIN->ApplyPreferences();
return (true);
}
};
class BoardPrefs : public wxPreferencesPage {
public:
virtual wxString GetName() const { return "Board"; }
virtual wxBitmap GetLargeIcon() {
return wxArtProvider::GetBitmap(wxART_HELP, wxART_TOOLBAR);
}
virtual wxWindow *CreateWindow(wxWindow *parent) {
return new BoardPrefsPanel(parent);
}
};

View file

@ -0,0 +1,106 @@
///////////////////////////////////////////////////////////////////////////
// C++ code generated with wxFormBuilder (version 3.10.1-40-g8042f487)
// http://www.wxformbuilder.org/
//
// PLEASE DO *NOT* EDIT THIS FILE!
///////////////////////////////////////////////////////////////////////////
#include "BoardPrefsPanelBF.h"
///////////////////////////////////////////////////////////////////////////
BoardPrefsPanelBF::BoardPrefsPanelBF( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style, const wxString& name ) : wxPanel( parent, id, pos, size, style, name )
{
wxBoxSizer* main_sizer;
main_sizer = new wxBoxSizer( wxVERTICAL );
splitter = new wxSplitterWindow( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxSP_3D|wxSP_LIVE_UPDATE );
splitter->Connect( wxEVT_IDLE, wxIdleEventHandler( BoardPrefsPanelBF::splitterOnIdle ), NULL, this );
board_canvas = new wxPanel( splitter, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
options_panel = new wxPanel( splitter, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
wxBoxSizer* options_sizer;
options_sizer = new wxBoxSizer( wxVERTICAL );
wxBoxSizer* themes_sizer;
themes_sizer = new wxBoxSizer( wxHORIZONTAL );
wxBoxSizer* piece_theme_sizer;
piece_theme_sizer = new wxBoxSizer( wxVERTICAL );
piece_theme_label = new wxStaticText( options_panel, wxID_ANY, wxT("Piece theme"), wxDefaultPosition, wxDefaultSize, 0 );
piece_theme_label->Wrap( -1 );
piece_theme_sizer->Add( piece_theme_label, 0, wxALL, 5 );
piece_theme = new wxListBox( options_panel, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
piece_theme_sizer->Add( piece_theme, 1, wxALL|wxEXPAND, 5 );
themes_sizer->Add( piece_theme_sizer, 1, wxEXPAND, 5 );
wxBoxSizer* square_theme_sizer;
square_theme_sizer = new wxBoxSizer( wxVERTICAL );
square_theme_label = new wxStaticText( options_panel, wxID_ANY, wxT("Square theme"), wxDefaultPosition, wxDefaultSize, 0 );
square_theme_label->Wrap( -1 );
square_theme_sizer->Add( square_theme_label, 0, wxALL, 5 );
square_theme = new wxListBox( options_panel, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
square_theme_sizer->Add( square_theme, 1, wxALL|wxEXPAND, 5 );
themes_sizer->Add( square_theme_sizer, 1, wxEXPAND, 5 );
options_sizer->Add( themes_sizer, 1, wxEXPAND, 5 );
show_side_badge = new wxCheckBox( options_panel, wxID_ANY, wxT("Side to play badge"), wxDefaultPosition, wxDefaultSize, 0 );
options_sizer->Add( show_side_badge, 0, wxALL, 5 );
show_captures = new wxCheckBox( options_panel, wxID_ANY, wxT("Show captured pieces"), wxDefaultPosition, wxDefaultSize, 0 );
options_sizer->Add( show_captures, 0, wxALL, 5 );
black_by_default = new wxCheckBox( options_panel, wxID_ANY, wxT("Black side by default"), wxDefaultPosition, wxDefaultSize, 0 );
options_sizer->Add( black_by_default, 0, wxALL, 5 );
wxBoxSizer* border_radius_sizer;
border_radius_sizer = new wxBoxSizer( wxHORIZONTAL );
border_radius_label = new wxStaticText( options_panel, wxID_ANY, wxT("Corner radius:"), wxDefaultPosition, wxDefaultSize, 0 );
border_radius_label->Wrap( -1 );
border_radius_sizer->Add( border_radius_label, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
corner_radius = new wxSpinCtrl( options_panel, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 20, 0 );
border_radius_sizer->Add( corner_radius, 0, wxALL, 5 );
options_sizer->Add( border_radius_sizer, 0, wxEXPAND, 5 );
wxBoxSizer* board_size_sizer;
board_size_sizer = new wxBoxSizer( wxHORIZONTAL );
board_size_label = new wxStaticText( options_panel, wxID_ANY, wxT("Board squares size:"), wxDefaultPosition, wxDefaultSize, 0 );
board_size_label->Wrap( -1 );
board_size_sizer->Add( board_size_label, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
square_size = new wxSpinCtrl( options_panel, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 20, 150, 0 );
board_size_sizer->Add( square_size, 0, wxALL|wxEXPAND, 5 );
options_sizer->Add( board_size_sizer, 0, wxEXPAND, 5 );
options_panel->SetSizer( options_sizer );
options_panel->Layout();
options_sizer->Fit( options_panel );
splitter->SplitHorizontally( board_canvas, options_panel, 350 );
main_sizer->Add( splitter, 1, wxEXPAND, 5 );
this->SetSizer( main_sizer );
this->Layout();
}
BoardPrefsPanelBF::~BoardPrefsPanelBF()
{
}

View file

@ -0,0 +1,64 @@
///////////////////////////////////////////////////////////////////////////
// C++ code generated with wxFormBuilder (version 3.10.1-40-g8042f487)
// http://www.wxformbuilder.org/
//
// PLEASE DO *NOT* EDIT THIS FILE!
///////////////////////////////////////////////////////////////////////////
#pragma once
#include <wx/artprov.h>
#include <wx/xrc/xmlres.h>
#include <wx/panel.h>
#include <wx/gdicmn.h>
#include <wx/font.h>
#include <wx/colour.h>
#include <wx/settings.h>
#include <wx/string.h>
#include <wx/stattext.h>
#include <wx/listbox.h>
#include <wx/sizer.h>
#include <wx/checkbox.h>
#include <wx/spinctrl.h>
#include <wx/splitter.h>
///////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
/// Class BoardPrefsPanelBF
///////////////////////////////////////////////////////////////////////////////
class BoardPrefsPanelBF : public wxPanel
{
private:
protected:
wxSplitterWindow* splitter;
wxPanel* board_canvas;
wxPanel* options_panel;
wxStaticText* piece_theme_label;
wxListBox* piece_theme;
wxStaticText* square_theme_label;
wxListBox* square_theme;
wxCheckBox* show_side_badge;
wxCheckBox* show_captures;
wxCheckBox* black_by_default;
wxStaticText* border_radius_label;
wxSpinCtrl* corner_radius;
wxStaticText* board_size_label;
wxSpinCtrl* square_size;
public:
BoardPrefsPanelBF( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 756,751 ), long style = wxTAB_TRAVERSAL, const wxString& name = wxEmptyString );
~BoardPrefsPanelBF();
void splitterOnIdle( wxIdleEvent& )
{
splitter->SetSashPosition( 350 );
splitter->Disconnect( wxEVT_IDLE, wxIdleEventHandler( BoardPrefsPanelBF::splitterOnIdle ), NULL, this );
}
};

View file

@ -0,0 +1,2 @@
#pragma once
#include "BoardPrefs.hpp"