From 14759ab89a802d0c31530b033a8f029d90bc6df0 Mon Sep 17 00:00:00 2001 From: NishiOwO Date: Tue, 3 Mar 2026 01:02:01 +0900 Subject: [PATCH] add win32 support --- Makefile | 2 +- external/xemil | 2 +- objs.mk | 3 + src/classic.c | 45 +---- src/default.c | 2 +- src/dirent.c | 53 ++++++ src/image/logo1.c | 373 +++++++++++++++++++------------------ src/image/logo1.png | Bin 2231 -> 2264 bytes src/image/logo2.c | 443 ++++++++++++++++++++++---------------------- src/image/logo2.png | Bin 2713 -> 2629 bytes src/seed.c | 35 ++-- src/taiga.h | 9 + 12 files changed, 500 insertions(+), 467 deletions(-) create mode 100644 src/dirent.c diff --git a/Makefile b/Makefile index bec88a3..3783c8e 100644 --- a/Makefile +++ b/Makefile @@ -5,7 +5,7 @@ LIBS = .PHONY: all format clean -all: taiga +all: taiga$(E) include objs.mk diff --git a/external/xemil b/external/xemil index e645137..37ae57a 160000 --- a/external/xemil +++ b/external/xemil @@ -1 +1 @@ -Subproject commit e645137476ab89b20bf5744cfbce4448b101bac4 +Subproject commit 37ae57aff647ca8699836d192184676266c673cd diff --git a/objs.mk b/objs.mk index 86dec61..4e73336 100644 --- a/objs.mk +++ b/objs.mk @@ -20,6 +20,9 @@ src/src_classic.o: src/classic.c OBJS += src/src_default.o src/src_default.o: src/default.c $(CC) $(CFLAGS) -c -o $@ src/default.c +OBJS += src/src_dirent.o +src/src_dirent.o: src/dirent.c + $(CC) $(CFLAGS) -c -o $@ src/dirent.c OBJS += src/src_help.o src/src_help.o: src/help.c $(CC) $(CFLAGS) -c -o $@ src/help.c diff --git a/src/classic.c b/src/classic.c index 89fe402..40e2844 100644 --- a/src/classic.c +++ b/src/classic.c @@ -1,12 +1,5 @@ #include -#include "image/fill.h" -#include "image/valid-html401.h" -#include "image/valid-css.h" -#include "image/fixme.h" -#include "image/warning.h" -#include "image/note.h" - void classic_stylesheet(FILE* out, const char* top) { FILE* f; char path[128]; @@ -19,36 +12,6 @@ void classic_stylesheet(FILE* out, const char* top) { "note", "#006699" /**/ }; - sprintf(path, "%sfill.gif", top); - f = fopen(path, "wb"); - fwrite(image_fill, 1, image_fill_len, f); - fclose(f); - - sprintf(path, "%svalid-html401.png", top); - f = fopen(path, "wb"); - fwrite(image_valid_html401, 1, image_valid_html401_len, f); - fclose(f); - - sprintf(path, "%svalid-css.png", top); - f = fopen(path, "wb"); - fwrite(image_valid_css, 1, image_valid_css_len, f); - fclose(f); - - sprintf(path, "%sfixme.png", top); - f = fopen(path, "wb"); - fwrite(image_fixme, 1, image_fixme_len, f); - fclose(f); - - sprintf(path, "%swarning.png", top); - f = fopen(path, "wb"); - fwrite(image_warning, 1, image_warning_len, f); - fclose(f); - - sprintf(path, "%snote.png", top); - f = fopen(path, "wb"); - fwrite(image_note, 1, image_note_len, f); - fclose(f); - if((nodes = xl_get_path(skinconf->root, "breadcrumb")) != NULL) { breadcrumb_bgcolor = xl_get_attribute(nodes[0], "color"); @@ -224,7 +187,7 @@ void classic_body(FILE* out, const char* top, const char* title, xl_node_t* body if(text != NULL) { text = u_path(top, text); - fprintf(out, " \"%s\"\n", link, text, images[i + 1], name); + fprintf(out, " \"%s\"\n", link, text, images[i + 1], name); free(text); } @@ -306,8 +269,8 @@ void classic_body(FILE* out, const char* top, const char* title, xl_node_t* body fprintf(out, " \n"); fprintf(out, " \n"); fprintf(out, " \n"); - fprintf(out, " \"Valid", top); - fprintf(out, " \"Valid", top); + fprintf(out, " \"Valid\n", top); + fprintf(out, " \"Valid\n", top); fprintf(out, " \n"); fprintf(out, " \n"); fprintf(out, " \n"); @@ -318,7 +281,7 @@ void classic_body(FILE* out, const char* top, const char* title, xl_node_t* body fprintf(out, " if(s.indexOf('.png') > 0){\n"); fprintf(out, " var oldw = document.images[i].clientWidth;\n"); fprintf(out, " var oldh = document.images[i].clientHeight;\n"); - fprintf(out, " document.images[i].src = '%sfill.gif';\n", top); + fprintf(out, " document.images[i].src = '%simage/fill.gif';\n", top); fprintf(out, " document.images[i].style.filter = \"progid:DXImageTransform.Microsoft.AlphaImageLoader(src='\" + s + \"', sizingMethod='scale')\";\n"); fprintf(out, " document.images[i].style.width = oldw + \"px\";\n"); fprintf(out, " document.images[i].style.height = oldh + \"px\";\n"); diff --git a/src/default.c b/src/default.c index 329837d..0765c7e 100644 --- a/src/default.c +++ b/src/default.c @@ -69,7 +69,7 @@ void default_node(FILE* out, const char* top, xl_node_t* element, int indent) { sprintf(tag + strlen(tag), " \n"); sprintf(tag + strlen(tag), " \n"); sprintf(tag + strlen(tag), " \n"); sprintf(tag + strlen(tag), "
\n"); - sprintf(tag + strlen(tag), " \n", top, element->name); + sprintf(tag + strlen(tag), " \n", top, element->name); sprintf(tag + strlen(tag), " \n"); sprintf(tag + strlen(tag), " %s\n", text); diff --git a/src/dirent.c b/src/dirent.c new file mode 100644 index 0000000..cfce40e --- /dev/null +++ b/src/dirent.c @@ -0,0 +1,53 @@ +#include + +#ifdef _WIN32 +/* reason why this is included here, is because it makes compilation REALLY slow */ +#include + +typedef struct io_dir { + HANDLE hFind; + WIN32_FIND_DATA ffd; + struct io_dirent dirent; + int first; +} io_dir_t; + +IO_DIR* io_opendir(const char* path) { + char* p = u_strvacat(path, "/*", NULL); + io_dir_t* dir; + + dir = malloc(sizeof(*dir)); + if((dir->hFind = FindFirstFile(p, &dir->ffd)) == INVALID_HANDLE_VALUE) { + free(p); + free(dir); + + return NULL; + } + free(p); + dir->first = 1; + + return dir; +} + +struct io_dirent* io_readdir(IO_DIR* dir) { + io_dir_t* d = dir; + struct io_dirent* dirent = &d->dirent; + + if(d->first) { + d->first = 0; + } else if(FindNextFile(d->hFind, &d->ffd) == 0) { + return NULL; + } + + strcpy(dirent->d_name, d->ffd.cFileName); + dirent->d_namlen = strlen(dirent->d_name); + + return dirent; +} + +void io_closedir(IO_DIR* dir) { + io_dir_t* d = dir; + + FindClose(d->hFind); + free(d); +} +#endif diff --git a/src/image/logo1.c b/src/image/logo1.c index 04d4603..d18d7f5 100644 --- a/src/image/logo1.c +++ b/src/image/logo1.c @@ -1,188 +1,191 @@ unsigned char image_logo1[] = { 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x01, 0x20, 0x00, 0x00, 0x00, 0x48, - 0x08, 0x06, 0x00, 0x00, 0x00, 0x56, 0x53, 0x28, 0x03, 0x00, 0x00, 0x00, - 0x01, 0x73, 0x52, 0x47, 0x42, 0x01, 0xd9, 0xc9, 0x2c, 0x7f, 0x00, 0x00, - 0x00, 0x04, 0x67, 0x41, 0x4d, 0x41, 0x00, 0x00, 0xb1, 0x8f, 0x0b, 0xfc, - 0x61, 0x05, 0x00, 0x00, 0x00, 0x20, 0x63, 0x48, 0x52, 0x4d, 0x00, 0x00, - 0x7a, 0x26, 0x00, 0x00, 0x80, 0x84, 0x00, 0x00, 0xfa, 0x00, 0x00, 0x00, - 0x80, 0xe8, 0x00, 0x00, 0x75, 0x30, 0x00, 0x00, 0xea, 0x60, 0x00, 0x00, - 0x3a, 0x98, 0x00, 0x00, 0x17, 0x70, 0x9c, 0xba, 0x51, 0x3c, 0x00, 0x00, - 0x00, 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00, 0x2e, 0x23, 0x00, 0x00, - 0x2e, 0x23, 0x01, 0x78, 0xa5, 0x3f, 0x76, 0x00, 0x00, 0x00, 0x07, 0x74, - 0x49, 0x4d, 0x45, 0x07, 0xea, 0x03, 0x02, 0x0c, 0x15, 0x0e, 0x4f, 0xb5, - 0x12, 0x68, 0x00, 0x00, 0x08, 0x0d, 0x49, 0x44, 0x41, 0x54, 0x78, 0xda, - 0xed, 0x9d, 0x7b, 0x8c, 0x1d, 0x55, 0x1d, 0xc7, 0x3f, 0xdb, 0x6e, 0x69, - 0x59, 0xa8, 0x5d, 0x15, 0x4a, 0xa9, 0xa5, 0x0a, 0xb4, 0xb0, 0xa5, 0x04, - 0x5d, 0xa1, 0x8a, 0x95, 0x47, 0x6a, 0x24, 0xac, 0x06, 0x26, 0x02, 0xa2, - 0xd1, 0x84, 0xa4, 0xe5, 0x71, 0x70, 0xc0, 0xaa, 0x15, 0xad, 0x51, 0xa2, - 0x46, 0xeb, 0x03, 0xb0, 0x29, 0x4a, 0x28, 0x07, 0x26, 0x20, 0x48, 0x62, - 0x8b, 0x8f, 0x0a, 0x1e, 0xa1, 0x28, 0xc6, 0xd8, 0xd0, 0xf0, 0x90, 0x88, - 0x45, 0x5a, 0xc0, 0x4a, 0x1b, 0x10, 0x8b, 0x54, 0xab, 0xb5, 0x0f, 0xfa, - 0x5e, 0x5a, 0xff, 0x38, 0x53, 0x21, 0x9b, 0x7b, 0x67, 0xce, 0xdc, 0xdd, - 0xbb, 0xbb, 0x33, 0xf7, 0xfb, 0x49, 0x6e, 0xb2, 0xb9, 0xf7, 0x37, 0x67, - 0x7e, 0xfb, 0xbd, 0x73, 0xbe, 0xf7, 0x9c, 0x33, 0xe7, 0x9c, 0x01, 0x21, - 0x84, 0x10, 0x42, 0x08, 0x21, 0x84, 0x10, 0x42, 0x08, 0x21, 0x84, 0x10, - 0x42, 0x08, 0x21, 0x84, 0x10, 0x42, 0x08, 0x21, 0x84, 0x10, 0x42, 0x08, - 0x21, 0x84, 0x10, 0x42, 0x08, 0x11, 0x48, 0x9b, 0x24, 0x10, 0x62, 0x68, - 0x89, 0xe2, 0x64, 0x3c, 0xb0, 0x10, 0xb8, 0x24, 0x27, 0xf4, 0x01, 0x67, - 0xcd, 0x79, 0x55, 0xfa, 0xdf, 0xdb, 0x4b, 0xf2, 0x05, 0xcd, 0x06, 0xee, - 0x1c, 0xe0, 0x62, 0x7f, 0xe4, 0xac, 0x99, 0xad, 0xcb, 0x5f, 0x0c, 0xe1, - 0x75, 0x3d, 0x02, 0xb8, 0x02, 0xf8, 0x2e, 0xf0, 0xe6, 0x56, 0xd4, 0xa0, - 0x5d, 0x97, 0x81, 0x10, 0x43, 0x62, 0x3e, 0xdd, 0x80, 0x05, 0xde, 0xdb, - 0xca, 0x3a, 0xc8, 0x80, 0x84, 0x18, 0x5c, 0xe3, 0x19, 0x0b, 0x7c, 0x13, - 0x98, 0x0b, 0x8c, 0x6c, 0x75, 0x3d, 0xda, 0x4a, 0xfc, 0x45, 0x76, 0x01, - 0xcf, 0x05, 0x86, 0xcf, 0x71, 0xd6, 0xdc, 0xa5, 0xcb, 0x5f, 0x0c, 0xf1, - 0x35, 0x7b, 0x31, 0xf0, 0x7d, 0x60, 0x62, 0x83, 0x45, 0x68, 0x0c, 0x48, - 0x08, 0x51, 0xd8, 0x78, 0x8e, 0x07, 0x16, 0x03, 0xe7, 0xd6, 0xf8, 0x78, - 0x35, 0xd0, 0x0b, 0x74, 0xb7, 0xa2, 0x36, 0x23, 0x74, 0x79, 0x08, 0xd1, - 0x54, 0xf3, 0x99, 0x0c, 0xac, 0xa9, 0x61, 0x3e, 0xdb, 0x80, 0xcf, 0x03, - 0xef, 0x06, 0xfe, 0xda, 0xaa, 0xfa, 0xa8, 0x05, 0x24, 0x44, 0x73, 0xe9, - 0x00, 0xc6, 0xf4, 0x79, 0x6f, 0x29, 0x70, 0x8d, 0xb3, 0xe6, 0x95, 0xd4, - 0xa4, 0x5a, 0x56, 0x1c, 0x19, 0x90, 0x10, 0x83, 0xc7, 0x33, 0xc0, 0xa7, - 0x9d, 0x35, 0x2b, 0x24, 0x85, 0xba, 0x60, 0x42, 0x0c, 0x16, 0xaf, 0x02, - 0xf3, 0x81, 0x6e, 0x99, 0x8f, 0x5a, 0x40, 0x42, 0x0c, 0x26, 0x1b, 0x81, - 0x2e, 0x67, 0xcd, 0xcb, 0x92, 0x42, 0x06, 0x24, 0xc4, 0xa0, 0xe2, 0xac, - 0xd9, 0x02, 0x6c, 0x91, 0x12, 0x32, 0xa0, 0x21, 0x25, 0x8a, 0x93, 0x69, - 0xc0, 0x39, 0xc0, 0xa9, 0x40, 0x17, 0x30, 0x09, 0x18, 0x07, 0x1c, 0x0a, - 0xec, 0x03, 0x76, 0xa4, 0xbf, 0x96, 0x2f, 0x02, 0x4f, 0x01, 0x2b, 0x81, - 0x15, 0xce, 0x9a, 0xdd, 0x4d, 0xc8, 0xe5, 0x78, 0xe0, 0x22, 0xe0, 0xcc, - 0x34, 0x97, 0x09, 0x69, 0x1e, 0xbb, 0x81, 0x7f, 0xe2, 0xc7, 0x2a, 0x1e, - 0x02, 0x96, 0x38, 0x6b, 0x36, 0xb7, 0xba, 0x5e, 0x42, 0x06, 0x54, 0x56, - 0xd3, 0x19, 0x83, 0x5f, 0xeb, 0x73, 0x25, 0x30, 0x3d, 0x23, 0x74, 0x74, - 0xfa, 0x7a, 0x0b, 0x70, 0x12, 0xf0, 0xe1, 0x83, 0x63, 0x07, 0x51, 0x9c, - 0xdc, 0x03, 0x2c, 0x72, 0xd6, 0x3c, 0x37, 0x00, 0xf9, 0x9c, 0x8c, 0x5f, - 0x77, 0x54, 0x6f, 0x32, 0xdb, 0x61, 0xc0, 0x71, 0xe9, 0xeb, 0x7c, 0xe0, - 0xba, 0x28, 0x4e, 0x16, 0x00, 0x37, 0x38, 0x6b, 0x0e, 0x44, 0x71, 0xb2, - 0x3b, 0xcd, 0xb3, 0x08, 0x6b, 0x9d, 0x35, 0x5d, 0x65, 0xd4, 0x4b, 0x34, - 0x1f, 0x0d, 0x42, 0x37, 0xcf, 0x7c, 0x2e, 0x04, 0xd6, 0x01, 0x37, 0xe5, - 0x54, 0xa6, 0x2c, 0x0e, 0x07, 0x2e, 0x07, 0x56, 0x47, 0x71, 0x72, 0x6b, - 0x3a, 0x8d, 0xbf, 0xd1, 0x7c, 0xbe, 0x00, 0xfc, 0x29, 0xc3, 0x7c, 0xea, - 0x19, 0xd2, 0x75, 0xc0, 0x4f, 0xa2, 0x38, 0x19, 0xd9, 0x4a, 0x7a, 0x09, - 0x19, 0x50, 0x59, 0x8d, 0xa7, 0x3d, 0x8a, 0x93, 0x5b, 0x81, 0x65, 0xc0, - 0xdb, 0xea, 0x84, 0xed, 0x04, 0xbe, 0x9e, 0x76, 0x2d, 0x3a, 0x80, 0xa3, - 0x81, 0x8f, 0x02, 0xab, 0xea, 0xc4, 0x8f, 0x4c, 0x5b, 0x05, 0x7f, 0x8e, - 0xe2, 0x64, 0x7a, 0x03, 0x39, 0xfd, 0x00, 0xf8, 0x1e, 0x30, 0xaa, 0xc1, - 0x7f, 0xeb, 0x62, 0xe0, 0x5b, 0xad, 0xa2, 0x97, 0x50, 0x17, 0xac, 0xb4, - 0xe6, 0x93, 0x56, 0xa4, 0x28, 0x23, 0x6c, 0x17, 0x30, 0xcb, 0x59, 0xf3, - 0x44, 0x9f, 0xf7, 0x96, 0x45, 0x71, 0xb2, 0x1c, 0x78, 0x00, 0x98, 0x55, - 0xe7, 0xd8, 0x63, 0x81, 0x47, 0xa2, 0x38, 0x99, 0xe5, 0xac, 0x59, 0x15, - 0x98, 0xd3, 0x5c, 0xe0, 0x33, 0x01, 0xa1, 0x1b, 0x81, 0x05, 0xc0, 0xfd, - 0xf8, 0x71, 0xa0, 0x23, 0x81, 0x1e, 0xe0, 0x6b, 0xc0, 0x31, 0xc0, 0x17, - 0x03, 0x7f, 0xb0, 0x7e, 0xe3, 0xac, 0xe9, 0x29, 0xab, 0x5e, 0x42, 0x2d, - 0xa0, 0x32, 0xb3, 0x38, 0xa7, 0x32, 0x01, 0x7c, 0xbb, 0x4f, 0x65, 0xfa, - 0x3f, 0xce, 0x9a, 0x5d, 0xc0, 0x65, 0xc0, 0xde, 0x8c, 0xe3, 0xc7, 0x01, - 0x0f, 0x46, 0x71, 0x72, 0x74, 0x40, 0x05, 0x3f, 0x11, 0xb8, 0x3e, 0x20, - 0xef, 0x57, 0x80, 0x19, 0xce, 0x9a, 0x5b, 0x9c, 0x35, 0x2f, 0x39, 0x6b, - 0xf6, 0x38, 0x6b, 0x36, 0x38, 0x6b, 0x6e, 0xc7, 0x0f, 0x02, 0xaf, 0x4b, - 0x5b, 0x15, 0x6d, 0x55, 0xd6, 0x4b, 0xc8, 0x80, 0xca, 0xdc, 0xfa, 0xb9, - 0x08, 0x30, 0x39, 0x61, 0xfb, 0xd2, 0x4a, 0x57, 0x17, 0x67, 0xcd, 0x0b, - 0x69, 0x2b, 0x24, 0x8b, 0xa3, 0x80, 0xbb, 0x03, 0xd2, 0xba, 0x0d, 0x7f, - 0xd7, 0x28, 0x8f, 0x79, 0xce, 0x9a, 0x0d, 0x75, 0xf2, 0xd9, 0x94, 0x56, - 0xf2, 0x56, 0xd0, 0x4b, 0xc8, 0x80, 0x4a, 0x69, 0x3e, 0xa3, 0x81, 0x1b, - 0x03, 0x42, 0xff, 0x90, 0xce, 0x0b, 0xc9, 0xe3, 0xa1, 0x80, 0x98, 0x0f, - 0x46, 0x71, 0x72, 0x41, 0x46, 0x4e, 0xef, 0x02, 0xce, 0x0e, 0x28, 0x67, - 0x33, 0xf0, 0x8b, 0x9c, 0x4a, 0xfe, 0x70, 0xc6, 0x78, 0x4b, 0x25, 0xf4, - 0x12, 0x32, 0xa0, 0x32, 0x73, 0x49, 0x3a, 0x4e, 0x92, 0xc7, 0x1f, 0x03, - 0xcb, 0x7b, 0x32, 0x30, 0xee, 0x2b, 0x19, 0x9f, 0x5d, 0x1d, 0x58, 0xc6, - 0x0a, 0x67, 0xcd, 0xbe, 0x80, 0xb8, 0x5f, 0x57, 0x5c, 0x2f, 0x21, 0x03, - 0x2a, 0x2d, 0x97, 0x06, 0xc6, 0x85, 0x6e, 0xbb, 0xf0, 0x7c, 0x60, 0xdc, - 0x69, 0x51, 0x9c, 0x9c, 0x52, 0xe7, 0xb3, 0xd0, 0x5f, 0xfb, 0xd0, 0x96, - 0xcd, 0x63, 0x15, 0xd7, 0x4b, 0xc8, 0x80, 0x4a, 0xd9, 0xfd, 0x3a, 0x0a, - 0x38, 0x3d, 0x30, 0xfc, 0xef, 0x21, 0x41, 0xce, 0x9a, 0xad, 0xf8, 0x05, - 0x8c, 0x41, 0x29, 0xd4, 0xc8, 0x69, 0x2a, 0xf0, 0xd6, 0xc0, 0xe3, 0xd7, - 0x07, 0xc6, 0xbd, 0x58, 0x55, 0xbd, 0x84, 0x0c, 0xa8, 0xcc, 0xcc, 0x24, - 0xfc, 0xee, 0xd0, 0xbf, 0x0b, 0x94, 0xfb, 0x9f, 0xc0, 0xb8, 0xf7, 0xd7, - 0x78, 0xef, 0xf4, 0x02, 0xe7, 0xd9, 0x38, 0x90, 0x66, 0x50, 0x52, 0xbd, - 0x84, 0x0c, 0xa8, 0xb4, 0x9c, 0x5c, 0x20, 0x76, 0x6b, 0x13, 0x62, 0x6b, - 0x9d, 0xff, 0x84, 0x02, 0xe7, 0xd9, 0x14, 0x18, 0xb7, 0xa3, 0xc2, 0x7a, - 0x09, 0x19, 0x50, 0x69, 0x99, 0x5c, 0x20, 0x76, 0x67, 0x81, 0xd8, 0x5d, - 0x81, 0x71, 0x13, 0xd3, 0x09, 0x7d, 0x6f, 0xa4, 0xc8, 0x33, 0xa6, 0x82, - 0x16, 0x6f, 0xa6, 0x03, 0xd5, 0xaf, 0x55, 0x54, 0x2f, 0x21, 0x03, 0x2a, - 0x2d, 0x9d, 0x05, 0x62, 0xf7, 0x35, 0x21, 0x76, 0x04, 0x30, 0xb6, 0x1f, - 0x39, 0xed, 0x2d, 0x10, 0xdb, 0x5b, 0x51, 0xbd, 0x84, 0x0c, 0xa8, 0xb4, - 0x14, 0x59, 0x1d, 0xbe, 0xbf, 0x49, 0xb1, 0x7d, 0xf7, 0x1c, 0x3e, 0xbc, - 0x49, 0x95, 0xbc, 0xaa, 0x7a, 0x09, 0x19, 0x50, 0x69, 0xd9, 0xd3, 0x24, - 0xbd, 0x8b, 0xc4, 0xf6, 0xed, 0x46, 0xbd, 0x5a, 0xe0, 0xd8, 0x51, 0xd2, - 0x4b, 0xc8, 0x80, 0xca, 0xcb, 0x7f, 0x9b, 0x54, 0xd9, 0x43, 0x63, 0xf7, - 0x03, 0xdb, 0xfb, 0x91, 0xd3, 0x21, 0x05, 0x62, 0xdb, 0x2b, 0xaa, 0x97, - 0x90, 0x01, 0x95, 0x96, 0x97, 0x0a, 0xc4, 0x76, 0x14, 0x88, 0x3d, 0x34, - 0x30, 0xee, 0x65, 0x67, 0x4d, 0x6f, 0x3f, 0x2a, 0x79, 0xd0, 0x79, 0xa2, - 0x38, 0x19, 0xc5, 0xc0, 0x3c, 0x4a, 0x78, 0x38, 0xea, 0x25, 0x64, 0x40, - 0xa5, 0x65, 0x75, 0x81, 0xd8, 0x71, 0x05, 0x62, 0x3b, 0xfb, 0x71, 0xfe, - 0xb5, 0x05, 0xce, 0x33, 0x3e, 0x30, 0xee, 0xb0, 0x0a, 0xeb, 0x25, 0x64, - 0x40, 0xa5, 0xe5, 0x31, 0xc2, 0x07, 0x40, 0x8f, 0x2c, 0x50, 0x6e, 0xe8, - 0x4c, 0xe6, 0x47, 0x6a, 0xbc, 0xf7, 0x78, 0x81, 0xf3, 0x4c, 0x08, 0x8c, - 0x3b, 0xa6, 0xc2, 0x7a, 0x09, 0x19, 0xd0, 0xf0, 0x25, 0x8a, 0x93, 0x85, - 0x51, 0x9c, 0x1c, 0x78, 0xc3, 0x6b, 0xca, 0xc1, 0xcf, 0x9c, 0x35, 0xff, - 0x02, 0x1e, 0x0d, 0x2c, 0x6a, 0x52, 0xe0, 0xf9, 0x3a, 0x0b, 0xb4, 0x38, - 0xee, 0xeb, 0xfb, 0x86, 0xb3, 0x66, 0x3d, 0xe1, 0x13, 0x0c, 0xa7, 0x04, - 0xc6, 0xbd, 0x63, 0x20, 0xb4, 0x1c, 0x8e, 0x7a, 0x09, 0x19, 0x50, 0xd9, - 0xb9, 0x23, 0x30, 0xee, 0x84, 0x01, 0x8e, 0x7b, 0xdc, 0x59, 0xf3, 0x6c, - 0x9d, 0xcf, 0x96, 0x05, 0x96, 0xd1, 0x1d, 0x18, 0xf7, 0xbe, 0x8a, 0xeb, - 0x25, 0x64, 0x40, 0xa5, 0x65, 0x09, 0x61, 0x8b, 0x35, 0x67, 0x04, 0x96, - 0x77, 0x6a, 0x60, 0xdc, 0x77, 0x32, 0x3e, 0x5b, 0x1c, 0x58, 0xc6, 0xd9, - 0xe9, 0xfe, 0x3c, 0x79, 0xf4, 0x54, 0x5c, 0x2f, 0x21, 0x03, 0x2a, 0x27, - 0xce, 0x9a, 0xbd, 0xc0, 0xe7, 0x02, 0x42, 0xdf, 0x13, 0xc5, 0x49, 0xc8, - 0x32, 0x89, 0x73, 0x03, 0x62, 0x96, 0x3b, 0x6b, 0x7e, 0x95, 0x91, 0xd3, - 0x1a, 0xe0, 0x77, 0x01, 0xe5, 0x74, 0x02, 0x1f, 0xcb, 0xe9, 0xe2, 0x9c, - 0x55, 0xa0, 0xa5, 0x54, 0x4a, 0xbd, 0x84, 0x0c, 0xa8, 0xec, 0x26, 0xf4, - 0x4b, 0xe0, 0x96, 0x9c, 0xb0, 0x51, 0xc0, 0x55, 0x39, 0x95, 0x7d, 0x0a, - 0xaf, 0x3f, 0xe7, 0xaa, 0x1e, 0xff, 0x00, 0xe6, 0x04, 0xa4, 0xf5, 0x29, - 0xc2, 0x16, 0x91, 0x2e, 0x8c, 0xe2, 0xe4, 0xed, 0x75, 0xf2, 0x39, 0xa2, - 0x40, 0x97, 0xa9, 0xec, 0x7a, 0x09, 0x19, 0x50, 0xa9, 0xf9, 0x2c, 0x70, - 0x6f, 0x4e, 0xcc, 0xb5, 0x51, 0x9c, 0xcc, 0xa8, 0x53, 0x99, 0x3a, 0x80, - 0x1f, 0x92, 0x3d, 0xa9, 0x6e, 0x33, 0xd0, 0x93, 0x0e, 0xe6, 0xe6, 0x55, - 0xf2, 0x75, 0xc0, 0xfc, 0x80, 0xbc, 0xc7, 0x03, 0x4f, 0x44, 0x71, 0x72, - 0x75, 0x14, 0x27, 0x93, 0xa3, 0x38, 0x39, 0x24, 0x8a, 0x93, 0x89, 0x51, - 0x9c, 0x5c, 0x86, 0x7f, 0x96, 0xd8, 0x14, 0xfc, 0x42, 0xd4, 0x03, 0x55, - 0xd6, 0x4b, 0x0c, 0x3e, 0x6d, 0x65, 0x48, 0x32, 0x8a, 0x93, 0xd9, 0xc0, - 0x9d, 0xc3, 0x28, 0xa5, 0xa9, 0x69, 0xe5, 0xae, 0x95, 0x6b, 0x3b, 0xfe, - 0xe1, 0x7a, 0x71, 0xc6, 0xf1, 0x3b, 0xf1, 0x4f, 0xab, 0xb8, 0x07, 0x3f, - 0x31, 0x6f, 0x1c, 0x70, 0x06, 0xf0, 0x55, 0xe0, 0x9d, 0x19, 0xc7, 0x3d, - 0x0f, 0x9c, 0xef, 0xac, 0x59, 0x5b, 0x50, 0xbf, 0x1b, 0x03, 0xbb, 0x3c, - 0x59, 0x5c, 0x9f, 0x96, 0x91, 0x37, 0x5e, 0x14, 0xfc, 0x58, 0x9e, 0xe1, - 0xaa, 0x57, 0x13, 0xae, 0xdf, 0x8f, 0x04, 0x18, 0xed, 0x40, 0x70, 0x45, - 0xfa, 0x24, 0x13, 0xb5, 0x80, 0x5a, 0xb8, 0x2b, 0xd6, 0xeb, 0xac, 0xb9, - 0x0a, 0xb8, 0x10, 0xd8, 0x50, 0x27, 0xac, 0x03, 0xf8, 0x06, 0x7e, 0xc2, - 0xe0, 0x2e, 0xfc, 0xa6, 0x60, 0x3f, 0xcf, 0xa8, 0x4c, 0xbd, 0xc0, 0xcd, - 0x40, 0x77, 0x23, 0x95, 0xc9, 0x59, 0x33, 0x0f, 0xb8, 0x86, 0xc6, 0x17, - 0x9e, 0xfe, 0x0c, 0xb8, 0xb6, 0x55, 0xf4, 0x12, 0x32, 0xa0, 0x2a, 0x18, - 0xd1, 0xbd, 0xc0, 0x54, 0x60, 0x2e, 0xf0, 0x4c, 0x83, 0xc5, 0x6c, 0x07, - 0x12, 0x60, 0xba, 0xb3, 0x66, 0xae, 0xb3, 0x66, 0x47, 0x3f, 0xf2, 0x59, - 0x84, 0x1f, 0x48, 0xbe, 0xbf, 0xc0, 0x61, 0x3b, 0x81, 0x2f, 0x03, 0x1f, - 0x77, 0xd6, 0x84, 0xee, 0x05, 0x74, 0xa0, 0x0a, 0x7a, 0x09, 0x75, 0xc1, - 0x2a, 0x45, 0x14, 0x27, 0xd3, 0x80, 0x73, 0x80, 0xd3, 0xf0, 0x8f, 0x18, - 0x9e, 0x84, 0xbf, 0x03, 0x35, 0x3a, 0xfd, 0xc5, 0xde, 0x91, 0xfe, 0xb2, - 0xbf, 0x00, 0x3c, 0x05, 0x3c, 0x8c, 0x7f, 0x62, 0xc5, 0x9e, 0x26, 0xe4, - 0x72, 0x1c, 0xfe, 0xd1, 0xc6, 0x67, 0x01, 0xd3, 0xf0, 0xb3, 0xa1, 0xc7, - 0xe0, 0x57, 0xaa, 0x6f, 0x04, 0xd6, 0x00, 0xbf, 0x05, 0x7e, 0xec, 0xac, - 0xd9, 0x9c, 0x1e, 0xd3, 0x86, 0x1f, 0x07, 0xca, 0xbb, 0x66, 0xee, 0x73, - 0xd6, 0x5c, 0x50, 0x25, 0xbd, 0x84, 0x0c, 0x48, 0x0c, 0xbd, 0x81, 0x8e, - 0x05, 0xb6, 0x05, 0x84, 0xde, 0xe1, 0xac, 0xb9, 0x5c, 0x8a, 0x09, 0x75, - 0xc1, 0xc4, 0x40, 0x12, 0xba, 0x2e, 0xeb, 0x2f, 0x92, 0x4a, 0x84, 0xa2, - 0xbd, 0x71, 0xab, 0xdf, 0x72, 0xd9, 0xcd, 0xeb, 0x77, 0xae, 0x66, 0x3a, - 0x6b, 0x1a, 0x7d, 0xbe, 0x57, 0xe8, 0x66, 0xee, 0xbf, 0x97, 0xea, 0x42, - 0x2d, 0x20, 0x51, 0x8b, 0x33, 0xfb, 0x71, 0xec, 0x19, 0x21, 0xad, 0x1f, - 0x67, 0xcd, 0x93, 0x92, 0x59, 0xc8, 0x80, 0x44, 0x2d, 0xe6, 0x44, 0x71, - 0x52, 0xf8, 0x3b, 0x8f, 0xe2, 0x64, 0x24, 0xf0, 0x89, 0x80, 0xd0, 0x05, - 0x92, 0x58, 0xc8, 0x80, 0x44, 0x3d, 0xba, 0xf0, 0xf3, 0x81, 0x8a, 0xf2, - 0x25, 0xf2, 0xb7, 0xc6, 0x58, 0x0e, 0x2c, 0x95, 0xc4, 0xa2, 0x08, 0xba, - 0x0b, 0x56, 0x71, 0xfa, 0x8c, 0x01, 0x81, 0x9f, 0xa7, 0x33, 0x1f, 0x58, - 0xe4, 0xac, 0xd9, 0x9f, 0x73, 0x6c, 0x1b, 0x30, 0x0f, 0xb8, 0x81, 0xec, - 0xed, 0x58, 0x57, 0x01, 0x1f, 0x70, 0xd6, 0x6c, 0x91, 0xe2, 0x42, 0x06, - 0x24, 0xb2, 0x0c, 0xe8, 0x20, 0xcf, 0x02, 0x77, 0x01, 0x2b, 0xf1, 0x4b, - 0x16, 0xb6, 0xe2, 0xd7, 0x54, 0x75, 0xe2, 0x27, 0x04, 0xce, 0x04, 0x2e, - 0x4d, 0xff, 0xce, 0xe2, 0x41, 0xe0, 0x93, 0x32, 0x1f, 0xd1, 0x08, 0xba, - 0x0b, 0xd6, 0xba, 0x9c, 0x94, 0xb6, 0x6c, 0x1a, 0xe5, 0x6f, 0xc0, 0x7c, - 0x67, 0xcd, 0x4f, 0x25, 0xa5, 0x90, 0x01, 0x89, 0x2c, 0xa3, 0xe9, 0x01, - 0x3e, 0x84, 0x9f, 0xf9, 0xfc, 0xa6, 0x7e, 0x94, 0xf5, 0x1a, 0xfe, 0x36, - 0xfb, 0x52, 0x60, 0x89, 0xb3, 0x46, 0xcf, 0xd7, 0x12, 0xea, 0x82, 0x89, - 0xe0, 0xee, 0x58, 0x1b, 0x70, 0x22, 0x7e, 0xa7, 0xc1, 0x53, 0x80, 0x63, - 0xf1, 0x7b, 0x3d, 0x4f, 0xc0, 0xef, 0xa9, 0x7c, 0x70, 0x5f, 0xe5, 0xed, - 0xf8, 0x59, 0xcf, 0xdb, 0x80, 0xf5, 0xc0, 0xd3, 0xe9, 0x6b, 0xa5, 0xb3, - 0x66, 0x93, 0x94, 0x14, 0x42, 0x08, 0x21, 0x84, 0x10, 0x42, 0x08, 0x21, - 0x84, 0x10, 0x42, 0x08, 0x21, 0x84, 0x10, 0x42, 0x08, 0x21, 0x84, 0x18, - 0x76, 0xfc, 0x0f, 0x0c, 0x22, 0xc2, 0x10, 0x86, 0xd6, 0xfb, 0xe0, 0x00, - 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82}; -unsigned int image_logo1_len = 2231; + 0x08, 0x03, 0x00, 0x00, 0x00, 0x61, 0x8d, 0xd8, 0x31, 0x00, 0x00, 0x00, + 0x20, 0x63, 0x48, 0x52, 0x4d, 0x00, 0x00, 0x7a, 0x26, 0x00, 0x00, 0x80, + 0x84, 0x00, 0x00, 0xfa, 0x00, 0x00, 0x00, 0x80, 0xe8, 0x00, 0x00, 0x75, + 0x30, 0x00, 0x00, 0xea, 0x60, 0x00, 0x00, 0x3a, 0x98, 0x00, 0x00, 0x17, + 0x70, 0x9c, 0xba, 0x51, 0x3c, 0x00, 0x00, 0x02, 0x58, 0x50, 0x4c, 0x54, + 0x45, 0x00, 0x00, 0x00, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, + 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, + 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, + 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, + 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, + 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, + 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, + 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, + 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, + 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, + 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, + 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, + 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, + 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, + 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, + 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, + 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, + 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, + 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, + 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, + 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, + 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, + 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, + 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, + 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, + 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, + 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, + 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, + 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, + 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, + 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, + 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, + 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, + 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, + 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, + 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, + 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, + 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, + 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, + 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, + 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, + 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, + 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, + 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, + 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, + 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, + 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, + 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, + 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, + 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0x4e, 0x69, 0x9a, 0xff, 0xff, + 0xff, 0x47, 0xd6, 0xec, 0xff, 0x00, 0x00, 0x00, 0xc6, 0x74, 0x52, 0x4e, + 0x53, 0x00, 0x16, 0xa2, 0xb4, 0x60, 0xa0, 0x02, 0x67, 0xee, 0x31, 0xc8, + 0x0d, 0x8f, 0xfc, 0x28, 0x55, 0xe5, 0x23, 0xb8, 0xd2, 0xce, 0x1e, 0xf7, + 0xf1, 0x71, 0x04, 0xa8, 0xa6, 0x19, 0xd4, 0x40, 0xf3, 0x75, 0x05, 0x10, + 0x1b, 0x29, 0x6e, 0xa1, 0xc9, 0xf4, 0xfd, 0xf8, 0xed, 0xd5, 0xb5, 0x85, + 0x48, 0x08, 0x76, 0xb3, 0xdb, 0xdd, 0xb2, 0x6c, 0x12, 0x6d, 0x9b, 0x2c, + 0x77, 0x01, 0xd8, 0x52, 0xe4, 0x98, 0x74, 0xfa, 0xaa, 0x03, 0xf5, 0x7e, + 0x27, 0x09, 0x18, 0x53, 0xde, 0x2b, 0x91, 0x87, 0xb1, 0xf6, 0x36, 0xbe, + 0xf0, 0xe7, 0x6a, 0x07, 0x1c, 0x64, 0xe2, 0xfe, 0x99, 0x7b, 0x21, 0xf9, + 0xe8, 0xe6, 0x15, 0xad, 0xbb, 0xc0, 0x57, 0x3e, 0xc3, 0x51, 0x30, 0x34, + 0xcb, 0x86, 0xc6, 0x69, 0x0f, 0x2e, 0xec, 0x7c, 0x4d, 0x17, 0x4c, 0x25, + 0x59, 0x2d, 0x38, 0xe0, 0xb7, 0x5d, 0x41, 0x7d, 0xd1, 0xe3, 0x83, 0x1f, + 0x94, 0x24, 0xab, 0x1a, 0x11, 0xa4, 0xc1, 0xb0, 0x9a, 0x93, 0x82, 0x4f, + 0xe1, 0x5b, 0x43, 0x7a, 0x8c, 0x2a, 0xea, 0x7f, 0xc7, 0x97, 0x06, 0xdf, + 0xc4, 0xef, 0xbc, 0x95, 0xe9, 0x14, 0xae, 0x35, 0x0a, 0xc2, 0x6b, 0x63, + 0x96, 0x26, 0xd0, 0xda, 0x88, 0x50, 0xfb, 0x0b, 0x72, 0xf2, 0x78, 0xca, + 0xd6, 0x47, 0x22, 0xaf, 0x9c, 0x39, 0x4e, 0x33, 0x8a, 0xd7, 0x5a, 0x13, + 0xb6, 0x56, 0x62, 0x8b, 0xac, 0xcc, 0x80, 0x65, 0x46, 0x51, 0x5d, 0x00, + 0x00, 0x00, 0x01, 0x62, 0x4b, 0x47, 0x44, 0xc7, 0x8d, 0x05, 0x4a, 0x5b, + 0x00, 0x00, 0x00, 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00, 0x2e, 0x23, + 0x00, 0x00, 0x2e, 0x23, 0x01, 0x78, 0xa5, 0x3f, 0x76, 0x00, 0x00, 0x00, + 0x07, 0x74, 0x49, 0x4d, 0x45, 0x07, 0xea, 0x03, 0x02, 0x0f, 0x2d, 0x1d, + 0xde, 0xd2, 0x51, 0x14, 0x00, 0x00, 0x00, 0x25, 0x74, 0x45, 0x58, 0x74, + 0x64, 0x61, 0x74, 0x65, 0x3a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x00, + 0x32, 0x30, 0x32, 0x36, 0x2d, 0x30, 0x33, 0x2d, 0x30, 0x32, 0x54, 0x31, + 0x32, 0x3a, 0x32, 0x31, 0x3a, 0x32, 0x38, 0x2b, 0x30, 0x30, 0x3a, 0x30, + 0x30, 0x61, 0xac, 0x50, 0x60, 0x00, 0x00, 0x00, 0x25, 0x74, 0x45, 0x58, + 0x74, 0x64, 0x61, 0x74, 0x65, 0x3a, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, + 0x00, 0x32, 0x30, 0x32, 0x36, 0x2d, 0x30, 0x33, 0x2d, 0x30, 0x32, 0x54, + 0x31, 0x32, 0x3a, 0x32, 0x31, 0x3a, 0x31, 0x34, 0x2b, 0x30, 0x30, 0x3a, + 0x30, 0x30, 0x59, 0xde, 0x85, 0x4b, 0x00, 0x00, 0x00, 0x28, 0x74, 0x45, + 0x58, 0x74, 0x64, 0x61, 0x74, 0x65, 0x3a, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x00, 0x32, 0x30, 0x32, 0x36, 0x2d, 0x30, 0x33, + 0x2d, 0x30, 0x32, 0x54, 0x31, 0x35, 0x3a, 0x34, 0x35, 0x3a, 0x32, 0x39, + 0x2b, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x7d, 0xbe, 0xae, 0xd6, 0x00, 0x00, + 0x04, 0x72, 0x49, 0x44, 0x41, 0x54, 0x78, 0xda, 0xed, 0x9a, 0x67, 0x5b, + 0x13, 0x41, 0x14, 0x85, 0x17, 0xbb, 0x42, 0x14, 0x10, 0xd4, 0x28, 0x4a, + 0x11, 0x94, 0x80, 0x68, 0x40, 0x41, 0xc0, 0x58, 0x88, 0x22, 0xc5, 0x16, + 0x0b, 0x08, 0xf6, 0x8a, 0xd8, 0x0b, 0xd8, 0xb1, 0x63, 0xef, 0xbd, 0xf7, + 0xde, 0x2b, 0xf6, 0x5e, 0xf6, 0x77, 0x99, 0x4d, 0x76, 0xee, 0xdd, 0xfa, + 0x30, 0x91, 0x47, 0x77, 0x07, 0xe7, 0x7c, 0xca, 0x9c, 0x9c, 0x9c, 0x4c, + 0x5e, 0xc2, 0xec, 0xec, 0x6e, 0x04, 0x81, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, + 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x2b, 0x64, 0x85, 0xb5, 0x10, + 0x65, 0xb5, 0xfc, 0xbb, 0x6f, 0xd4, 0x4a, 0x34, 0x50, 0x6b, 0xab, 0x3f, + 0x7e, 0x63, 0x6a, 0xd3, 0xb6, 0x9d, 0xc8, 0x01, 0x99, 0xab, 0x7d, 0x07, + 0xc5, 0x64, 0x39, 0x20, 0xad, 0xc2, 0x23, 0x1c, 0xe2, 0xbf, 0x03, 0x14, + 0x50, 0x47, 0x7c, 0xbb, 0x56, 0x56, 0x7f, 0xfc, 0x46, 0xd5, 0x29, 0x52, + 0xfd, 0xd7, 0xe4, 0x80, 0x54, 0x8a, 0x8a, 0x0e, 0x4c, 0xb3, 0x73, 0x0c, + 0x07, 0x64, 0xa8, 0xd8, 0x2e, 0xd2, 0x24, 0xbb, 0x76, 0x73, 0x76, 0xe7, + 0x80, 0xcc, 0x67, 0xda, 0x23, 0x4e, 0x10, 0x38, 0x20, 0xd3, 0x99, 0xf6, + 0xec, 0x25, 0x3d, 0xe0, 0x80, 0x4c, 0x66, 0x1a, 0x9f, 0x90, 0x28, 0x70, + 0x40, 0xe6, 0x4a, 0xea, 0x2d, 0x3f, 0xe0, 0x80, 0x1a, 0x91, 0x7d, 0x01, + 0x25, 0xa7, 0xf4, 0xe9, 0x1b, 0x99, 0xea, 0x4a, 0x4b, 0xef, 0x97, 0xd1, + 0x7f, 0x80, 0xdb, 0x30, 0x12, 0x95, 0x99, 0x35, 0x30, 0xde, 0x91, 0x3a, + 0x28, 0x3b, 0x67, 0x70, 0x93, 0xbb, 0x18, 0x03, 0xe4, 0xce, 0xed, 0xa9, + 0xda, 0xa4, 0xc5, 0xe7, 0x25, 0xeb, 0x32, 0xf9, 0x59, 0xf8, 0x7c, 0xea, + 0x10, 0x8f, 0x90, 0xa6, 0x7c, 0xc1, 0xd0, 0xd0, 0xba, 0x58, 0x03, 0x34, + 0x6c, 0xb8, 0xee, 0xac, 0xc4, 0x31, 0x22, 0x5c, 0x9d, 0x29, 0xf0, 0xaa, + 0x9e, 0x1f, 0x39, 0xca, 0x04, 0x10, 0x4d, 0x17, 0x63, 0x80, 0x9c, 0x23, + 0xe4, 0x4c, 0xe1, 0xe8, 0xa2, 0xe2, 0x92, 0x52, 0xb2, 0x97, 0x1d, 0x33, + 0x56, 0x19, 0x1a, 0xa7, 0xfd, 0xd4, 0xe3, 0x0d, 0x01, 0x51, 0x75, 0x31, + 0x06, 0xc8, 0x39, 0x41, 0x8e, 0xf8, 0x26, 0x06, 0xc6, 0xc5, 0x93, 0xe4, + 0xf1, 0xe4, 0xf6, 0x18, 0xca, 0x85, 0xa2, 0x29, 0x65, 0xb1, 0xe5, 0x53, + 0x2b, 0x2a, 0x45, 0xc7, 0x34, 0xe2, 0x44, 0x87, 0xd8, 0xc5, 0x1a, 0xa0, + 0xe9, 0x24, 0x32, 0x43, 0x36, 0x66, 0xce, 0x92, 0x8d, 0xd9, 0x71, 0x24, + 0x53, 0xe4, 0x23, 0xa1, 0x39, 0x53, 0x03, 0xc6, 0xdc, 0x81, 0x58, 0x1d, + 0x1d, 0x5a, 0x17, 0x6b, 0x80, 0x4a, 0x49, 0xc2, 0x9b, 0x44, 0xac, 0x79, + 0xc4, 0x9a, 0x4f, 0x9c, 0x05, 0xd0, 0xb3, 0x50, 0x76, 0xaa, 0x8c, 0x00, + 0x51, 0x75, 0x31, 0x06, 0xa8, 0xbc, 0x92, 0x24, 0x16, 0x81, 0xd7, 0x16, + 0x5e, 0x55, 0x1d, 0x34, 0x16, 0x83, 0x91, 0x9e, 0x48, 0x42, 0x31, 0x7a, + 0x40, 0x54, 0x5d, 0xac, 0x01, 0xaa, 0x80, 0x44, 0x04, 0x78, 0x4b, 0xc0, + 0x5b, 0x1a, 0x34, 0xf2, 0xc0, 0x98, 0x07, 0xa1, 0x65, 0x7a, 0x40, 0x54, + 0x5d, 0xac, 0x01, 0x5a, 0x0e, 0x89, 0x15, 0xe0, 0xad, 0xc4, 0x97, 0xad, + 0x0a, 0x18, 0xab, 0x61, 0xbc, 0x06, 0x42, 0x35, 0x7a, 0x40, 0x54, 0x5d, + 0x8c, 0x01, 0xaa, 0x85, 0x63, 0x91, 0xb8, 0x16, 0xdd, 0x78, 0x35, 0x90, + 0x75, 0x58, 0xb3, 0x1e, 0x32, 0x1b, 0x74, 0x80, 0xa8, 0xba, 0x58, 0x03, + 0x54, 0x8d, 0x89, 0x8d, 0xe8, 0x6e, 0x02, 0x73, 0xb3, 0x34, 0xac, 0xc3, + 0xd0, 0x16, 0xc8, 0x24, 0xe9, 0x00, 0x51, 0x75, 0xb1, 0x06, 0x68, 0x2b, + 0x26, 0x14, 0x27, 0x04, 0xdb, 0xc0, 0xdc, 0x2e, 0x0d, 0x77, 0x60, 0x28, + 0x1f, 0x32, 0x89, 0x3a, 0x40, 0x54, 0x5d, 0xac, 0x01, 0xc2, 0xe5, 0x57, + 0xdc, 0x89, 0x2e, 0xde, 0x7d, 0x71, 0x39, 0xfd, 0xc3, 0x5d, 0x18, 0xaa, + 0xc7, 0x90, 0x43, 0x0b, 0x88, 0xaa, 0x8b, 0x35, 0x40, 0xbb, 0x31, 0xb1, + 0x07, 0xdd, 0x45, 0xe8, 0xee, 0xf5, 0x0f, 0xf7, 0xe1, 0x30, 0x16, 0x43, + 0x69, 0x5a, 0x40, 0x54, 0x5d, 0xac, 0x01, 0xca, 0xc6, 0x44, 0x09, 0xba, + 0xfb, 0xd1, 0x95, 0x36, 0xc0, 0x07, 0xd4, 0x43, 0x33, 0x40, 0x54, 0x5d, + 0xac, 0x01, 0xe2, 0xdf, 0xa0, 0x46, 0x00, 0x1d, 0xa4, 0x59, 0x37, 0x0e, + 0xd1, 0xad, 0x41, 0x54, 0x5d, 0xac, 0x01, 0x5a, 0x83, 0x09, 0xc3, 0x23, + 0x4f, 0xa5, 0x34, 0x3c, 0x8c, 0xa1, 0x0d, 0x90, 0xd1, 0x1f, 0xc5, 0xa8, + 0xba, 0x58, 0x03, 0x74, 0x04, 0x13, 0x8a, 0xbd, 0xcb, 0x51, 0x30, 0x33, + 0xa4, 0xe1, 0x31, 0x0c, 0x1d, 0x87, 0x8c, 0x7e, 0x1f, 0x44, 0xd5, 0xc5, + 0x1a, 0xa0, 0x30, 0x17, 0x24, 0x6a, 0xd0, 0x4d, 0x05, 0xf3, 0x84, 0x34, + 0x8c, 0xc2, 0x9a, 0x63, 0x90, 0xd1, 0xef, 0xa4, 0xa9, 0xba, 0x98, 0x01, + 0x74, 0x52, 0x5e, 0x50, 0x70, 0x0d, 0xc5, 0xf3, 0x27, 0xfc, 0x72, 0x88, + 0xa7, 0x02, 0xc6, 0x69, 0x18, 0x9f, 0x81, 0x90, 0xc1, 0xb9, 0x18, 0x55, + 0x17, 0x6b, 0x80, 0xf0, 0x67, 0x32, 0x78, 0x06, 0x3e, 0x11, 0xbc, 0xb3, + 0x41, 0xe3, 0x1c, 0x18, 0x07, 0x20, 0x64, 0x70, 0x36, 0x4f, 0xd5, 0xc5, + 0x1a, 0xa0, 0xf3, 0x17, 0x48, 0xe2, 0x22, 0x3c, 0xb7, 0x42, 0xfb, 0xaf, + 0x92, 0x0f, 0xc6, 0xa5, 0x72, 0x12, 0x32, 0xb8, 0x1e, 0x44, 0xd5, 0xc5, + 0x1a, 0x20, 0x5c, 0x5a, 0xbd, 0xb0, 0x4d, 0x81, 0x8d, 0x21, 0x2c, 0xab, + 0x97, 0xa1, 0xa7, 0x4e, 0x76, 0xaa, 0x44, 0x3d, 0x20, 0xba, 0x2e, 0xd6, + 0x00, 0x09, 0x57, 0x48, 0x84, 0x5c, 0x47, 0xae, 0x27, 0x37, 0x78, 0x22, + 0xc3, 0x48, 0xba, 0x1e, 0x96, 0xda, 0xab, 0xc1, 0x2d, 0xce, 0x35, 0xe3, + 0x6b, 0xd2, 0x34, 0x5d, 0xcc, 0x01, 0x72, 0x5e, 0x97, 0x23, 0xbe, 0x1b, + 0x81, 0xf1, 0xcd, 0x5b, 0xf2, 0x38, 0x1d, 0x37, 0x3d, 0x42, 0x19, 0x14, + 0x5d, 0xbd, 0x1d, 0x7b, 0x7e, 0xcf, 0x1d, 0xb3, 0xbb, 0x1a, 0x34, 0x5d, + 0xf6, 0x00, 0x64, 0xf8, 0x1b, 0x45, 0x8d, 0xe4, 0x6d, 0xb1, 0xf3, 0xae, + 0x3c, 0x2e, 0x1c, 0x7d, 0xcf, 0x5d, 0x5b, 0x7a, 0x5f, 0x1e, 0x3d, 0x28, + 0x52, 0xf6, 0x45, 0x68, 0x5f, 0xfc, 0x50, 0x77, 0xaa, 0x41, 0xdd, 0x65, + 0xa4, 0x47, 0xa6, 0xb3, 0xac, 0xb0, 0x1c, 0x90, 0x20, 0x54, 0x6f, 0xd7, + 0x3d, 0xf7, 0xf8, 0xd0, 0x13, 0x75, 0xe1, 0x53, 0xd3, 0x3b, 0xab, 0xd1, + 0xaa, 0x1c, 0x4d, 0x17, 0x73, 0x80, 0x04, 0x77, 0x8e, 0xfa, 0x7e, 0xfa, + 0xb3, 0xe9, 0xf7, 0x74, 0x8d, 0x63, 0x15, 0xf7, 0xe6, 0x0b, 0x9f, 0x2b, + 0xee, 0xcd, 0x6b, 0xae, 0x14, 0xd2, 0x74, 0xd9, 0x00, 0x50, 0xc8, 0x4a, + 0x4e, 0x69, 0xf1, 0x62, 0x8e, 0xcf, 0x35, 0xab, 0xdd, 0xcb, 0x8c, 0xfe, + 0xaf, 0xca, 0x0d, 0x23, 0x0d, 0x99, 0x2d, 0x07, 0x15, 0xba, 0x7c, 0x63, + 0xb2, 0x73, 0x07, 0x0b, 0x82, 0x07, 0xd6, 0xa0, 0xd7, 0x7f, 0xd2, 0xd5, + 0xfc, 0x15, 0x0e, 0x7f, 0xe2, 0x37, 0x56, 0x4f, 0xc5, 0x9e, 0x6a, 0x00, + 0x40, 0x05, 0x56, 0x4f, 0xc5, 0x0e, 0xf2, 0x2f, 0x38, 0x6f, 0xd5, 0xce, + 0x3b, 0x00, 0xf4, 0xde, 0xea, 0xc9, 0xd9, 0x41, 0x7e, 0x40, 0x99, 0x6a, + 0xe7, 0x03, 0xe1, 0xf3, 0xd1, 0xea, 0xb9, 0xd9, 0x42, 0x7e, 0x40, 0x1f, + 0xdb, 0x28, 0x8d, 0x51, 0x70, 0x34, 0xff, 0x64, 0xf5, 0xdc, 0x6c, 0x21, + 0xe9, 0x98, 0x9e, 0xa0, 0x34, 0x4e, 0x10, 0x3e, 0x19, 0x1e, 0xab, 0xe7, + 0x66, 0x0b, 0x49, 0x80, 0xa6, 0x15, 0xc0, 0x77, 0xc8, 0xf3, 0x94, 0x5c, + 0x91, 0x8e, 0x49, 0x6a, 0x4a, 0x6d, 0xf3, 0x51, 0x70, 0x57, 0xd8, 0x2f, + 0x61, 0xe3, 0x67, 0x67, 0x71, 0x5c, 0xd5, 0xf3, 0x07, 0xe4, 0xfb, 0xf3, + 0x85, 0xf3, 0x09, 0x4a, 0xf5, 0x83, 0x44, 0xd0, 0xa6, 0xaf, 0x56, 0xcf, + 0xcb, 0x36, 0x6a, 0x28, 0xcb, 0xea, 0xaa, 0xa1, 0xe3, 0x98, 0xff, 0xcd, + 0x6d, 0xf5, 0xb4, 0x6c, 0x25, 0x4f, 0xc7, 0xba, 0xef, 0x3f, 0x7e, 0x0e, + 0xbf, 0xe4, 0xf5, 0xa6, 0x5f, 0xd8, 0x76, 0xfd, 0xd7, 0xb0, 0xb9, 0x56, + 0x4f, 0x88, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0xeb, 0xbf, 0xd2, 0x6f, + 0xb8, 0x30, 0xe5, 0xa5, 0xe4, 0x02, 0x03, 0xc5, 0x00, 0x00, 0x00, 0x00, + 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82}; +unsigned int image_logo1_len = 2264; diff --git a/src/image/logo1.png b/src/image/logo1.png index 8c58b04879be767b07e491a24cfc321c6833afe9..384d1b9c529de670849f10fd2a73689f205d4928 100644 GIT binary patch literal 2264 zcmeAS@N?(olHy`uVBq!ia0y~yU{nCIJvf+wWMc0PLm;J)>=ES4z)+>ez|hdb!0-zw z)bN6Vq11qZ;Z*_ygVhWM2JwP9y8>+(7?>ggd_r7-3j8u>jiS*IpkfI8|Nr0p+MEBt zv~{c`$S;^dY|)m41x)Gh3{UX(|IrA2s=VXUIl1p23t3hylf2^axs+8vS~G9q$uEC@ zyuG@$)q|sK^Xy$Iz2zoN3?gQa=hXV~vPPZM)5h+O9?JHxM9}h zCjW=g&Q(2Huj-FaXS;vo{hp~WMb?>e9m-Cgrgq_0N5F6HqE8j4uDL6%pJVA~+;u%l zcw1Of_nI>escwO>Kp!zCdAqwD?`8Fh268wHJR*x381$4un6YB1eHl=Yy~NYkmHibn z6ThzPy-R^2Kq1u<*NBpo#FA921GbWnhrF zCLjStLvDUbW?Cht2165whRA!Z-ari+a2rZ8b5n~;5_1bs^q5+im|7WGLiE(`TX&6t zfu+dP#WAGf*4tU>(ZY@*t>U|#L4{=DYYoH=uR;tsuelgHB7jRdq)TDJ<$a7|KoO5GwAR2Ck-K8U3@;9i+R{n zR@~6Lq_VrLxa@hunemuG%^qiXx0!6!{>{sfHzhi6`|bnPEBNKLF|R9*h% zrS!~KUf%DgU#xGqZ6Gvtrm4ZbiB=lc=>?N_OE5n<_jcv2B}bpDzBc+9`J?8QK>vhg zH3u(T*cHKSlC$I8nj?lvF>^IPtePipd5T5AS3J34j`9+HV|{TJTcE$k{CI z+@#){g(|^MlowhCGatLt7$GYgC7#{j<#}kf%bLm~v;60i7g_?v7R6rVhIeH?rS# zeev!q|M!OmV$PXSVAZFNxp40KeQ~PU0ro4-#$cgG_ZPS^$S#RA=exMp5#)oYX3oRP z{!2}4dKU6dxF~-V0}YIqJT&ByZSSd*cex4-IRkN(tP8%ZpIc0N4$VrQ zaPj?;mAhszmITEG6!0GXtp2B{V>#2YOo{o86Atc_2nB}bhjgO~Hao#Rn;jp^NU$rU z6qxyg%=s+t@kq&LyVLLWllYGw?%!I!O9UtA^QD_-2dQr`Eg?$_p*-%EOvMZZ7ep0EAxZ1y^l zOC>iM0#11OWqwTRJ8!!B?&+R?>re42^Ul;|7u{8pys4O-yNUhUg6s8{uKp3_tAAu3 z=6`fv7J~yTkmmcOZ;^lXoHfIjd#_I3bgXljnf09c;pdC5cHVTVbCAES(HmG`@;~M4 zogBrNGv+NY@e{CGieQ<-)S{VdqbqWoev#wQAwx8UN4be%+Fz>VJIKd;2=R{ZGCwi@#C!_xgsN jVg4PElHv9KOZhtto-TdD#C#N3VljBS`njxgN@xNAtd!j! delta 2160 zcmZ`*c{tQv8=l2jCuA2HLUv6gV`pBnRhGswmM~({crkX7-%L%e*HX5OXhha%DsNgu z_*EK82I(6ns-cj5!ut}^H~Rbg{yFD5=RW7TpYz<$b3JEt?~}a+%G$yZ2*mf4E?h7{ z6TF?VQ0{9(K(G)ZI-GETK>p5`*bYM!Y8V$6!BGHGUee={%vlITbdRf}11|N$Vnur1 zexLn4c4IM7_}jtqZjE)~51Z?Rf^X%NIG@vE3Lk`357BC;$Z=qk{9Ui=WApH4JvUvE zgX%7X+@ zW^Mr;37zW<(-{U-gC>m?{lCLrmm6BrgtOU`XRMp0TeWo7pv3+(pUux>?kk9X;U!fb z0r<)+yW1CnoJg{PwZb-x`P07dtAb0Z(ti+aKT;5%#@<-=QfNv+Uz8;>WUou)MJL&O zaN7o)lA!~LtN}7-yiRcWyIJ~S{)JG&C8x7U7g4X#)T<&2@EOiVs@b4K;*;v5nu%$m zL%7v4B(pKhc8oFrUl!i^(6o6Qq2-t`3t_FL#p=afX_+p0UmM`7s$3v_smBy-s4z3o zy4)6uMJn8ftx{vk@&oL#$b%|WV`6_FP=poM>aLn(a$(VhGA30T+BwBhpas}yuZR{? z5>XXjfG5{>(GS5qpaxWVcKOE>y;G^Y1H89KO2wko+Nr=~kG>j=jv*a=(smjvjPo5< zz7#T_ppCZCOibK7FA*ohpSTn*;>8$;8^&|2%^^P+c_AsdSd+0ZkUTq|0r1*%Pbxsn zF(gSx@&l{>7Ew}#S#ZRA_amr1So47lV<8UIdxGQcp$Z!|7t*T3yX(MRXs2)vHE*N206rqEj|R0Q~QgIuLaRpXJs!=NG@XwLk?oYlK?8f#Q#(t>F)fo8OOL~Poz z%Y(rP@KfHG9;nnYa(tpa!ftP?t@^SbMVVb5$S^x(LHZXEL=HoW>5+oncMp{R(}&~U zOL;TC`BW5b5w`Wt%}C%jZc(o9aycA3xeQ}V>Jm-)xeT|RI995=_L@LmlLS}GlSMr!cwf2+ddWb! z5(wV!&k`s0cT!qI{DKZ?!1awvg;|$l+W8rw<56A=hWAX%V93@Wy+2%jWS5Qm(^4E` zgWg`&aA23;-9Y3y=)Lca(&ux)FC!wX4u78x8uIqrw_4jvgIyBWwkpBa^^w%&HP{Rn zQxNIty^B6%1gR&JWC^5-Uo=1f$SFOkd9f>CRG9!EQb&WSWZ7Y{3$eAmru7#UV(a1m zx$lGf?OO$cux_T2EQEfHvRE{d9t-sPZBP!szq8Br?+fdyw$EHko;Ce8#vRt`$nE}j z@mNOyZ`AAEZeaU>8#wMC;p_0Rt-@gq1YyhoXeup$me5PZyOZVqvN?iYiXfhdwbM@< zOcSKlE70046*H%O#=b5hi8@L~5UjSyJC6`-Q(N>>v-tcjFm?Eah<(1HXUws>YJTp_*B*5 z+;-!(aBvN9=g}F>UZ9Uf$p!KIb~8wg2e7P$)FcoBX<%v|>?hU)s2^>sjLu z!?@U!Zy$Lv-rhb{W=TO6*)+zO4i-yJPy4JSf!ma4J#Y_4a(t4UPH_#!LMx{@+lvvD z1<*(3wz2Qwg5*Zp{u$w7l2gnDD_-i>HAYPV_ew}sI}_*0tnXIeJ?^xM*d2~ljT7ek z@G6vhY@`^=OnjhcmkPYy8Xr_iFEl?bx9xv(qRCJ8-sgNFrA7NVr%f%{N0fk81I|42 zsd%gOsHYASz9F3Xf@i#4A8I#n`*;V~Z=a%B@)~a{)tbdpyt#vHeeAPa4Ejn#9RP?6 zHRd0`^eS3JCbX?3@?J}%v)u}whH~lb0>iARhv29b4s8jMSS5a5Ea|zvlbp^lC4n-` z&sVxh>w=qE{(SYRaOXi6#2R6p2M}J}Joq(Ub!Ui0gbwptZuRi|nqq}GkS;{#0+Y*7 z8_q(BylIbIO5g-}Y6}!_K>{7rtBA)4+NTNT)1VvyL$|$5oALaiA~#xf2l>wDcy9lE z%DqTS(!L9we%~UOx=QD;M(SREp98o~qQH}wHn3e@1cyTaqi5nR%wju2bO_{1;vqyw+m1T`cu#A#z(dmO!QDi+Kj z_Iqg86+p8MYi6Ogw8|gb^_kcH*|&3a%R4l?<=DW8%-qFn-jcsc+=0x7=cg#)-_vb8 zz~#n_xR5F9#SQ$x808;uc$QSx5?Opr?te64rQ~fXY6G_FVlw|Dt`khYae9!lD&i4=a{_uIuz4y8IxzFo)?tRWZm+j0FbI^j+GV{jb4fU+9IXugT>hc0P`>aur33@ipazo1%L^{RiU9kSl8~m5++p~vd4>dlLSKo*h+vfh{HK@|h!SIXtmLV(NUG{~GRsL;9 zLt01XmV|LG*S|-koXIFQ`+AH zRHXL$);?a|k+Xkv*Ed*^LRtO4FqSWz5jT#vzocl5+e_N1!EYPXnCeEw{j}ZpDt$~@ z(JZ2&f}D|?*7ZlMqlY=o_mToj(FB%!`6Gj#(0Es~A!4W!e1d^bQL?gA)NCOQ70*yd;-FG_kHy}9Fm*RK+ ze*lQzz(JLgCn7-oKN)D0U~)LkE13E>Mi+ft7mY;yW}=>zzXO0RH*73S35)?@-YN;| zvh!sN71RK3glWe(X^o|V{NmYdS}$D^xwt+hg(l4=K&|2_H;2(GOU`u9gypcwBgL{A z#Ti8B_YoVp+3!)4hBai;luoDF_hsSJ+5EFfB>J2Da6g!Y)_+T#)kmn_fTD^b>hLk< zct?^)NFskJnqSBcd6;JgG&d#g;qBvvUtE)bV4W}f-@DA-n=IKSOxu>0n)+q39#m>q zz3>u0<;tg^-ApBsGJlb~W)3D`&81?Lz{8KP8;xx2<1 zPa90#4}xIDpgFhizHUnS+ySy-`B5|$hh9yNunw6lQZybL%)H;5%${gTdBdO5ivy+W zM-Dz+UUsM{RV6ow$CqRldRyC2h#QTsEqC?(3A4C%?yLM2F>d2b!ts+6JshLB(w>;U z*?n}Gkcb3p$t)P*#ywZF{eVCFoDQLymh*1=H^C{=O=UnqO`}%j#V1&`_zc{|$b}-% z)d={R{;rMrh?22ETCY8-ic>P>X|KpU0WIGoXvzhCrFSrjKh`SQk0{I$@Zs%s^D^GV zW4tN|@>*f(aCEScEizapNa}cuNA?& zc>T5*sL9U;zHGpgg6bC19af_&qD)Wh0NI(K+>C}tc3&Whk8Yuk#}D|9S37ErC(yOB zAv-}SmFlr?A=X*N7o}MP!^A_+t_pDQ6 z-CNzDq%DpKAW>%Si?)M0^H-Z0>Z~NL`J?^P3Er8#Mw}AcsjoXlbS!T}_xZ=!x)D)y z>I&?J*SwrMI%>T`zdQYU3G#$0&ech1G!Yqkp`D45FnQRe7$;D6i}G+XrZxK=e>^X` zdBdE;?VyNA52l-=R1sR46eEb_AA_?T{qtge#UDMfnaOyg00HiUpzgQ04JhcM#RC0WQ#sE_`wDbCll|# z1kTQvN~yG?xvyeOj^u%cd&lC*V9l*w?(0fnf2DJNun!z1$axKn_XWF?tge6g+(@uqt5mNQ0Z0q%TWxMyO z1@?osfp<_omu}YX?@o4mz|<#2xXg!mM&huoV30|i>!-n6-+}_D)s`Fil|xxd_>-jR z@pzZcD;YT>yJCl8QKNkYzKIv%amLf3ba}Po0x4GGxQea%olA|~!ZbgC`&p=RO8r$Z zL*`=4^kcupelxRmRyif9`{6JJBbeaFUoJY!tf`|WP22Dngv-b-9*s4QQQ?Q# zvsYJd{ZQ=oeDK|SY2;E?Q1u0qQ@>?XV_oX?89Vcdp_o3=cMjNCI#`sOor(Q7xayKJ delta 2646 zcmZ`*dpOhWAO4yRGp7_9Aw?wS6vms8NK$M$*Oa$%YNR<)@7~`Zzu#ZKe?HIkd9Lezp8LM8&*!@Dj%`IMx6yi1008)S z8c2!{iRcq9juOM&MxeNXha5b95CHzpMs56#xTAx~nUK^5K7Wz#=+i!EXA= z;OXV(>w=H7;NmF~Rmo9C=i2`*GWVP@N)7oyEf4>a)5#qPX32Pob**d8z50F zp%Mrdh~sB4rZkcG!HwlTz!Tr6L-ttG9)tZ(nWe)bs2lPNj4`yzYtX!`+>C1O@@MEM zCe1u>alQc-o2oT$#XgsvVC?qk0{W@f3ABs?0I6g9av$UrD8sSdM9a|>naJiOfdA0I zT`Ozi9{pKhK>uq^*%qzPq&miwf}NmZE4_CT3K>Zpl_DaD^R>gLgWrrl5t@}pwZJpT z+}abUBQk_rH8e}lqc;^D)*27!H!yeiaq)*b!AAIz8|-oCzzbD>GlHe~__9?$9t?R~ zsbae)%`yUA|I{jFUWGu5`IplOL%s0s%B~PrzmQm_r0~*X-HmchN&B-|2#c$5dObnv zlo&X%m08alDXEK*+7=ZY?Q;v?BmdLs0ONpGU|Fv{?rF!%}C}$aRtE5 zfRrlhOFEYbMN{PZAJd-D@6cdhul zHRXz4F;`6jRe?p1QEflU5$TH&&-Q(S*IiTv-=o(<8aC6O1s(@6xUikhdQ7W{!3Ac7 zV0e>2W5TpL>#t&7>p=bDSs-(nsM>yAULVk}B0To7NJuVAq>`ate!4ceP55%Hgb_@v zT&q#AG2~oC@o$`TV6lvYl99aPxb`1g*u|Mbm3OC(5giH@wN>;r(wC33xgtvOr45M+ipYR@;qE*svSY9 zt$ZiFNy#y^KhgiRSbXn*ztD+uViZAJs2%Qmvsf7>>_IyV=kWQlcE4WfbMrpCA#lH8 zUM2c?dCI8|oLSMub@B8SZ@o*^UM?z56-5HnAj~*t?(B*{0SFo(r5@l#P*n{HW)t?&0JWtL0*Q@6URzf(0QJ22e1QK{KoBfSyPrj!??Fy{59>prR-1qhk59k?98K6`t~L(U+dYb z^j??%)}<=EDsd@`5q!`Bo(->x8tV!Cpr10oK#lu_;pY9nPZFS zYXwa*jYj1+pv>#KdyW}=f@slT!UGRLhXY$h~ zN5O=6l&M)+#@0&gx5?VQ)^<3Ic*q|Jcigmp_lUzJqLR`_-72wRYY+idW&81#F(iN; z%g&t8Jzw!Fs|Fodw9Mt>%w%)%(tP2S?i4w;hEIeA)HGm&Y{^ zw%bd)+(c?nJUeaU+i_VMYh8A7EAo^Rc=b?m$%!i5`uVTsme1O*!K=zwF?VR$4FJ&Zf~-o+aOP4Fa$G$V{kWTlP z)`c#Gu*55}COZ?oJ89SCVipnO5g0-F78AlkEEVF_j(O#9V*OE*hFfld=H<(uqK03yi)sie_kN{a zoDwy+UNrzOkF)`d018bDnH(x&`(9VnKF62HupF#1CabhDUIEAz3jur<7{@<&|lGQX>{#U%UR=ky$Y zyDZ-fN*1P^X>5>cdr+-HSHj9-O*UJ%F{qJl2~I8?BfsS+zmdjo29dCwyOx5UJV%)B zQ6vk?s}VA%TMZ3n4{hvU{|L#2u=YIltwQZ_e16UtQrd7&aRJhJ@p=b>WTjw diff --git a/src/seed.c b/src/seed.c index 7a0a3e1..421dbb1 100644 --- a/src/seed.c +++ b/src/seed.c @@ -1,5 +1,11 @@ #include +#include "image/fill.h" +#include "image/valid-html401.h" +#include "image/valid-css.h" +#include "image/fixme.h" +#include "image/warning.h" +#include "image/note.h" #include "image/logo1.h" #include "image/logo2.h" @@ -13,6 +19,14 @@ static void describe(const char* path, const char* what) { printf("%s%s# %s\n", path, space, what); } +#define IMAGE(token, path) \ + if((f = fopen("site/content/image/" path, "wb")) == NULL) { \ + fprintf(stderr, "Failed to open site/content/image/%s\n", path); \ + return 1; \ + } \ + fwrite(image_##token, 1, image_##token##_len, f); \ + fclose(f); + int action_seed(int argc, char** argv) { FILE* f; @@ -20,19 +34,14 @@ int action_seed(int argc, char** argv) { io_mkdir("site/content", 0755); io_mkdir("site/content/image", 0755); - if((f = fopen("site/content/image/group-logo.png", "w")) == NULL) { - fprintf(stderr, "Failed to open site/content/image/group-logo.png\n"); - return 1; - } - fwrite(image_logo1, image_logo1_len, 1, f); - fclose(f); - - if((f = fopen("site/content/image/project-logo.png", "w")) == NULL) { - fprintf(stderr, "Failed to open site/content/image/project-logo.png\n"); - return 1; - } - fwrite(image_logo2, image_logo2_len, 1, f); - fclose(f); + IMAGE(fill, "fill.gif"); + IMAGE(valid_html401, "valid-html401.png"); + IMAGE(valid_css, "valid-css.png"); + IMAGE(fixme, "fixme.png"); + IMAGE(warning, "warning.png"); + IMAGE(note, "note.png"); + IMAGE(logo1, "group-logo.png"); + IMAGE(logo2, "project-logo.png"); if((f = fopen("site/skinconf.xml", "w")) == NULL) { fprintf(stderr, "Failed to open site/skinconf.xml\n"); diff --git a/src/taiga.h b/src/taiga.h index fa18d9e..46ccc0a 100644 --- a/src/taiga.h +++ b/src/taiga.h @@ -23,6 +23,15 @@ #define io_chdir(x) _chdir(x) #define io_stat _stat +#define IO_DIR void +struct io_dirent { + int d_namlen; + char d_name[512]; /* seems good enough for windows */ +}; +IO_DIR* io_opendir(const char* path); +struct io_dirent* io_readdir(IO_DIR* dir); +void io_closedir(IO_DIR* dir); + #define IO_S_ISDIR(m) ((m) & _S_IFDIR) #else #define io_mkdir mkdir