diff options
Diffstat (limited to 'atari')
-rw-r--r-- | atari/about.h | 11 | ||||
-rw-r--r--[-rwxr-xr-x] | atari/bitmap.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | atari/bitmap.h | 0 | ||||
-rw-r--r-- | atari/certview.c | 593 | ||||
-rw-r--r-- | atari/certview.h | 18 | ||||
-rw-r--r-- | atari/clipboard.c | 176 | ||||
-rw-r--r--[-rwxr-xr-x] | atari/clipboard.h | 46 | ||||
-rw-r--r-- | atari/cookies.c | 1 | ||||
-rw-r--r-- | atari/cookies.h | 54 | ||||
-rw-r--r-- | atari/ctxmenu.h | 44 | ||||
-rw-r--r-- | atari/deskmenu.c | 305 | ||||
-rw-r--r-- | atari/deskmenu.h | 11 | ||||
-rw-r--r--[-rwxr-xr-x] | atari/download.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | atari/download.h | 114 | ||||
-rw-r--r-- | atari/encoding.c | 117 | ||||
-rw-r--r-- | atari/file.h | 10 | ||||
-rw-r--r--[-rwxr-xr-x] | atari/filetype.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | atari/findfile.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | atari/findfile.h | 1 | ||||
-rw-r--r--[-rwxr-xr-x] | atari/font.c | 143 | ||||
-rw-r--r--[-rwxr-xr-x] | atari/font.h | 47 | ||||
-rw-r--r--[-rwxr-xr-x] | atari/gui.h | 0 | ||||
-rw-r--r-- | atari/history.c | 64 | ||||
-rw-r--r-- | atari/history.h | 56 | ||||
-rw-r--r-- | atari/hotlist.c | 146 | ||||
-rw-r--r-- | atari/hotlist.h | 94 | ||||
-rw-r--r--[-rwxr-xr-x] | atari/login.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | atari/login.h | 52 | ||||
-rw-r--r--[-rwxr-xr-x] | atari/misc.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | atari/misc.h | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | atari/options.h | 0 | ||||
-rw-r--r-- | atari/osspec.c | 13 | ||||
-rw-r--r-- | atari/osspec.h | 81 | ||||
-rw-r--r--[-rwxr-xr-x] | atari/plot/eddi.h | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | atari/plot/eddi.s | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | atari/plot/font_freetype.c | 1038 | ||||
-rw-r--r--[-rwxr-xr-x] | atari/plot/font_freetype.h | 101 | ||||
-rw-r--r-- | atari/plot/font_internal.c | 4703 | ||||
-rw-r--r-- | atari/plot/font_internal.h | 63 | ||||
-rw-r--r--[-rwxr-xr-x] | atari/plot/font_vdi.c | 5 | ||||
-rw-r--r--[-rwxr-xr-x] | atari/plot/font_vdi.h | 45 | ||||
-rw-r--r-- | atari/plot/fontplot.h | 18 | ||||
-rw-r--r--[-rwxr-xr-x] | atari/plot/plot.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | atari/plot/plot.h | 0 | ||||
-rw-r--r-- | atari/redrawslots.c | 184 | ||||
-rw-r--r-- | atari/redrawslots.h | 62 | ||||
-rw-r--r--[-rwxr-xr-x] | atari/rootwin.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | atari/rootwin.h | 124 | ||||
-rw-r--r-- | atari/save.h | 32 | ||||
-rw-r--r--[-rwxr-xr-x] | atari/schedule.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | atari/schedule.h | 0 | ||||
-rw-r--r-- | atari/search.c | 113 | ||||
-rw-r--r-- | atari/settings.c | 19 | ||||
-rw-r--r-- | atari/settings.h | 20 | ||||
-rw-r--r--[-rwxr-xr-x] | atari/statusbar.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | atari/statusbar.h | 75 | ||||
-rw-r--r-- | atari/toolbar.c | 751 | ||||
-rw-r--r-- | atari/toolbar.h | 44 | ||||
-rw-r--r-- | atari/treeview.h | 78 | ||||
-rw-r--r--[-rwxr-xr-x] | atari/verify_ssl.c | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | atari/verify_ssl.h | 48 |
61 files changed, 4862 insertions, 4858 deletions
diff --git a/atari/about.h b/atari/about.h index db18250c5..dff6eaeee 100644 --- a/atari/about.h +++ b/atari/about.h @@ -16,10 +16,9 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -#ifndef NS_ATARI_ABOUT_H_INCLUDED
-#define NS_ATARI_ABOUT_H_INCLUDED
+#ifndef NS_ATARI_ABOUT_H_INCLUDED +#define NS_ATARI_ABOUT_H_INCLUDED -void atari_about_show(void);
-
-
-#endif // NS_ATARI_ABOUT_H_INCLUDED
+void atari_about_show(void); + +#endif // NS_ATARI_ABOUT_H_INCLUDED diff --git a/atari/bitmap.c b/atari/bitmap.c index 431d97dc8..431d97dc8 100755..100644 --- a/atari/bitmap.c +++ b/atari/bitmap.c diff --git a/atari/bitmap.h b/atari/bitmap.h index b0fa18069..b0fa18069 100755..100644 --- a/atari/bitmap.h +++ b/atari/bitmap.h diff --git a/atari/certview.c b/atari/certview.c index 15d57c236..c5d169a41 100644 --- a/atari/certview.c +++ b/atari/certview.c @@ -1,297 +1,296 @@ -/*
- * Copyright 2013 Ole Loots <ole@monochrom.net>
- *
- * This file is part of NetSurf, http://www.netsurf-browser.org/
- *
- * NetSurf is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
- *
- * NetSurf is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include <ctype.h>
-#include <string.h>
-#include <stdbool.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <time.h>
-
-#include "utils/nsoption.h"
-#include "utils/log.h"
-#include "utils/messages.h"
-#include "utils/utils.h"
-#include "content/urldb.h"
-#include "content/hlcache.h"
-#include "desktop/sslcert_viewer.h"
-#include "desktop/core_window.h"
-
-#include "atari/gui.h"
-#include "atari/misc.h"
-#include "atari/treeview.h"
-#include "atari/certview.h"
-#include "atari/findfile.h"
-#include "atari/gemtk/gemtk.h"
-#include "atari/res/netsurf.rsh"
-
-extern GRECT desk_area;
-
-
-/* Setup Atari Treeview Callbacks: */
-static nserror atari_sslcert_viewer_init_phase2(struct core_window *cw,
- struct core_window_callback_table * default_callbacks);
-static void atari_sslcert_viewer_finish(struct core_window *cw);
-static void atari_sslcert_viewer_keypress(struct core_window *cw,
- uint32_t ucs4);
-static void atari_sslcert_viewer_mouse_action(struct core_window *cw,
- browser_mouse_state mouse,
- int x, int y);
-static void atari_sslcert_viewer_draw(struct core_window *cw, int x,
- int y, struct rect *clip,
- const struct redraw_context *ctx);
-static short handle_event(GUIWIN *win, EVMULT_OUT *ev_out, short msg[8]);
-
-static struct atari_treeview_callbacks atari_sslcert_viewer_treeview_callbacks = {
- .init_phase2 = atari_sslcert_viewer_init_phase2,
- .finish = atari_sslcert_viewer_finish,
- .draw = atari_sslcert_viewer_draw,
- .keypress = atari_sslcert_viewer_keypress,
- .mouse_action = atari_sslcert_viewer_mouse_action,
- .gemtk_user_func = handle_event
-};
-
-/* static functions */
-static void atari_sslcert_viewer_destroy(struct atari_sslcert_viewer_s * cvwin);
-
-
-static nserror atari_sslcert_viewer_init_phase2(struct core_window *cw,
- struct core_window_callback_table *cb_t)
-{
- struct atari_sslcert_viewer_s *cvwin;
- struct sslcert_session_data *ssl_d;
-
- cvwin = (struct atari_sslcert_viewer_s *)atari_treeview_get_user_data(cw);
-
- assert(cvwin);
-
- ssl_d = cvwin->ssl_session_data;
-
- assert(ssl_d);
-
- LOG((""));
-
- return(sslcert_viewer_init(cb_t, cw, ssl_d));
-}
-
-static void atari_sslcert_viewer_finish(struct core_window *cw)
-{
- struct atari_sslcert_viewer_s *cvwin;
-
- assert(cw);
-
- cvwin = (struct atari_sslcert_viewer_s *)atari_treeview_get_user_data(cw);
-
- /* This will also free the session data: */
- sslcert_viewer_fini(cvwin->ssl_session_data);
-
- LOG((""));
-}
-
-static void atari_sslcert_viewer_draw(struct core_window *cw, int x,
- int y, struct rect *clip,
- const struct redraw_context *ctx)
-{
- struct atari_sslcert_viewer_s *cvwin;
-
- assert(cw);
-
- cvwin = (struct atari_sslcert_viewer_s *)atari_treeview_get_user_data(cw);
-
- assert(cvwin);
-
- sslcert_viewer_redraw(cvwin->ssl_session_data, x, y, clip, ctx);
-}
-
-static void atari_sslcert_viewer_keypress(struct core_window *cw, uint32_t ucs4)
-{
- struct atari_sslcert_viewer_s *cvwin;
-
- assert(cw);
-
- cvwin = (struct atari_sslcert_viewer_s *)atari_treeview_get_user_data(cw);
-
- LOG(("ucs4: %lu\n", ucs4));
- sslcert_viewer_keypress(cvwin->ssl_session_data, ucs4);
-}
-
-static void atari_sslcert_viewer_mouse_action(struct core_window *cw,
- browser_mouse_state mouse,
- int x, int y)
-{
- struct atari_sslcert_viewer_s *cvwin;
-
- assert(cw);
-
- cvwin = (struct atari_sslcert_viewer_s *)atari_treeview_get_user_data(cw);
-
- sslcert_viewer_mouse_action(cvwin->ssl_session_data, mouse, x, y);
-}
-
-
-static short handle_event(GUIWIN *win, EVMULT_OUT *ev_out, short msg[8])
-{
- struct core_window *tv=NULL;
- GRECT tb_area;
- GUIWIN * gemtk_win;
- struct atari_sslcert_viewer_s *cvwin = NULL;
- short retval = 0;
- OBJECT *toolbar;
-
- LOG((""));
-
- if(ev_out->emo_events & MU_MESAG){
- switch (msg[0]) {
-
- case WM_TOOLBAR:
- toolbar = gemtk_obj_get_tree(TOOLBAR_SSL_CERT);
- LOG(("CERTVIEWER WM_TOOLBAR"));
- tv = (struct core_window*) gemtk_wm_get_user_data(win);
- assert(tv);
- cvwin = (struct atari_sslcert_viewer_s *)
- atari_treeview_get_user_data(tv);
- switch (msg[4]) {
-
- case TOOLBAR_SSL_CERT_TRUSTED:
-
- if (toolbar[msg[4]].ob_state & OS_SELECTED) {
-
- } else {
-
- }
- break;
- }
-
-
- gemtk_win = atari_treeview_get_gemtk_window(tv);
- assert(gemtk_win);
- //gemtk_obj_get_tree(TOOLBAR_HOTLIST)[msg[4]].ob_state &= ~OS_SELECTED;
- atari_treeview_get_grect(tv, TREEVIEW_AREA_TOOLBAR, &tb_area);
- evnt_timer(150);
- gemtk_wm_exec_redraw(gemtk_win, &tb_area);
- retval = 1;
- break;
-
- case WM_CLOSED:
- // TODO set perrmissions
- toolbar = gemtk_obj_get_tree(TOOLBAR_SSL_CERT);
- tv = (struct core_window*) gemtk_wm_get_user_data(win);
- assert(tv);
- cvwin = (struct atari_sslcert_viewer_s *)
- atari_treeview_get_user_data(tv);
- if (toolbar[TOOLBAR_SSL_CERT_TRUSTED].ob_state & OS_SELECTED) {
- sslcert_viewer_accept(cvwin->ssl_session_data);
- } else {
- sslcert_viewer_reject(cvwin->ssl_session_data);
- }
- atari_sslcert_viewer_destroy(cvwin);
- retval = 1;
- break;
-
- default: break;
- }
- }
-
- return(retval);
-}
-
-static void atari_sslcert_viewer_init(struct atari_sslcert_viewer_s * cvwin,
- struct sslcert_session_data *ssl_d)
-{
- assert(cvwin->init == false);
- assert(cvwin->window == NULL);
- assert(cvwin->tv == NULL);
-
- int flags = ATARI_TREEVIEW_WIDGETS;
- short handle = -1;
- OBJECT * tree = gemtk_obj_get_tree(TOOLBAR_SSL_CERT);
- assert( tree );
-
- handle = wind_create(flags, 0, 0, desk_area.g_w, desk_area.g_h);
- cvwin->window = gemtk_wm_add(handle,
- GEMTK_WM_FLAG_DEFAULTS, NULL);
- if (cvwin->window == NULL ) {
- gemtk_msg_box_show(GEMTK_MSG_BOX_ALERT,
- "Failed to allocate Treeview:\nCertviewer");
- return;
- }
- wind_set_str(handle, WF_NAME, (char*)"SSL Certificate");
- gemtk_wm_set_toolbar(cvwin->window, tree, 0, 0);
- gemtk_wm_unlink(cvwin->window);
-
- cvwin->ssl_session_data = ssl_d;
- cvwin->tv = atari_treeview_create(cvwin->window,
- &atari_sslcert_viewer_treeview_callbacks,
- cvwin, flags);
-
- if (cvwin->tv == NULL) {
- /* handle it properly, clean up previous allocs */
- LOG(("Failed to allocate treeview"));
- return;
- }
-
- cvwin->init = true;
-}
-
-/*
-* documented in certview.h
-*/
-void atari_sslcert_viewer_open(struct sslcert_session_data *ssl_d)
-{
- struct atari_sslcert_viewer_s * cvwin;
-
- cvwin = calloc(1, sizeof(struct atari_sslcert_viewer_s));
-
- assert(cvwin);
-
- atari_sslcert_viewer_init(cvwin, ssl_d);
-
- if (atari_treeview_is_open(cvwin->tv) == false) {
-
- GRECT pos;
- pos.g_x = desk_area.g_w - desk_area.g_w / 4;
- pos.g_y = desk_area.g_y;
- pos.g_w = desk_area.g_w / 4;
- pos.g_h = desk_area.g_h;
-
- atari_treeview_open(cvwin->tv, &pos);
- } else {
- wind_set(gemtk_wm_get_handle(cvwin->window), WF_TOP, 1, 0,
- 0, 0);
- }
-}
-
-
-static void atari_sslcert_viewer_destroy(struct atari_sslcert_viewer_s * cvwin)
-{
- assert(cvwin);
- assert(cvwin->init);
- assert(cvwin->window);
-
- LOG((""));
-
- if (atari_treeview_is_open(cvwin->tv))
- atari_treeview_close(cvwin->tv);
- wind_delete(gemtk_wm_get_handle(cvwin->window));
- gemtk_wm_remove(cvwin->window);
- cvwin->window = NULL;
- atari_treeview_delete(cvwin->tv);
- free(cvwin);
- LOG(("done"));
-}
-
+/* + * Copyright 2013 Ole Loots <ole@monochrom.net> + * + * This file is part of NetSurf, http://www.netsurf-browser.org/ + * + * NetSurf is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * NetSurf is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#include <ctype.h> +#include <string.h> +#include <stdbool.h> +#include <stdio.h> +#include <stdlib.h> +#include <time.h> + +#include "utils/nsoption.h" +#include "utils/log.h" +#include "utils/messages.h" +#include "utils/utils.h" +#include "content/urldb.h" +#include "content/hlcache.h" +#include "desktop/sslcert_viewer.h" +#include "desktop/core_window.h" + +#include "atari/gui.h" +#include "atari/misc.h" +#include "atari/treeview.h" +#include "atari/certview.h" +#include "atari/findfile.h" +#include "atari/gemtk/gemtk.h" +#include "atari/res/netsurf.rsh" + +extern GRECT desk_area; + + +/* Setup Atari Treeview Callbacks: */ +static nserror atari_sslcert_viewer_init_phase2(struct core_window *cw, + struct core_window_callback_table * default_callbacks); +static void atari_sslcert_viewer_finish(struct core_window *cw); +static void atari_sslcert_viewer_keypress(struct core_window *cw, + uint32_t ucs4); +static void atari_sslcert_viewer_mouse_action(struct core_window *cw, + browser_mouse_state mouse, + int x, int y); +static void atari_sslcert_viewer_draw(struct core_window *cw, int x, + int y, struct rect *clip, + const struct redraw_context *ctx); +static short handle_event(GUIWIN *win, EVMULT_OUT *ev_out, short msg[8]); + +static struct atari_treeview_callbacks atari_sslcert_viewer_treeview_callbacks = { + .init_phase2 = atari_sslcert_viewer_init_phase2, + .finish = atari_sslcert_viewer_finish, + .draw = atari_sslcert_viewer_draw, + .keypress = atari_sslcert_viewer_keypress, + .mouse_action = atari_sslcert_viewer_mouse_action, + .gemtk_user_func = handle_event +}; + +/* static functions */ +static void atari_sslcert_viewer_destroy(struct atari_sslcert_viewer_s * cvwin); + + +static nserror atari_sslcert_viewer_init_phase2(struct core_window *cw, + struct core_window_callback_table *cb_t) +{ + struct atari_sslcert_viewer_s *cvwin; + struct sslcert_session_data *ssl_d; + + cvwin = (struct atari_sslcert_viewer_s *)atari_treeview_get_user_data(cw); + + assert(cvwin); + + ssl_d = cvwin->ssl_session_data; + + assert(ssl_d); + + LOG(("")); + + return(sslcert_viewer_init(cb_t, cw, ssl_d)); +} + +static void atari_sslcert_viewer_finish(struct core_window *cw) +{ + struct atari_sslcert_viewer_s *cvwin; + + assert(cw); + + cvwin = (struct atari_sslcert_viewer_s *)atari_treeview_get_user_data(cw); + + /* This will also free the session data: */ + sslcert_viewer_fini(cvwin->ssl_session_data); + + LOG(("")); +} + +static void atari_sslcert_viewer_draw(struct core_window *cw, int x, + int y, struct rect *clip, + const struct redraw_context *ctx) +{ + struct atari_sslcert_viewer_s *cvwin; + + assert(cw); + + cvwin = (struct atari_sslcert_viewer_s *)atari_treeview_get_user_data(cw); + + assert(cvwin); + + sslcert_viewer_redraw(cvwin->ssl_session_data, x, y, clip, ctx); +} + +static void atari_sslcert_viewer_keypress(struct core_window *cw, uint32_t ucs4) +{ + struct atari_sslcert_viewer_s *cvwin; + + assert(cw); + + cvwin = (struct atari_sslcert_viewer_s *)atari_treeview_get_user_data(cw); + + LOG(("ucs4: %lu\n", ucs4)); + sslcert_viewer_keypress(cvwin->ssl_session_data, ucs4); +} + +static void atari_sslcert_viewer_mouse_action(struct core_window *cw, + browser_mouse_state mouse, + int x, int y) +{ + struct atari_sslcert_viewer_s *cvwin; + + assert(cw); + + cvwin = (struct atari_sslcert_viewer_s *)atari_treeview_get_user_data(cw); + + sslcert_viewer_mouse_action(cvwin->ssl_session_data, mouse, x, y); +} + + +static short handle_event(GUIWIN *win, EVMULT_OUT *ev_out, short msg[8]) +{ + struct core_window *tv=NULL; + GRECT tb_area; + GUIWIN * gemtk_win; + struct atari_sslcert_viewer_s *cvwin = NULL; + short retval = 0; + OBJECT *toolbar; + + LOG(("")); + + if(ev_out->emo_events & MU_MESAG){ + switch (msg[0]) { + + case WM_TOOLBAR: + toolbar = gemtk_obj_get_tree(TOOLBAR_SSL_CERT); + LOG(("CERTVIEWER WM_TOOLBAR")); + tv = (struct core_window*) gemtk_wm_get_user_data(win); + assert(tv); + cvwin = (struct atari_sslcert_viewer_s *) + atari_treeview_get_user_data(tv); + switch (msg[4]) { + + case TOOLBAR_SSL_CERT_TRUSTED: + + if (toolbar[msg[4]].ob_state & OS_SELECTED) { + + } else { + + } + break; + } + + + gemtk_win = atari_treeview_get_gemtk_window(tv); + assert(gemtk_win); + //gemtk_obj_get_tree(TOOLBAR_HOTLIST)[msg[4]].ob_state &= ~OS_SELECTED; + atari_treeview_get_grect(tv, TREEVIEW_AREA_TOOLBAR, &tb_area); + evnt_timer(150); + gemtk_wm_exec_redraw(gemtk_win, &tb_area); + retval = 1; + break; + + case WM_CLOSED: + // TODO set perrmissions + toolbar = gemtk_obj_get_tree(TOOLBAR_SSL_CERT); + tv = (struct core_window*) gemtk_wm_get_user_data(win); + assert(tv); + cvwin = (struct atari_sslcert_viewer_s *) + atari_treeview_get_user_data(tv); + if (toolbar[TOOLBAR_SSL_CERT_TRUSTED].ob_state & OS_SELECTED) { + sslcert_viewer_accept(cvwin->ssl_session_data); + } else { + sslcert_viewer_reject(cvwin->ssl_session_data); + } + atari_sslcert_viewer_destroy(cvwin); + retval = 1; + break; + + default: break; + } + } + + return(retval); +} + +static void atari_sslcert_viewer_init(struct atari_sslcert_viewer_s * cvwin, + struct sslcert_session_data *ssl_d) +{ + assert(cvwin->init == false); + assert(cvwin->window == NULL); + assert(cvwin->tv == NULL); + + int flags = ATARI_TREEVIEW_WIDGETS; + short handle = -1; + OBJECT * tree = gemtk_obj_get_tree(TOOLBAR_SSL_CERT); + assert( tree ); + + handle = wind_create(flags, 0, 0, desk_area.g_w, desk_area.g_h); + cvwin->window = gemtk_wm_add(handle, + GEMTK_WM_FLAG_DEFAULTS, NULL); + if (cvwin->window == NULL ) { + gemtk_msg_box_show(GEMTK_MSG_BOX_ALERT, + "Failed to allocate Treeview:\nCertviewer"); + return; + } + wind_set_str(handle, WF_NAME, (char*)"SSL Certificate"); + gemtk_wm_set_toolbar(cvwin->window, tree, 0, 0); + gemtk_wm_unlink(cvwin->window); + + cvwin->ssl_session_data = ssl_d; + cvwin->tv = atari_treeview_create(cvwin->window, + &atari_sslcert_viewer_treeview_callbacks, + cvwin, flags); + + if (cvwin->tv == NULL) { + /* handle it properly, clean up previous allocs */ + LOG(("Failed to allocate treeview")); + return; + } + + cvwin->init = true; +} + +/* + * documented in certview.h + */ +void atari_sslcert_viewer_open(struct sslcert_session_data *ssl_d) +{ + struct atari_sslcert_viewer_s * cvwin; + + cvwin = calloc(1, sizeof(struct atari_sslcert_viewer_s)); + + assert(cvwin); + + atari_sslcert_viewer_init(cvwin, ssl_d); + + if (atari_treeview_is_open(cvwin->tv) == false) { + + GRECT pos; + pos.g_x = desk_area.g_w - desk_area.g_w / 4; + pos.g_y = desk_area.g_y; + pos.g_w = desk_area.g_w / 4; + pos.g_h = desk_area.g_h; + + atari_treeview_open(cvwin->tv, &pos); + } else { + wind_set(gemtk_wm_get_handle(cvwin->window), WF_TOP, 1, 0, + 0, 0); + } +} + + +static void atari_sslcert_viewer_destroy(struct atari_sslcert_viewer_s * cvwin) +{ + assert(cvwin); + assert(cvwin->init); + assert(cvwin->window); + + LOG(("")); + + if (atari_treeview_is_open(cvwin->tv)) + atari_treeview_close(cvwin->tv); + wind_delete(gemtk_wm_get_handle(cvwin->window)); + gemtk_wm_remove(cvwin->window); + cvwin->window = NULL; + atari_treeview_delete(cvwin->tv); + free(cvwin); + LOG(("done")); +} diff --git a/atari/certview.h b/atari/certview.h index fc30074f7..ff15d8076 100644 --- a/atari/certview.h +++ b/atari/certview.h @@ -16,7 +16,7 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -#ifndef CERTVIEW_H_INCLUDED
+#ifndef CERTVIEW_H_INCLUDED #define CERTVIEW_H_INCLUDED #include <inttypes.h> @@ -28,24 +28,24 @@ #include "utils/nsoption.h" #include "utils/log.h" #include "desktop/sslcert_viewer.h" -
+ struct core_window; -struct atari_sslcert_viewer_s {
- GUIWIN * window;
+struct atari_sslcert_viewer_s { + GUIWIN * window; //struct atari_treeview_window *tv;/*< The hotlist treeview handle. */ struct core_window *tv; - struct sslcert_session_data *ssl_session_data;
- bool init;
-};
+ struct sslcert_session_data *ssl_session_data; + bool init; +}; /** * Initializes and opens an certificate inspector window * \param ssl_d ssl session data created by sslcert_viewer_create_session_data * * The window takes ownership of the session data and free's the memory on exit. - */
+ */ void atari_sslcert_viewer_open(struct sslcert_session_data *ssl_d); -#endif // CERTVIEW_H_INCLUDED
+#endif // CERTVIEW_H_INCLUDED diff --git a/atari/clipboard.c b/atari/clipboard.c index e07e9d8d1..3464e4bca 100644 --- a/atari/clipboard.c +++ b/atari/clipboard.c @@ -1,88 +1,88 @@ -/*
- * Copyright 2013 Ole Loots <ole@monochrom.net>
- *
- * This file is part of NetSurf, http://www.netsurf-browser.org/
- *
- * NetSurf is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
- *
- * NetSurf is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- * Module Description:
- *
- *
- *
- */
-
-#include <stdlib.h>
-#include <stdint.h>
-#include <string.h>
-#include <stdio.h>
-#include <mint/osbind.h>
-#include <cflib.h>
-#include "atari/clipboard.h"
-#include "atari/gemtk/gemtk.h"
-
-
-static int filesize(char * path)
-{
- FILE *f;
- int fs;
-
- f = fopen( path, "r+b");
- if(!f)
- return(-1);
-
- fseek(f, 0L, SEEK_END);
- fs = ftell(f);
- fclose(f);
-
- return(fs);
-}
-
-int scrap_txt_write(char *str)
-{
- scrap_wtxt(str);
-
-
- // Send SC_CHANGED message:
- gemtk_send_msg(SC_CHANGED, 0, 2, 0, 0, 0, 0);
-
- return(0);
-
-}
-
-char *scrap_txt_read(void)
-{
- char * buf = NULL;
- char path[80];
-
- if (get_scrapdir (path))
- {
- int len;
- strcat (path, "scrap.txt");
- len = filesize(path);
- if(len > 0){
- int file;
- if ((file = (int) Fopen (path, 0)) >= 0)
- {
- buf = malloc(len);
- if(buf){
- len = Fread (file, len, buf);
- Fclose (file);
- buf[len] = '\0';
- return buf;
- }
- }
- }
- }
- return buf;
-}
-
+/* + * Copyright 2013 Ole Loots <ole@monochrom.net> + * + * This file is part of NetSurf, http://www.netsurf-browser.org/ + * + * NetSurf is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * NetSurf is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + * Module Description: + * + * + * + */ + +#include <stdlib.h> +#include <stdint.h> +#include <string.h> +#include <stdio.h> +#include <mint/osbind.h> +#include <cflib.h> +#include "atari/clipboard.h" +#include "atari/gemtk/gemtk.h" + + +static int filesize(char * path) +{ + FILE *f; + int fs; + + f = fopen( path, "r+b"); + if(!f) + return(-1); + + fseek(f, 0L, SEEK_END); + fs = ftell(f); + fclose(f); + + return(fs); +} + +int scrap_txt_write(char *str) +{ + scrap_wtxt(str); + + + // Send SC_CHANGED message: + gemtk_send_msg(SC_CHANGED, 0, 2, 0, 0, 0, 0); + + return(0); + +} + +char *scrap_txt_read(void) +{ + char * buf = NULL; + char path[80]; + + if (get_scrapdir (path)) + { + int len; + strcat (path, "scrap.txt"); + len = filesize(path); + if(len > 0){ + int file; + if ((file = (int) Fopen (path, 0)) >= 0) + { + buf = malloc(len); + if(buf){ + len = Fread (file, len, buf); + Fclose (file); + buf[len] = '\0'; + return buf; + } + } + } + } + return buf; +} + diff --git a/atari/clipboard.h b/atari/clipboard.h index f35161e13..aeecc9a5f 100755..100644 --- a/atari/clipboard.h +++ b/atari/clipboard.h @@ -1,25 +1,25 @@ -/*
- * Copyright 2010 Ole Loots <ole@monochrom.net>
- *
- * This file is part of NetSurf, http://www.netsurf-browser.org/
- *
- * NetSurf is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
- *
- * NetSurf is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef NS_ATARI_CLIPBOARD_H
+/* + * Copyright 2010 Ole Loots <ole@monochrom.net> + * + * This file is part of NetSurf, http://www.netsurf-browser.org/ + * + * NetSurf is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * NetSurf is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#ifndef NS_ATARI_CLIPBOARD_H #define NS_ATARI_CLIPBOARD_H -
-int scrap_txt_write(char *str);
-char *scrap_txt_read(void);
-
+ +int scrap_txt_write(char *str); +char *scrap_txt_read(void); + #endif diff --git a/atari/cookies.c b/atari/cookies.c index 579c23d05..0d4704e27 100644 --- a/atari/cookies.c +++ b/atari/cookies.c @@ -170,6 +170,7 @@ void atari_cookie_manager_init(void) } atari_cookie_manager.init = true; } + void atari_cookie_manager_open(void) { assert(atari_cookie_manager.init); diff --git a/atari/cookies.h b/atari/cookies.h index fc95f65fe..3649c8c60 100644 --- a/atari/cookies.h +++ b/atari/cookies.h @@ -1,19 +1,19 @@ -/*
- * Copyright 2013 Ole Loots <ole@monochrom.net>
- *
- * This file is part of NetSurf, http://www.netsurf-browser.org/
- *
- * NetSurf is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
- *
- * NetSurf is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
+/* + * Copyright 2013 Ole Loots <ole@monochrom.net> + * + * This file is part of NetSurf, http://www.netsurf-browser.org/ + * + * NetSurf is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * NetSurf is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef NS_ATARI_COOKIE_MANAGER_H @@ -21,18 +21,18 @@ struct core_window; -struct atari_cookie_manager_s {
- GUIWIN * window;
+struct atari_cookie_manager_s { + GUIWIN * window; //struct atari_treeview_window * tv;/*< The hotlist treeview handle. */ - struct core_window *tv;
- bool init;
-};
-
-extern struct atari_cookie_manager_s atari_cookie_manager;
-
-void atari_cookie_manager_init(void);
-void atari_cookie_manager_open(void);
-void atari_cookie_manager_close(void);
+ struct core_window *tv; + bool init; +}; + +extern struct atari_cookie_manager_s atari_cookie_manager; + +void atari_cookie_manager_init(void); +void atari_cookie_manager_open(void); +void atari_cookie_manager_close(void); void atari_cookie_manager_destroy(void); void atari_cookie_manager_redraw(void); diff --git a/atari/ctxmenu.h b/atari/ctxmenu.h index 079860d6b..73a96637a 100644 --- a/atari/ctxmenu.h +++ b/atari/ctxmenu.h @@ -1,24 +1,24 @@ -/*
- * Copyright 2012 Ole Loots <ole@monochrom.net>
- *
- * This file is part of NetSurf, http://www.netsurf-browser.org/
- *
- * NetSurf is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
- *
- * NetSurf is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
+/* + * Copyright 2012 Ole Loots <ole@monochrom.net> + * + * This file is part of NetSurf, http://www.netsurf-browser.org/ + * + * NetSurf is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * NetSurf is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -#ifndef CTXMENU_H_INCLUDED
-#define CTXMENU_H_INCLUDED
-
-void context_popup( struct gui_window * gw, short x, short y );
-
-#endif // CTXMENU_H_INCLUDED
+#ifndef CTXMENU_H_INCLUDED +#define CTXMENU_H_INCLUDED + +void context_popup( struct gui_window * gw, short x, short y ); + +#endif // CTXMENU_H_INCLUDED diff --git a/atari/deskmenu.c b/atari/deskmenu.c index 91a1d994c..98bb02e64 100644 --- a/atari/deskmenu.c +++ b/atari/deskmenu.c @@ -132,7 +132,7 @@ struct s_menu_item_evnt menu_evnt_tbl[] = {T_EDIT, MAINMENU_M_FIND, menu_find, {0,NK_F4,0}, NULL}, {T_VIEW, MAINMENU_M_RELOAD, menu_reload, {0,NK_F5,0}, NULL}, {T_VIEW, MAINMENU_INC_SCALE, menu_inc_scale, {'+',0,K_CTRL}, NULL}, - {T_VIEW, MAINMENU_DEC_SCALE, menu_dec_scale, {'-',0,K_CTRL}, NULL}, + {T_VIEW, MAINMENU_DEC_SCALE, menu_dec_scale, {'-',0,K_CTRL}, NULL}, {T_VIEW, MAINMENU_M_TOOLBARS, menu_toolbars, {0,NK_F1,K_CTRL}, NULL}, {T_VIEW, MAINMENU_M_SAVEWIN, menu_savewin, {0,0,0}, NULL}, {T_VIEW, MAINMENU_M_DEBUG_RENDER, menu_debug_render, {0,0,0}, NULL}, @@ -155,46 +155,46 @@ struct s_menu_item_evnt menu_evnt_tbl[] = /* -static void __CDECL evnt_menu(WINDOW * win, short buff[8]) -{ - int title = buff[3]; - INT16 x,y; - char *str; - struct gui_window * gw = window_list; - int i=0; - - deskmenu_dispatch_item(buff[3], buff[4]); -} + static void __CDECL evnt_menu(WINDOW * win, short buff[8]) + { + int title = buff[3]; + INT16 x,y; + char *str; + struct gui_window * gw = window_list; + int i=0; + + deskmenu_dispatch_item(buff[3], buff[4]); + } */ /* - Menu item event handlers: + Menu item event handlers: */ static void __CDECL menu_about(short item, short title, void *data) { /* - nsurl *url; - nserror error; - char buf[PATH_MAX]; - - LOG(("%s", __FUNCTION__)); - strcpy((char*)&buf, "file://"); - strncat((char*)&buf, (char*)"./doc/README.TXT", - PATH_MAX - (strlen("file://")+1) ); - - error = nsurl_create(buf, &url); - if (error == NSERROR_OK) { - error = browser_window_create(BW_CREATE_HISTORY, - url, - NULL, - NULL, - NULL); - nsurl_unref(url); - } - if (error != NSERROR_OK) { - warn_user(messages_get_errorcode(error), 0); - } + nsurl *url; + nserror error; + char buf[PATH_MAX]; + + LOG(("%s", __FUNCTION__)); + strcpy((char*)&buf, "file://"); + strncat((char*)&buf, (char*)"./doc/README.TXT", + PATH_MAX - (strlen("file://")+1) ); + + error = nsurl_create(buf, &url); + if (error == NSERROR_OK) { + error = browser_window_create(BW_CREATE_HISTORY, + url, + NULL, + NULL, + NULL); + nsurl_unref(url); + } + if (error != NSERROR_OK) { + warn_user(messages_get_errorcode(error), 0); + } */ atari_about_show(); } @@ -307,7 +307,7 @@ static void __CDECL menu_save_page(short item, short title, void *data) if( path != NULL ){ save_complete(browser_window_get_content( - input_window->browser->bw), path, NULL); + input_window->browser->bw), path, NULL); } } @@ -365,7 +365,7 @@ static void __CDECL menu_stop(short item, short title, void *data) if( input_window == NULL ) return; - assert(input_window && input_window->root); + assert(input_window && input_window->root); toolbar_stop_click(input_window->root->toolbar); } @@ -385,8 +385,8 @@ static void __CDECL menu_inc_scale(short item, short title, void *data) return; browser_window_set_scale(input_window->browser->bw, - browser_window_get_scale(input_window->browser->bw) + 0.25, - true); + browser_window_get_scale(input_window->browser->bw) + 0.25, + true); } @@ -396,8 +396,8 @@ static void __CDECL menu_dec_scale(short item, short title, void *data) return; browser_window_set_scale(input_window->browser->bw, - browser_window_get_scale(input_window->browser->bw) - 0.25, - true); + browser_window_get_scale(input_window->browser->bw) - 0.25, + true); } @@ -419,7 +419,7 @@ static void __CDECL menu_savewin(short item, short title, void *data) if (input_window && input_window->browser) { GRECT rect; wind_get_grect(gemtk_wm_get_handle(input_window->root->win), WF_CURRXYWH, - &rect); + &rect); option_window_width = rect.g_w; option_window_height = rect.g_h; option_window_x = rect.g_x; @@ -439,13 +439,13 @@ static void __CDECL menu_debug_render(short item, short title, void *data) html_redraw_debug = !html_redraw_debug; if( input_window != NULL ) { if ( input_window->browser != NULL - && input_window->browser->bw != NULL) { + && input_window->browser->bw != NULL) { GRECT rect; window_get_grect(input_window->root, BROWSER_AREA_CONTENT, &rect); browser_window_reformat(input_window->browser->bw, false, - rect.g_w, rect.g_h ); + rect.g_w, rect.g_h ); menu_icheck(h_gem_menu, MAINMENU_M_DEBUG_RENDER, - (html_redraw_debug) ? 1 : 0); + (html_redraw_debug) ? 1 : 0); } } } @@ -454,14 +454,14 @@ static void __CDECL menu_fg_images(short item, short title, void *data) { nsoption_set_bool(foreground_images, !nsoption_bool(foreground_images)); menu_icheck(h_gem_menu, MAINMENU_M_FG_IMAGES, - (nsoption_bool(foreground_images)) ? 1 : 0); + (nsoption_bool(foreground_images)) ? 1 : 0); } static void __CDECL menu_bg_images(short item, short title, void *data) { nsoption_set_bool(background_images, !nsoption_bool(background_images)); menu_icheck(h_gem_menu, MAINMENU_M_BG_IMAGES, - (nsoption_bool(background_images)) ? 1 : 0); + (nsoption_bool(background_images)) ? 1 : 0); } static void __CDECL menu_back(short item, short title, void *data) @@ -509,7 +509,7 @@ static void __CDECL menu_add_bookmark(short item, short title, void *data) atari_hotlist_add_page( nsurl_access(browser_window_get_url(input_window->browser->bw)), NULL - ); + ); } } } @@ -539,27 +539,27 @@ static void __CDECL menu_help_content(short item, short title, void *data) } /* - Public deskmenu interface: + Public deskmenu interface: */ /* - Parse encoded menu key shortcut - - The format is: - - "[" - marks start of the shortcut - "@,^,<" - If the keyshortcut is only valid - with modifier keys, one of these characters must directly - follow the start mark. - Meaning: - @ -> Alternate - ^ -> Control - "#" - keycode or ascii character. - The value is handled as keycode if the character value - is <= 28 ( Atari chracter table ) - or if it is interpreted as function key string. - (strings: F1 - F10) + Parse encoded menu key shortcut + + The format is: + + "[" - marks start of the shortcut + "@,^,<" - If the keyshortcut is only valid + with modifier keys, one of these characters must directly + follow the start mark. + Meaning: + @ -> Alternate + ^ -> Control + "#" - keycode or ascii character. + The value is handled as keycode if the character value + is <= 28 ( Atari chracter table ) + or if it is interpreted as function key string. + (strings: F1 - F10) */ static void register_menu_str( struct s_menu_item_evnt * mi ) @@ -575,17 +575,17 @@ static void register_menu_str( struct s_menu_item_evnt * mi ) i = l = strlen(str); while (i > 2) { - if ((strncmp(" ", &str[i], 2) == 0) && (strlen(&str[i]) > 2)) { - // "Standard" Keyboard Shortcut Element found: - LOG(("Standard Keyboard Shortcut: \"%s\"\n", &str[i])); - x = i+2; - is_std_shortcut = true; - break; - } + if ((strncmp(" ", &str[i], 2) == 0) && (strlen(&str[i]) > 2)) { + // "Standard" Keyboard Shortcut Element found: + LOG(("Standard Keyboard Shortcut: \"%s\"\n", &str[i])); + x = i+2; + is_std_shortcut = true; + break; + } if( str[i] == '['){ - LOG(("Keyboard Shortcut: \"%s\"\n", &str[i])); - // "Custom" Keyboard Shortcut Element found (identified by [): + LOG(("Keyboard Shortcut: \"%s\"\n", &str[i])); + // "Custom" Keyboard Shortcut Element found (identified by [): x = i; break; } @@ -595,20 +595,20 @@ static void register_menu_str( struct s_menu_item_evnt * mi ) // Parse keyboard shortcut value: if( x > -1 ){ - if (is_std_shortcut == false) { - // create a new menu string to hide the "[" mark: - mi->menustr = malloc( l+1 ); - strcpy(mi->menustr, str); - mi->menustr[x]=' '; - x++; - } + if (is_std_shortcut == false) { + // create a new menu string to hide the "[" mark: + mi->menustr = malloc( l+1 ); + strcpy(mi->menustr, str); + mi->menustr[x]=' '; + x++; + } - // find & register modifiers: + // find & register modifiers: if (str[x] == '@') { accel->mod = K_ALT; if (is_std_shortcut == false) { - // only modify menu items when it is malloc'd: - mi->menustr[x] = 0x07; + // only modify menu items when it is malloc'd: + mi->menustr[x] = 0x07; } x++; } @@ -617,24 +617,24 @@ static void register_menu_str( struct s_menu_item_evnt * mi ) x++; } else if (str[x] == 0x01) { // the arrow up chracter (atari-st encoding) - accel->mod = K_LSHIFT; - x++; + accel->mod = K_LSHIFT; + x++; } - // find keycodes / chracters: + // find keycodes / chracters: if( str[x] <= 28 ){ // parse symbol switch( str[x] ){ - case 0x03: - accel->keycode = NK_RIGHT; + case 0x03: + accel->keycode = NK_RIGHT; break; - case 0x04: - accel->keycode = NK_LEFT; + case 0x04: + accel->keycode = NK_LEFT; break; - case 0x1B: - accel->keycode = NK_ESC; + case 0x1B: + accel->keycode = NK_ESC; break; - default: + default: break; } } else { @@ -646,13 +646,13 @@ static void register_menu_str( struct s_menu_item_evnt * mi ) } } else if (strncmp(&str[x], "Home", 4) == 0) { - accel->keycode = NK_CLRHOME; + accel->keycode = NK_CLRHOME; } else if (strncmp(&str[x], "Undo", 4) == 0) { - accel->keycode = NK_UNDO; + accel->keycode = NK_UNDO; } else if (strncmp(&str[x], "Help", 4) == 0) { - accel->keycode = NK_HELP; + accel->keycode = NK_HELP; } else { accel->ascii = str[x]; @@ -660,14 +660,14 @@ static void register_menu_str( struct s_menu_item_evnt * mi ) } LOG(("Registered keyboard shortcut for \"%s\" => mod: %d, " - "keycode: %d, ascii: %c\n", str, accel->mod, accel->keycode, - accel->ascii)); + "keycode: %d, ascii: %c\n", str, accel->mod, accel->keycode, + accel->ascii)); } } /** -* Setup & display an desktop menu. -*/ + * Setup & display an desktop menu. + */ void deskmenu_init(void) { @@ -682,15 +682,15 @@ void deskmenu_init(void) /* parse and update menu items: */ i = 0; while (menu_evnt_tbl[i].rid != -1) { - if(menu_evnt_tbl[i].rid > 0 && menu_evnt_tbl[i].title > 0){ - register_menu_str( &menu_evnt_tbl[i] ); - /* Update menu string if not null: */ - if( menu_evnt_tbl[i].menustr != NULL ){ - menu_text(h_gem_menu, menu_evnt_tbl[i].rid, - menu_evnt_tbl[i].menustr); - } - } - i++; + if(menu_evnt_tbl[i].rid > 0 && menu_evnt_tbl[i].title > 0){ + register_menu_str( &menu_evnt_tbl[i] ); + /* Update menu string if not null: */ + if( menu_evnt_tbl[i].menustr != NULL ){ + menu_text(h_gem_menu, menu_evnt_tbl[i].rid, + menu_evnt_tbl[i].menustr); + } + } + i++; } deskmenu_update(); /* Redraw menu: */ @@ -698,8 +698,8 @@ void deskmenu_init(void) } /** -* Uninstall the desktop menu -*/ + * Uninstall the desktop menu + */ void deskmenu_destroy(void) { int i; @@ -717,37 +717,37 @@ void deskmenu_destroy(void) } /** -* Return the deskmenu AES OBJECT tree -*/ + * Return the deskmenu AES OBJECT tree + */ OBJECT * deskmenu_get_obj_tree(void) { return(h_gem_menu); } /** -* Handle an menu item event -*/ + * Handle an menu item event + */ int deskmenu_dispatch_item(short title, short item) { int i=0; int retval = 0; OBJECT * menu_root = deskmenu_get_obj_tree(); - menu_tnormal(menu_root, item, 1); + menu_tnormal(menu_root, item, 1); menu_tnormal(menu_root, title, 1); menu_bar(menu_root, 1); // legacy code, is this sensible?: /* - while( gw ) { - window_set_focus( gw, WIDGET_NONE, NULL ); - gw = gw->next; - } + while( gw ) { + window_set_focus( gw, WIDGET_NONE, NULL ); + gw = gw->next; + } */ while (menu_evnt_tbl[i].rid != -1) { - if (menu_evnt_tbl[i].rid == item) { + if (menu_evnt_tbl[i].rid == item) { if (menu_evnt_tbl[i].menu_func != NULL) { menu_evnt_tbl[i].menu_func(item, title, NULL); } @@ -760,33 +760,33 @@ int deskmenu_dispatch_item(short title, short item) } /** -* Handle an keypress (check for accelerator) -*/ + * Handle an keypress (check for accelerator) + */ int deskmenu_dispatch_keypress(unsigned short kcode, unsigned short kstate, - unsigned short nkc) + unsigned short nkc) { char sascii; bool done = 0; int i = 0; - sascii = gemtk_keybd2ascii(kcode, 0); - if(sascii >= 'a' && sascii <= 'z'){ - sascii = gemtk_keybd2ascii(kcode, K_LSHIFT); - } + sascii = gemtk_keybd2ascii(kcode, 0); + if(sascii >= 'a' && sascii <= 'z'){ + sascii = gemtk_keybd2ascii(kcode, K_LSHIFT); + } /* Iterate through the menu function table: */ while( menu_evnt_tbl[i].rid != -1 && done == false) { if( kstate == menu_evnt_tbl[i].accel.mod - && menu_evnt_tbl[i].accel.ascii != 0) { + && menu_evnt_tbl[i].accel.ascii != 0) { if( menu_evnt_tbl[i].accel.ascii == sascii) { - if (menu_evnt_tbl[i].title > 0 && menu_evnt_tbl[i].rid > 0) { - deskmenu_dispatch_item(menu_evnt_tbl[i].title, - menu_evnt_tbl[i].rid); - } - else { - /* Keyboard shortcut not displayed within menu: */ - menu_evnt_tbl[i].menu_func(0, 0, NULL); - } + if (menu_evnt_tbl[i].title > 0 && menu_evnt_tbl[i].rid > 0) { + deskmenu_dispatch_item(menu_evnt_tbl[i].title, + menu_evnt_tbl[i].rid); + } + else { + /* Keyboard shortcut not displayed within menu: */ + menu_evnt_tbl[i].menu_func(0, 0, NULL); + } done = true; break; } @@ -794,17 +794,17 @@ int deskmenu_dispatch_keypress(unsigned short kcode, unsigned short kstate, /* the accel code hides in the keycode: */ if( menu_evnt_tbl[i].accel.keycode != 0) { if( menu_evnt_tbl[i].accel.keycode == (nkc & 0xFF) && - kstate == menu_evnt_tbl[i].accel.mod) { - if (menu_evnt_tbl[i].title > 0 && menu_evnt_tbl[i].rid > 0) { - deskmenu_dispatch_item(menu_evnt_tbl[i].title, - menu_evnt_tbl[i].rid); - } - else { - /* Keyboard shortcut not displayed within menu: */ - menu_evnt_tbl[i].menu_func(0, 0, NULL); - } - done = true; - break; + kstate == menu_evnt_tbl[i].accel.mod) { + if (menu_evnt_tbl[i].title > 0 && menu_evnt_tbl[i].rid > 0) { + deskmenu_dispatch_item(menu_evnt_tbl[i].title, + menu_evnt_tbl[i].rid); + } + else { + /* Keyboard shortcut not displayed within menu: */ + menu_evnt_tbl[i].menu_func(0, 0, NULL); + } + done = true; + break; } } } @@ -814,15 +814,14 @@ int deskmenu_dispatch_keypress(unsigned short kcode, unsigned short kstate, } /** -* Refresh the desk menu, reflecting netsurf current state. -*/ + * Refresh the desk menu, reflecting netsurf current state. + */ void deskmenu_update(void) { menu_icheck(h_gem_menu, MAINMENU_M_DEBUG_RENDER, (html_redraw_debug) ? 1 : 0); menu_icheck(h_gem_menu, MAINMENU_M_FG_IMAGES, - (nsoption_bool(foreground_images)) ? 1 : 0); + (nsoption_bool(foreground_images)) ? 1 : 0); menu_icheck(h_gem_menu, MAINMENU_M_BG_IMAGES, - (nsoption_bool(background_images)) ? 1 : 0); - menu_icheck(h_gem_menu, MAINMENU_M_VLOG, ((verbose_log == true) ? 1 : 0)); + (nsoption_bool(background_images)) ? 1 : 0); + menu_icheck(h_gem_menu, MAINMENU_M_VLOG, ((verbose_log == true) ? 1 : 0)); } - diff --git a/atari/deskmenu.h b/atari/deskmenu.h index 6ab00dcc9..d1b157a2d 100644 --- a/atari/deskmenu.h +++ b/atari/deskmenu.h @@ -1,12 +1,11 @@ -#ifndef DESKMENU_H_INCLUDED
+#ifndef DESKMENU_H_INCLUDED #define DESKMENU_H_INCLUDED void deskmenu_init(void); void deskmenu_destroy(void); -int deskmenu_dispatch_item(short title, short item);
-int deskmenu_dispatch_keypress(unsigned short kcode, unsigned short kstate, - unsigned short nkc); +int deskmenu_dispatch_item(short title, short item); +int deskmenu_dispatch_keypress(unsigned short kcode, unsigned short kstate, unsigned short nkc); OBJECT * deskmenu_get_obj_tree(void); void deskmenu_update( void ); -
-#endif // DESKMENU_H_INCLUDED
+ +#endif // DESKMENU_H_INCLUDED diff --git a/atari/download.c b/atari/download.c index 7445a837d..7445a837d 100755..100644 --- a/atari/download.c +++ b/atari/download.c diff --git a/atari/download.h b/atari/download.h index 82f89c050..a5be3257e 100755..100644 --- a/atari/download.h +++ b/atari/download.h @@ -1,63 +1,63 @@ -/*
- * Copyright 2010 Ole Loots <ole@monochrom.net>
- *
- * This file is part of NetSurf, http://www.netsurf-browser.org/
- *
- * NetSurf is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
- *
- * NetSurf is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef NS_ATARI_DOWNLOAD_H
-#define NS_ATARI_DOWNLOAD_H
-
+/* + * Copyright 2010 Ole Loots <ole@monochrom.net> + * + * This file is part of NetSurf, http://www.netsurf-browser.org/ + * + * NetSurf is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * NetSurf is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#ifndef NS_ATARI_DOWNLOAD_H +#define NS_ATARI_DOWNLOAD_H + extern struct gui_download_table *atari_download_table; -#define MAX_SLEN_LBL_DONE 64
-#define MAX_SLEN_LBL_PERCENT 5
-#define MAX_SLEN_LBL_SPEED 13
+#define MAX_SLEN_LBL_DONE 64 +#define MAX_SLEN_LBL_PERCENT 5 +#define MAX_SLEN_LBL_SPEED 13 #define MAX_SLEN_LBL_FILE 256 -#define MAX_SLEN_BT_ABORT 5
-
-#define DOWNLOAD_BAR_MAX 300
-
-typedef enum {
- NSATARI_DOWNLOAD_NONE,
- NSATARI_DOWNLOAD_WORKING,
- NSATARI_DOWNLOAD_ERROR,
- NSATARI_DOWNLOAD_COMPLETE,
- NSATARI_DOWNLOAD_CANCELED
-} nsatari_download_status;
-
-struct gui_download_window {
- struct download_context *ctx;
- struct gui_window * parent;
+#define MAX_SLEN_BT_ABORT 5 + +#define DOWNLOAD_BAR_MAX 300 + +typedef enum { + NSATARI_DOWNLOAD_NONE, + NSATARI_DOWNLOAD_WORKING, + NSATARI_DOWNLOAD_ERROR, + NSATARI_DOWNLOAD_COMPLETE, + NSATARI_DOWNLOAD_CANCELED +} nsatari_download_status; + +struct gui_download_window { + struct download_context *ctx; + struct gui_window * parent; GUIWIN *guiwin; short aes_handle; - OBJECT *tree;
- nsatari_download_status status;
- char *destination;
- FILE * fd;
- char lbl_done[MAX_SLEN_LBL_DONE];
- char lbl_percent[MAX_SLEN_LBL_PERCENT];
- char lbl_speed[MAX_SLEN_LBL_SPEED];
- char lbl_file[MAX_SLEN_LBL_FILE];
- uint32_t start;
- uint32_t lastrdw;
- uint32_t size_total;
- uint32_t size_downloaded;
- char * fbuf;
- size_t fbufsize;
+ OBJECT *tree; + nsatari_download_status status; + char *destination; + FILE * fd; + char lbl_done[MAX_SLEN_LBL_DONE]; + char lbl_percent[MAX_SLEN_LBL_PERCENT]; + char lbl_speed[MAX_SLEN_LBL_SPEED]; + char lbl_file[MAX_SLEN_LBL_FILE]; + uint32_t start; + uint32_t lastrdw; + uint32_t size_total; + uint32_t size_downloaded; + char * fbuf; + size_t fbufsize; bool abort; - bool close_on_finish;
-};
-
-#endif
+ bool close_on_finish; +}; + +#endif diff --git a/atari/encoding.c b/atari/encoding.c index 8afcbb650..9a16cbd4e 100644 --- a/atari/encoding.c +++ b/atari/encoding.c @@ -1,19 +1,19 @@ -/*
- * Copyright 2012 Ole Loots <ole@monochrom.net>
- *
- * This file is part of NetSurf, http://www.netsurf-browser.org/
- *
- * NetSurf is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
- *
- * NetSurf is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
+/* + * Copyright 2012 Ole Loots <ole@monochrom.net> + * + * This file is part of NetSurf, http://www.netsurf-browser.org/ + * + * NetSurf is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * NetSurf is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <stdlib.h> @@ -23,52 +23,53 @@ #include "atari/encoding.h" -
+ /* TODO: this need a rework..., encoding to atari st doesn|t always work. -( gui_add_to_clipboard...) */
-nserror utf8_to_local_encoding(const char *string,
- size_t len,
- char **result)
-{
- nserror r;
- r = utf8_to_enc(string, "ATARIST", len, result);
- if(r != NSERROR_OK) {
- r = utf8_to_enc(string, "UTF-8", len, result);
- assert( r == NSERROR_OK );
- }
- return r;
-}
+( gui_add_to_clipboard...) */ +nserror utf8_to_local_encoding(const char *string, + size_t len, + char **result) +{ + nserror r; + r = utf8_to_enc(string, "ATARIST", len, result); + if (r != NSERROR_OK) { + r = utf8_to_enc(string, "UTF-8", len, result); + assert( r == NSERROR_OK ); + } + return r; +} nserror utf8_from_local_encoding(const char *string, size_t len, char **result) -{
- return utf8_from_enc(string, "ATARIST", len, result, NULL);
-}
-
-
-/* borrowed from highwire project: */
-static const uint16_t Atari_to_Unicode[] = {
- /* .0 .1 .2 .3 .4 .5 .6 .7 .8 .9 .A .B .C .D .E .F */
- /* 7F */ 0x0394,
- /* 8. */ 0x00C7,0x00FC,0x00E9,0x00E2,0x00E4,0x00E0,0x00E5,0x00E7,0x00EA,0x00EB,0x00E8,0x00EF,0x00EE,0x00EC,0x00C4,0x00C5,
- /* 9. */ 0x00C9,0x00E6,0x00C6,0x00F4,0x00F6,0x00F2,0x00FB,0x00F9,0x00FF,0x00D6,0x00DC,0x00A2,0x00A3,0x00A5,0x00DF,0x0192,
- /* A. */ 0x00E1,0x00ED,0x00F3,0x00FA,0x00F1,0x00D1,0x00AA,0x00BA,0x00BF,0x2310,0x00AC,0x00BD,0x00BC,0x00A1,0x00AB,0x00BB,
- /* B. */ 0x00C3,0x00F5,0x00D8,0x00F8,0x0153,0x0152,0x00C0,0x00C3,0x00D5,0x00A8,0x00B4,0x2020,0x00B6,0x00A9,0x00AE,0x2122,
- /* C. */ 0x0133,0x0132,0x05D0,0x05D1,0x05D2,0x05D3,0x05D4,0x05D5,0x05D6,0x05D7,0x05D8,0x05D9,0x05DB,0x05DC,0x05DE,0x05E0,
- /* D. */ 0x05E1,0x05E2,0x05E4,0x05E6,0x05E7,0x05E8,0x05E9,0x05EA,0x05DF,0x05DA,0x05DD,0x05E3,0x05E5,0x00A7,0x2038,0x221E,
- /* E. */ 0x03B1,0x03B2,0x0393,0x03C0,0x03A3,0x03C3,0x00B5,0x03C4,0x03A6,0x0398,0x03A9,0x03B4,0x222E,0x03C6,0x2208,0x2229,
- /* F. */ 0x2261,0x00B1,0x2265,0x2264,0x2320,0x2321,0x00F7,0x2248,0x00B0,0x2022,0x00B7,0x221A,0x207F,0x00B2,0x00B3,0x00AF
-};
-#define BEG_Atari_to_Unicode 0x7F
-
-int atari_to_ucs4(unsigned char atari)
-{
- uint32_t ucs4 = 0xfffd;
- if ( atari >= BEG_Atari_to_Unicode && atari <= 0xFE )
- ucs4 = (int)Atari_to_Unicode[(short)atari - BEG_Atari_to_Unicode];
- else
- ucs4 = (int)atari;
- return( ucs4 );
+{ + return utf8_from_enc(string, "ATARIST", len, result, NULL); +} + + +/* borrowed from highwire project: */ +static const uint16_t Atari_to_Unicode[] = { + /* .0 .1 .2 .3 .4 .5 .6 .7 .8 .9 .A .B .C .D .E .F */ + /* 7F */ 0x0394, + /* 8. */ 0x00C7,0x00FC,0x00E9,0x00E2,0x00E4,0x00E0,0x00E5,0x00E7,0x00EA,0x00EB,0x00E8,0x00EF,0x00EE,0x00EC,0x00C4,0x00C5, + /* 9. */ 0x00C9,0x00E6,0x00C6,0x00F4,0x00F6,0x00F2,0x00FB,0x00F9,0x00FF,0x00D6,0x00DC,0x00A2,0x00A3,0x00A5,0x00DF,0x0192, + /* A. */ 0x00E1,0x00ED,0x00F3,0x00FA,0x00F1,0x00D1,0x00AA,0x00BA,0x00BF,0x2310,0x00AC,0x00BD,0x00BC,0x00A1,0x00AB,0x00BB, + /* B. */ 0x00C3,0x00F5,0x00D8,0x00F8,0x0153,0x0152,0x00C0,0x00C3,0x00D5,0x00A8,0x00B4,0x2020,0x00B6,0x00A9,0x00AE,0x2122, + /* C. */ 0x0133,0x0132,0x05D0,0x05D1,0x05D2,0x05D3,0x05D4,0x05D5,0x05D6,0x05D7,0x05D8,0x05D9,0x05DB,0x05DC,0x05DE,0x05E0, + /* D. */ 0x05E1,0x05E2,0x05E4,0x05E6,0x05E7,0x05E8,0x05E9,0x05EA,0x05DF,0x05DA,0x05DD,0x05E3,0x05E5,0x00A7,0x2038,0x221E, + /* E. */ 0x03B1,0x03B2,0x0393,0x03C0,0x03A3,0x03C3,0x00B5,0x03C4,0x03A6,0x0398,0x03A9,0x03B4,0x222E,0x03C6,0x2208,0x2229, + /* F. */ 0x2261,0x00B1,0x2265,0x2264,0x2320,0x2321,0x00F7,0x2248,0x00B0,0x2022,0x00B7,0x221A,0x207F,0x00B2,0x00B3,0x00AF +}; +#define BEG_Atari_to_Unicode 0x7F + +int atari_to_ucs4(unsigned char atari) +{ + uint32_t ucs4 = 0xfffd; + if ( atari >= BEG_Atari_to_Unicode && atari <= 0xFE ) { + ucs4 = (int)Atari_to_Unicode[(short)atari - BEG_Atari_to_Unicode]; + } else { + ucs4 = (int)atari; + } + return( ucs4 ); } diff --git a/atari/file.h b/atari/file.h index 4428f2e82..b368567c7 100644 --- a/atari/file.h +++ b/atari/file.h @@ -16,12 +16,12 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -#ifndef FILE_C_INCLUDED
+#ifndef FILE_C_INCLUDED #define FILE_C_INCLUDED #include "utils/file.h" -struct gui_file_table *atari_file_table;
-
-
-#endif // FILE_C_INCLUDED
+struct gui_file_table *atari_file_table; + + +#endif /* FILE_C_INCLUDED */ diff --git a/atari/filetype.c b/atari/filetype.c index 4e8c334f8..4e8c334f8 100755..100644 --- a/atari/filetype.c +++ b/atari/filetype.c diff --git a/atari/findfile.c b/atari/findfile.c index 60b3ed510..60b3ed510 100755..100644 --- a/atari/findfile.c +++ b/atari/findfile.c diff --git a/atari/findfile.h b/atari/findfile.h index 9a6f7848a..9cda2a0be 100755..100644 --- a/atari/findfile.h +++ b/atari/findfile.h @@ -23,5 +23,4 @@ extern char *atari_find_resource(char *buf, const char *filename, const char *def); char *local_file_to_url(const char *filename); - #endif /* NETSURF_ATARI_FINDFILE_H */ diff --git a/atari/font.c b/atari/font.c index 6b3cc6f77..729986ca6 100755..100644 --- a/atari/font.c +++ b/atari/font.c @@ -1,60 +1,42 @@ -/*
- * Copyright 2010 Ole Loots <ole@monochrom.net>
- *
- * This file is part of NetSurf, http://www.netsurf-browser.org/
- *
- * NetSurf is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
- *
- * NetSurf is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include <inttypes.h>
-#include <assert.h>
-/*
- * Copyright 2012 Ole Loots <ole@monochrom.net>
- *
- * This file is part of NetSurf, http://www.netsurf-browser.org/
- *
- * NetSurf is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
- *
- * NetSurf is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
+/* + * Copyright 2010 Ole Loots <ole@monochrom.net> + * + * This file is part of NetSurf, http://www.netsurf-browser.org/ + * + * NetSurf is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * NetSurf is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -#include <stdbool.h>
-
-#include "desktop/font.h"
-#include "utils/utf8.h"
-#include "utils/log.h"
-#include "utils/nsoption.h"
-#include "desktop/mouse.h"
-#include "desktop/plotters.h"
-
-#include "atari/gui.h"
-#include "atari/plot/fontplot.h"
-#include "atari/plot/plot.h"
-#include "atari/findfile.h"
-#include "atari/font.h"
-
-extern FONT_PLOTTER fplotter;
-
-static bool atari_font_position_in_string(const plot_font_style_t * fstyle,const char *string,
- size_t length,int x, size_t *char_offset, int *actual_x )
+#include <inttypes.h> +#include <assert.h> +#include <stdbool.h> + +#include "desktop/font.h" +#include "utils/utf8.h" +#include "utils/log.h" +#include "utils/nsoption.h" +#include "desktop/mouse.h" +#include "desktop/plotters.h" + +#include "atari/gui.h" +#include "atari/plot/fontplot.h" +#include "atari/plot/plot.h" +#include "atari/findfile.h" +#include "atari/font.h" + +extern FONT_PLOTTER fplotter; + +static bool atari_font_position_in_string(const plot_font_style_t * fstyle,const char *string, + size_t length,int x, size_t *char_offset, int *actual_x ) { float scale = plot_get_scale(); @@ -64,13 +46,13 @@ static bool atari_font_position_in_string(const plot_font_style_t * fstyle,const fplotter->pixel_pos(fplotter, &newstyle, string, length, x, char_offset, actual_x); } else { fplotter->pixel_pos(fplotter, fstyle, string, length, x, char_offset, actual_x); - }
-
- return( true );
-}
-
-static bool atari_font_split( const plot_font_style_t * fstyle, const char *string,
- size_t length,int x, size_t *char_offset, int *actual_x )
+ } + + return( true ); +} + +static bool atari_font_split( const plot_font_style_t * fstyle, const char *string, + size_t length,int x, size_t *char_offset, int *actual_x ) { float scale = plot_get_scale(); @@ -83,13 +65,13 @@ static bool atari_font_split( const plot_font_style_t * fstyle, const char *stri fplotter->str_split(fplotter, fstyle, string, length, x, char_offset, actual_x); } -
-
- return( true );
-}
-
-static bool atari_font_width( const plot_font_style_t *fstyle, const char * str,
- size_t length, int * width )
+ + + return( true ); +} + +static bool atari_font_width( const plot_font_style_t *fstyle, const char * str, + size_t length, int * width ) { float scale = plot_get_scale(); @@ -100,15 +82,14 @@ static bool atari_font_width( const plot_font_style_t *fstyle, const char * str, } else { fplotter->str_width(fplotter, fstyle, str, length, width); } -
-
- return( true );
-}
-
-const struct font_functions nsfont = {
- atari_font_width,
- atari_font_position_in_string,
- atari_font_split
-};
-
-
+ + + return( true ); +} + +const struct font_functions nsfont = { + atari_font_width, + atari_font_position_in_string, + atari_font_split +}; + diff --git a/atari/font.h b/atari/font.h index 2717497b4..065a35acc 100755..100644 --- a/atari/font.h +++ b/atari/font.h @@ -1,25 +1,24 @@ -/*
- * Copyright 2010 Ole Loots <ole@monochrom.net>
- *
- * This file is part of NetSurf, http://www.netsurf-browser.org/
- *
- * NetSurf is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
- *
- * NetSurf is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef NS_ATARI_FONT_H
-#define NS_ATARI_FONT_H
+/* + * Copyright 2010 Ole Loots <ole@monochrom.net> + * + * This file is part of NetSurf, http://www.netsurf-browser.org/ + * + * NetSurf is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * NetSurf is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#ifndef NS_ATARI_FONT_H +#define NS_ATARI_FONT_H + + +#endif /* NETSURF_FB_FONT_H */ -
-
-#endif /* NETSURF_FB_FONT_H */
-
diff --git a/atari/gui.h b/atari/gui.h index ed76adc0e..ed76adc0e 100755..100644 --- a/atari/gui.h +++ b/atari/gui.h diff --git a/atari/history.c b/atari/history.c index 329328a29..cb2ba9e17 100644 --- a/atari/history.c +++ b/atari/history.c @@ -16,8 +16,6 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. */ - - #include <ctype.h> #include <string.h> #include <stdbool.h> @@ -50,16 +48,16 @@ struct atari_global_history_s atari_global_history; /* Setup Atari Treeview Callbacks: */ static nserror atari_global_history_init_phase2(struct core_window *cw, - struct core_window_callback_table * default_callbacks); + struct core_window_callback_table * default_callbacks); static void atari_global_history_finish(struct core_window *cw); static void atari_global_history_keypress(struct core_window *cw, - uint32_t ucs4); + uint32_t ucs4); static void atari_global_history_mouse_action(struct core_window *cw, - browser_mouse_state mouse, - int x, int y); + browser_mouse_state mouse, + int x, int y); static void atari_global_history_draw(struct core_window *cw, int x, - int y, struct rect *clip, - const struct redraw_context *ctx); + int y, struct rect *clip, + const struct redraw_context *ctx); static short handle_event(GUIWIN *win, EVMULT_OUT *ev_out, short msg[8]); static struct atari_treeview_callbacks atari_global_history_treeview_callbacks = { @@ -72,7 +70,7 @@ static struct atari_treeview_callbacks atari_global_history_treeview_callbacks = }; static nserror atari_global_history_init_phase2(struct core_window *cw, - struct core_window_callback_table *cb_t) + struct core_window_callback_table *cb_t) { LOG(("")); return(global_history_init(cb_t, cw)); @@ -85,8 +83,8 @@ static void atari_global_history_finish(struct core_window *cw) } static void atari_global_history_draw(struct core_window *cw, int x, - int y, struct rect *clip, - const struct redraw_context *ctx) + int y, struct rect *clip, + const struct redraw_context *ctx) { global_history_redraw(x, y, clip, ctx); } @@ -98,8 +96,8 @@ static void atari_global_history_keypress(struct core_window *cw, uint32_t ucs4) } static void atari_global_history_mouse_action(struct core_window *cw, - browser_mouse_state mouse, - int x, int y) + browser_mouse_state mouse, + int x, int y) { LOG(("x: %d, y: %d\n", x, y)); @@ -115,14 +113,14 @@ static short handle_event(GUIWIN *win, EVMULT_OUT *ev_out, short msg[8]) LOG(("")); - if(ev_out->emo_events & MU_MESAG){ + if (ev_out->emo_events & MU_MESAG) { switch (msg[0]) { - case WM_CLOSED: - atari_global_history_close(); - retval = 1; + case WM_CLOSED: + atari_global_history_close(); + retval = 1; break; - default: break; + default: break; } } @@ -134,9 +132,7 @@ static short handle_event(GUIWIN *win, EVMULT_OUT *ev_out, short msg[8]) void atari_global_history_init(void) { if (atari_global_history.init == false) { - - - if( atari_global_history.window == NULL ){ + if( atari_global_history.window == NULL ) { int flags = ATARI_TREEVIEW_WIDGETS; short handle = -1; OBJECT * tree = gemtk_obj_get_tree(TOOLBAR_HISTORY); @@ -146,7 +142,7 @@ void atari_global_history_init(void) atari_global_history.window = gemtk_wm_add(handle, GEMTK_WM_FLAG_DEFAULTS, NULL); if( atari_global_history.window == NULL ) { gemtk_msg_box_show(GEMTK_MSG_BOX_ALERT, - "Failed to allocate History"); + "Failed to allocate History"); return; } wind_set_str(handle, WF_NAME, (char*)messages_get("History")); @@ -154,18 +150,15 @@ void atari_global_history_init(void) gemtk_wm_unlink(atari_global_history.window); atari_global_history.tv = atari_treeview_create( - atari_global_history.window, - &atari_global_history_treeview_callbacks, - NULL, flags); + atari_global_history.window, + &atari_global_history_treeview_callbacks, + NULL, flags); if (atari_global_history.tv == NULL) { /* handle it properly, clean up previous allocs */ LOG(("Failed to allocate treeview")); return; } - - } else { - } } atari_global_history.init = true; @@ -181,11 +174,11 @@ void atari_global_history_open(void) if (atari_treeview_is_open(atari_global_history.tv) == false) { - GRECT pos; - pos.g_x = desk_area.g_w - desk_area.g_w / 4; - pos.g_y = desk_area.g_y; - pos.g_w = desk_area.g_w / 4; - pos.g_h = desk_area.g_h; + GRECT pos; + pos.g_x = desk_area.g_w - desk_area.g_w / 4; + pos.g_y = desk_area.g_y; + pos.g_w = desk_area.g_w / 4; + pos.g_h = desk_area.g_h; atari_treeview_open(atari_global_history.tv, &pos); } else { @@ -201,10 +194,11 @@ void atari_global_history_close(void) void atari_global_history_destroy(void) { - if( atari_global_history.init == false) { + if ( atari_global_history.init == false) { return; } - if( atari_global_history.window != NULL ) { + + if ( atari_global_history.window != NULL ) { if (atari_treeview_is_open(atari_global_history.tv)) atari_global_history_close(); wind_delete(gemtk_wm_get_handle(atari_global_history.window)); diff --git a/atari/history.h b/atari/history.h index 919407c63..06a5d32f2 100644 --- a/atari/history.h +++ b/atari/history.h @@ -1,19 +1,19 @@ -/*
- * Copyright 2013 Ole Loots <ole@monochrom.net>
- *
- * This file is part of NetSurf, http://www.netsurf-browser.org/
- *
- * NetSurf is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
- *
- * NetSurf is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
+/* + * Copyright 2013 Ole Loots <ole@monochrom.net> + * + * This file is part of NetSurf, http://www.netsurf-browser.org/ + * + * NetSurf is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * NetSurf is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef NS_ATARI_HISTORY_H @@ -21,18 +21,18 @@ struct core_window; -struct atari_global_history_s {
- GUIWIN * window;
- //struct atari_treeview_window * tv;/*< The hotlist treeview handle. */ - struct core_window *tv;
- bool init;
-};
-
-extern struct atari_global_history_s atari_global_history;
-
-void atari_global_history_init(void);
-void atari_global_history_open(void);
-void atari_global_history_close(void);
+struct atari_global_history_s { + GUIWIN * window; + //struct atari_treeview_window * tv; /*< The hotlist treeview handle. */ + struct core_window *tv; + bool init; +}; + +extern struct atari_global_history_s atari_global_history; + +void atari_global_history_init(void); +void atari_global_history_open(void); +void atari_global_history_close(void); void atari_global_history_destroy(void); void atari_global_history_redraw(void); diff --git a/atari/hotlist.c b/atari/hotlist.c index d314fcb81..621d68891 100644 --- a/atari/hotlist.c +++ b/atari/hotlist.c @@ -16,7 +16,6 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. */ - #include <ctype.h> #include <string.h> #include <stdbool.h> @@ -49,16 +48,16 @@ struct atari_hotlist hl; /* Setup Atari Treeview Callbacks: */ static nserror atari_hotlist_init_phase2(struct core_window *cw, - struct core_window_callback_table * default_callbacks); + struct core_window_callback_table * default_callbacks); static void atari_hotlist_finish(struct core_window *cw); static void atari_hotlist_keypress(struct core_window *cw, - uint32_t ucs4); + uint32_t ucs4); static void atari_hotlist_mouse_action(struct core_window *cw, - browser_mouse_state mouse, - int x, int y); + browser_mouse_state mouse, + int x, int y); static void atari_hotlist_draw(struct core_window *cw, int x, - int y, struct rect *clip, - const struct redraw_context *ctx); + int y, struct rect *clip, + const struct redraw_context *ctx); static short handle_event(GUIWIN *win, EVMULT_OUT *ev_out, short msg[8]); static struct atari_treeview_callbacks atari_hotlist_treeview_callbacks = { @@ -71,7 +70,7 @@ static struct atari_treeview_callbacks atari_hotlist_treeview_callbacks = { }; static nserror atari_hotlist_init_phase2(struct core_window *cw, - struct core_window_callback_table *cb_t) + struct core_window_callback_table *cb_t) { LOG(("")); return(hotlist_init(cb_t, cw, hl.path)); @@ -84,8 +83,8 @@ static void atari_hotlist_finish(struct core_window *cw) } static void atari_hotlist_draw(struct core_window *cw, int x, - int y, struct rect *clip, - const struct redraw_context *ctx) + int y, struct rect *clip, + const struct redraw_context *ctx) { hotlist_redraw(x, y, clip, ctx); } @@ -102,8 +101,8 @@ static void atari_hotlist_keypress(struct core_window *cw, uint32_t ucs4) } static void atari_hotlist_mouse_action(struct core_window *cw, - browser_mouse_state mouse, - int x, int y) + browser_mouse_state mouse, + int x, int y) { LOG(("x: %d, y: %d\n", x, y)); @@ -129,59 +128,59 @@ static short handle_event(GUIWIN *win, EVMULT_OUT *ev_out, short msg[8]) tv = (struct atari_treeview_window*) gemtk_wm_get_user_data(win); cw = (struct core_window *)tv; - if(ev_out->emo_events & MU_MESAG){ + if (ev_out->emo_events & MU_MESAG) { switch (msg[0]) { - case WM_TOOLBAR: - LOG(("WM_TOOLBAR")); - - toolbar = gemtk_obj_get_tree(TOOLBAR_HOTLIST); - - assert(toolbar); - assert(tv); - - switch (msg[4]) { - case TOOLBAR_HOTLIST_CREATE_FOLDER: - hotlist_add_folder(NULL, 0, 0); - break; - - case TOOLBAR_HOTLIST_ADD: - gw = gui_get_input_window(); - if(gw && gw->browser){ - cur_url = gui_window_get_url(gw); - cur_title = gui_window_get_title(gw); - // TODO: read language string. - cur_title = (cur_title ? cur_title : (char*)"New bookmark"); - } else { - cur_url = (char*)"http://www"; - } - atari_hotlist_add_page(cur_url, cur_title); - break; - - case TOOLBAR_HOTLIST_DELETE: - hotlist_keypress(NS_KEY_DELETE_LEFT); - break; - - case TOOLBAR_HOTLIST_EDIT: - hotlist_edit_selection(); - break; + case WM_TOOLBAR: + LOG(("WM_TOOLBAR")); + + toolbar = gemtk_obj_get_tree(TOOLBAR_HOTLIST); + + assert(toolbar); + assert(tv); + + switch (msg[4]) { + case TOOLBAR_HOTLIST_CREATE_FOLDER: + hotlist_add_folder(NULL, 0, 0); + break; + + case TOOLBAR_HOTLIST_ADD: + gw = gui_get_input_window(); + if(gw && gw->browser){ + cur_url = gui_window_get_url(gw); + cur_title = gui_window_get_title(gw); + // TODO: read language string. + cur_title = (cur_title ? cur_title : (char*)"New bookmark"); + } else { + cur_url = (char*)"http://www"; } + atari_hotlist_add_page(cur_url, cur_title); + break; + + case TOOLBAR_HOTLIST_DELETE: + hotlist_keypress(NS_KEY_DELETE_LEFT); + break; - gemtk_win = atari_treeview_get_gemtk_window(cw); - assert(gemtk_win); - toolbar[msg[4]].ob_state &= ~OS_SELECTED; - atari_treeview_get_grect(cw, TREEVIEW_AREA_TOOLBAR, &tb_area); - evnt_timer(150); - gemtk_wm_exec_redraw(gemtk_win, &tb_area); - retval = 1; + case TOOLBAR_HOTLIST_EDIT: + hotlist_edit_selection(); + break; + } + + gemtk_win = atari_treeview_get_gemtk_window(cw); + assert(gemtk_win); + toolbar[msg[4]].ob_state &= ~OS_SELECTED; + atari_treeview_get_grect(cw, TREEVIEW_AREA_TOOLBAR, &tb_area); + evnt_timer(150); + gemtk_wm_exec_redraw(gemtk_win, &tb_area); + retval = 1; break; - case WM_CLOSED: - atari_hotlist_close(); - retval = 1; + case WM_CLOSED: + atari_hotlist_close(); + retval = 1; break; - default: break; + default: break; } } @@ -211,7 +210,7 @@ void atari_hotlist_init(void) hl.window = gemtk_wm_add(handle, GEMTK_WM_FLAG_DEFAULTS, NULL); if( hl.window == NULL ) { gemtk_msg_box_show(GEMTK_MSG_BOX_ALERT, - "Failed to allocate Hotlist"); + "Failed to allocate Hotlist"); return; } wind_set_str(handle, WF_NAME, (char*)messages_get("Hotlist")); @@ -220,7 +219,7 @@ void atari_hotlist_init(void) tree_hotlist_path = (const char*)&hl.path; hl.tv = atari_treeview_create(hl.window, &atari_hotlist_treeview_callbacks, - NULL, flags); + NULL, flags); if (hl.tv == NULL) { /* handle it properly, clean up previous allocs */ @@ -244,11 +243,11 @@ void atari_hotlist_open(void) if (atari_treeview_is_open(hl.tv) == false) { - GRECT pos; - pos.g_x = desk_area.g_w - desk_area.g_w / 4; - pos.g_y = desk_area.g_y; - pos.g_w = desk_area.g_w / 4; - pos.g_h = desk_area.g_h; + GRECT pos; + pos.g_x = desk_area.g_w - desk_area.g_w / 4; + pos.g_y = desk_area.g_y; + pos.g_w = desk_area.g_w / 4; + pos.g_h = desk_area.g_h; atari_treeview_open(hl.tv, &pos); } else { @@ -298,20 +297,19 @@ void atari_hotlist_add_page( const char * url, const char * title ) if (nsurl_create(url, &nsurl) != NSERROR_OK) return; - if (hotlist_has_url(nsurl)) { - LOG(("URL already added as Bookmark")); - nsurl_unref(nsurl); - return; - } + if (hotlist_has_url(nsurl)) { + LOG(("URL already added as Bookmark")); + nsurl_unref(nsurl); + return; + } /* doesn't look nice: - if( hl.tv->click.x >= 0 && hl.tv->click.y >= 0 ){ - hotlist_add_entry( nsurl, title, true, hl.tv->click.y ); - } else { + if( hl.tv->click.x >= 0 && hl.tv->click.y >= 0 ){ + hotlist_add_entry( nsurl, title, true, hl.tv->click.y ); + } else { - }*/ + }*/ //hotlist_add_url(nsurl); hotlist_add_entry(nsurl, title, 0, 0); nsurl_unref(nsurl); } - diff --git a/atari/hotlist.h b/atari/hotlist.h index 52598f27a..159878233 100644 --- a/atari/hotlist.h +++ b/atari/hotlist.h @@ -1,52 +1,52 @@ -/*
- * Copyright 2013 Ole Loots <ole@monochrom.net>
- *
- * This file is part of NetSurf, http://www.netsurf-browser.org/
- *
- * NetSurf is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
- *
- * NetSurf is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef NS_ATARI_HOTLIST_H
-#define NS_ATARI_HOTLIST_H
- -#include <stdbool.h>
- -#include "desktop/tree.h"
+/* + * Copyright 2013 Ole Loots <ole@monochrom.net> + * + * This file is part of NetSurf, http://www.netsurf-browser.org/ + * + * NetSurf is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * NetSurf is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#ifndef NS_ATARI_HOTLIST_H +#define NS_ATARI_HOTLIST_H + +#include <stdbool.h> + +#include "desktop/tree.h" #include "atari/gemtk/gemtk.h" -#include "atari/treeview.h"
+#include "atari/treeview.h" + +#ifndef PATH_MAX +#define PATH_MAX 1024 +#endif -#ifndef PATH_MAX
-#define PATH_MAX 1024
-#endif
+/* The hotlist window, toolbar and treeview data. */ -/* The hotlist window, toolbar and treeview data. */
-
-struct atari_hotlist {
- GUIWIN * window;
+struct atari_hotlist { + GUIWIN * window; //ATARI_TREEVIEW_PTR tv;/*< The hotlist treeview handle. */ - struct core_window *tv;
- bool init;
- char path[PATH_MAX];
-};
-
-extern struct atari_hotlist hl;
-
-void atari_hotlist_init( void );
-void atari_hotlist_open( void );
-void atari_hotlist_close( void );
-void atari_hotlist_destroy( void );
-void atari_hotlist_add_page( const char * url, const char * title );
-void atari_hotlist_redraw( void );
-
-
+ struct core_window *tv; + bool init; + char path[PATH_MAX]; +}; + +extern struct atari_hotlist hl; + +void atari_hotlist_init( void ); +void atari_hotlist_open( void ); +void atari_hotlist_close( void ); +void atari_hotlist_destroy( void ); +void atari_hotlist_add_page( const char * url, const char * title ); +void atari_hotlist_redraw( void ); + + #endif diff --git a/atari/login.c b/atari/login.c index 66e021751..66e021751 100755..100644 --- a/atari/login.c +++ b/atari/login.c diff --git a/atari/login.h b/atari/login.h index 345f91df3..b61808c71 100755..100644 --- a/atari/login.h +++ b/atari/login.h @@ -1,26 +1,26 @@ -/*
- * Copyright 2010 Ole Loots <ole@monochrom.net>
- *
- * This file is part of NetSurf, http://www.netsurf-browser.org/
- *
- * NetSurf is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
- *
- * NetSurf is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef NS_LOGIN_H_INCLUDED
-#define NS_LOGIN_H_INCLUDED
-
-#include "utils/nsurl.h"
-
-bool login_form_do( nsurl * host, char * realm, char **cbpw );
-
-#endif
+/* + * Copyright 2010 Ole Loots <ole@monochrom.net> + * + * This file is part of NetSurf, http://www.netsurf-browser.org/ + * + * NetSurf is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * NetSurf is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#ifndef NS_LOGIN_H_INCLUDED +#define NS_LOGIN_H_INCLUDED + +#include "utils/nsurl.h" + +bool login_form_do( nsurl * host, char * realm, char **cbpw ); + +#endif diff --git a/atari/misc.c b/atari/misc.c index e3c358bce..e3c358bce 100755..100644 --- a/atari/misc.c +++ b/atari/misc.c diff --git a/atari/misc.h b/atari/misc.h index 418f28308..418f28308 100755..100644 --- a/atari/misc.h +++ b/atari/misc.h diff --git a/atari/options.h b/atari/options.h index 4ae847d74..4ae847d74 100755..100644 --- a/atari/options.h +++ b/atari/options.h diff --git a/atari/osspec.c b/atari/osspec.c index 82e757a33..2f21bbefe 100644 --- a/atari/osspec.c +++ b/atari/osspec.c @@ -40,7 +40,7 @@ NS_ATARI_SYSINFO atari_sysinfo; void init_os_info(void) { int16_t out[4]; - unsigned long cookie_FSMC = 0; + unsigned long cookie_FSMC = 0; atari_sysinfo.gemdos_version = Sversion(); @@ -97,17 +97,16 @@ int tos_getcookie(long tag, long * value) /* - a fixed version of realpath() which returns valid - paths for TOS which have no U: drive + a fixed version of realpath() which returns valid + paths for TOS which have no U: drive */ -char * gemdos_realpath(const char * path, char * rpath) +char *gemdos_realpath(const char * path, char * rpath) { char work[PATH_MAX+1]; char * r; - if (rpath == NULL) { return (NULL); } @@ -124,10 +123,8 @@ char * gemdos_realpath(const char * path, char * rpath) unx2dos((const char *)r, rpath); LOG(("realpath out: %s\n", rpath)); return(rpath); - } - else { + } else { LOG(("realpath out: NULL!\n")); } return (NULL); } - diff --git a/atari/osspec.h b/atari/osspec.h index 29f87cccf..0c8d4cf66 100644 --- a/atari/osspec.h +++ b/atari/osspec.h @@ -1,44 +1,45 @@ -/*
- * Copyright 2011 Ole Loots <ole@monochrom.net>
- *
- * This file is part of NetSurf, http://www.netsurf-browser.org/
- *
- * NetSurf is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
- *
- * NetSurf is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef NS_ATARI_OSSPEC_H
+/* + * Copyright 2011 Ole Loots <ole@monochrom.net> + * + * This file is part of NetSurf, http://www.netsurf-browser.org/ + * + * NetSurf is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * NetSurf is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#ifndef NS_ATARI_OSSPEC_H #define NS_ATARI_OSSPEC_H -typedef struct {
- long c;
- long v;
-} COOKIE;
-
-typedef struct {
- unsigned short gemdos_version;
- unsigned short gdos_FSMC;
- unsigned short systype;
- unsigned short small_sfont_pxh;
- unsigned short medium_sfont_pxh;
- unsigned short large_sfont_pxh;
- bool sfont_monospaced;
- short aes_max_win_title_len;
-} NS_ATARI_SYSINFO;
-
-extern NS_ATARI_SYSINFO atari_sysinfo;
-
-void init_os_info(void);
-void fix_path(char * path);
+typedef struct { + long c; + long v; +} COOKIE; + +typedef struct { + unsigned short gemdos_version; + unsigned short gdos_FSMC; + unsigned short systype; + unsigned short small_sfont_pxh; + unsigned short medium_sfont_pxh; + unsigned short large_sfont_pxh; + bool sfont_monospaced; + short aes_max_win_title_len; +} NS_ATARI_SYSINFO; + +extern NS_ATARI_SYSINFO atari_sysinfo; + +void init_os_info(void); +void fix_path(char * path); char * gemdos_realpath(const char * path, char * rpath); -int tos_getcookie( long tag, long * value );
+int tos_getcookie( long tag, long * value ); + #endif diff --git a/atari/plot/eddi.h b/atari/plot/eddi.h index 7d6b90d4b..7d6b90d4b 100755..100644 --- a/atari/plot/eddi.h +++ b/atari/plot/eddi.h diff --git a/atari/plot/eddi.s b/atari/plot/eddi.s index f0ea18a1e..f0ea18a1e 100755..100644 --- a/atari/plot/eddi.s +++ b/atari/plot/eddi.s diff --git a/atari/plot/font_freetype.c b/atari/plot/font_freetype.c index 6b22ba81d..086008dd7 100755..100644 --- a/atari/plot/font_freetype.c +++ b/atari/plot/font_freetype.c @@ -112,89 +112,89 @@ int ft_load_type; /* cache manager faceID data to create freetype faceid on demand */ typedef struct ftc_faceid_s { - char *fontfile; /* path to font */ - int index; /* index of font */ - int cidx; /* character map index for unicode */ + char *fontfile; /* path to font */ + int index; /* index of font */ + int cidx; /* character map index for unicode */ } ftc_faceid_t; -static int dtor( FONT_PLOTTER self );
-static int str_width( FONT_PLOTTER self,const plot_font_style_t *fstyle,
- const char * str, size_t length, int * width );
-static int str_split( FONT_PLOTTER self, const plot_font_style_t *fstyle,
- const char *string, size_t length,int x,
- size_t *char_offset, int *actual_x );
-static int pixel_pos( FONT_PLOTTER self, const plot_font_style_t *fstyle,
- const char *string, size_t length,int x,
- size_t *char_offset, int *actual_x );
-static int text( FONT_PLOTTER self, int x, int y, const char *text,
- size_t length, const plot_font_style_t *fstyle );
-
-static void draw_glyph8(FONT_PLOTTER self, GRECT *clip, GRECT * loc,
- uint8_t * pixdata, int pitch, uint32_t colour);
-static void draw_glyph1(FONT_PLOTTER self, GRECT * clip, GRECT * loc,
- uint8_t * pixdata, int pitch, uint32_t colour);
-
-static ftc_faceid_t *font_faces[FONT_FACE_COUNT];
-static MFDB tmp;
-static int tmp_mfdb_size;
-static bool init = false;
-static struct bitmap * fontbmp;
-static size_t fontbmp_stride;
-static int fontbmp_allocated_height;
-static int fontbmp_allocated_width;
-
-
-
-/* map cache manager handle to face id */
-static FT_Error ft_face_requester(FTC_FaceID face_id, FT_Library library, FT_Pointer request_data, FT_Face *face )
-{
- FT_Error error;
- ftc_faceid_t *ft_face = (ftc_faceid_t *)face_id;
- int cidx;
-
- error = FT_New_Face(library, ft_face->fontfile, ft_face->index, face);
- if (error) {
- LOG(("Could not find font (code %d)\n", error));
- } else {
- error = FT_Select_Charmap(*face, FT_ENCODING_UNICODE);
- if (error) {
- LOG(("Could not select charmap (code %d)\n", error));
- } else {
- for (cidx = 0; cidx < (*face)->num_charmaps; cidx++) {
- if ((*face)->charmap == (*face)->charmaps[cidx]) {
- ft_face->cidx = cidx;
- break;
- }
- }
- }
- }
- LOG(("Loaded face from %s\n", ft_face->fontfile));
- return error;
-}
-
-/* create new framebuffer face and cause it to be loaded to check its ok */
-static ftc_faceid_t *
-ft_new_face(const char *option, const char *resname, const char *fontfile)
-{
- ftc_faceid_t *newf;
- FT_Error error;
- FT_Face aface;
- char buf[PATH_MAX];
-
- newf = calloc(1, sizeof(ftc_faceid_t));
- if (option != NULL) {
- newf->fontfile = strdup(option);
- } else {
- atari_find_resource(buf, resname, fontfile);
- newf->fontfile = strdup(buf);
- }
- error = FTC_Manager_LookupFace(ft_cmanager, (FTC_FaceID)newf, &aface);
- if (error) {
- LOG(("Could not find font face %s (code %d)\n", fontfile, error));
- free(newf);
- newf = font_faces[FONT_FACE_DEFAULT]; /* use default */
- }
- return newf;
+static int dtor( FONT_PLOTTER self ); +static int str_width( FONT_PLOTTER self,const plot_font_style_t *fstyle, + const char * str, size_t length, int * width ); +static int str_split( FONT_PLOTTER self, const plot_font_style_t *fstyle, + const char *string, size_t length,int x, + size_t *char_offset, int *actual_x ); +static int pixel_pos( FONT_PLOTTER self, const plot_font_style_t *fstyle, + const char *string, size_t length,int x, + size_t *char_offset, int *actual_x ); +static int text( FONT_PLOTTER self, int x, int y, const char *text, + size_t length, const plot_font_style_t *fstyle ); + +static void draw_glyph8(FONT_PLOTTER self, GRECT *clip, GRECT * loc, + uint8_t * pixdata, int pitch, uint32_t colour); +static void draw_glyph1(FONT_PLOTTER self, GRECT * clip, GRECT * loc, + uint8_t * pixdata, int pitch, uint32_t colour); + +static ftc_faceid_t *font_faces[FONT_FACE_COUNT]; +static MFDB tmp; +static int tmp_mfdb_size; +static bool init = false; +static struct bitmap * fontbmp; +static size_t fontbmp_stride; +static int fontbmp_allocated_height; +static int fontbmp_allocated_width; + + + +/* map cache manager handle to face id */ +static FT_Error ft_face_requester(FTC_FaceID face_id, FT_Library library, FT_Pointer request_data, FT_Face *face ) +{ + FT_Error error; + ftc_faceid_t *ft_face = (ftc_faceid_t *)face_id; + int cidx; + + error = FT_New_Face(library, ft_face->fontfile, ft_face->index, face); + if (error) { + LOG(("Could not find font (code %d)\n", error)); + } else { + error = FT_Select_Charmap(*face, FT_ENCODING_UNICODE); + if (error) { + LOG(("Could not select charmap (code %d)\n", error)); + } else { + for (cidx = 0; cidx < (*face)->num_charmaps; cidx++) { + if ((*face)->charmap == (*face)->charmaps[cidx]) { + ft_face->cidx = cidx; + break; + } + } + } + } + LOG(("Loaded face from %s\n", ft_face->fontfile)); + return error; +} + +/* create new framebuffer face and cause it to be loaded to check its ok */ +static ftc_faceid_t * +ft_new_face(const char *option, const char *resname, const char *fontfile) +{ + ftc_faceid_t *newf; + FT_Error error; + FT_Face aface; + char buf[PATH_MAX]; + + newf = calloc(1, sizeof(ftc_faceid_t)); + if (option != NULL) { + newf->fontfile = strdup(option); + } else { + atari_find_resource(buf, resname, fontfile); + newf->fontfile = strdup(buf); + } + error = FTC_Manager_LookupFace(ft_cmanager, (FTC_FaceID)newf, &aface); + if (error) { + LOG(("Could not find font face %s (code %d)\n", fontfile, error)); + free(newf); + newf = font_faces[FONT_FACE_DEFAULT]; /* use default */ + } + return newf; } static void ft_fill_scalar(const plot_font_style_t *fstyle, FTC_Scaler srec) @@ -255,460 +255,460 @@ static void ft_fill_scalar(const plot_font_style_t *fstyle, FTC_Scaler srec) /* TODO: because browser_get_dpi() is to large, calculate that value */ /* by VDI values. */ srec->x_res = srec->y_res = 72; // browser_get_dpi(); -}
-
-static FT_Glyph ft_getglyph(const plot_font_style_t *fstyle, uint32_t ucs4)
-{
- FT_UInt glyph_index;
- FTC_ScalerRec srec;
- FT_Glyph glyph;
- FT_Error error;
- ftc_faceid_t *ft_face;
-
- ft_fill_scalar(fstyle, &srec);
- ft_face = (ftc_faceid_t *)srec.face_id;
- glyph_index = FTC_CMapCache_Lookup(ft_cmap_cache, srec.face_id, ft_face->cidx, ucs4);
- error = FTC_ImageCache_LookupScaler(ft_image_cache,
- &srec,
- FT_LOAD_RENDER |
- FT_LOAD_FORCE_AUTOHINT |
- ft_load_type,
- glyph_index,
- &glyph,
- NULL);
- return glyph;
-}
-
-
-/* initialise font handling */
-static bool ft_font_init(void)
-{
- FT_Error error;
- FT_ULong max_cache_size;
+} + +static FT_Glyph ft_getglyph(const plot_font_style_t *fstyle, uint32_t ucs4) +{ + FT_UInt glyph_index; + FTC_ScalerRec srec; + FT_Glyph glyph; + FT_Error error; + ftc_faceid_t *ft_face; + + ft_fill_scalar(fstyle, &srec); + ft_face = (ftc_faceid_t *)srec.face_id; + glyph_index = FTC_CMapCache_Lookup(ft_cmap_cache, srec.face_id, ft_face->cidx, ucs4); + error = FTC_ImageCache_LookupScaler(ft_image_cache, + &srec, + FT_LOAD_RENDER | + FT_LOAD_FORCE_AUTOHINT | + ft_load_type, + glyph_index, + &glyph, + NULL); + return glyph; +} + + +/* initialise font handling */ +static bool ft_font_init(void) +{ + FT_Error error; + FT_ULong max_cache_size; FT_UInt max_faces = 6; int i; -
- /* freetype library initialise */
- error = FT_Init_FreeType( &library );
- if (error) {
- LOG(("Freetype could not initialised (code %d)\n", error));
- return false;
- }
+ + /* freetype library initialise */ + error = FT_Init_FreeType( &library ); + if (error) { + LOG(("Freetype could not initialised (code %d)\n", error)); + return false; + } /* set the Glyph cache size up */ max_cache_size = CACHE_SIZE * 1024; if (max_cache_size < CACHE_MIN_SIZE) { max_cache_size = CACHE_MIN_SIZE; - }
-
- /* cache manager initialise */
- error = FTC_Manager_New(library,
- max_faces,
- 0,
- max_cache_size,
- ft_face_requester,
- NULL,
- &ft_cmanager);
- if (error) {
- LOG(("Freetype could not initialise cache manager (code %d)\n", error));
- FT_Done_FreeType(library);
- return false;
- }
-
- error = FTC_CMapCache_New(ft_cmanager, &ft_cmap_cache);
- error = FTC_ImageCache_New(ft_cmanager, &ft_image_cache);
+ } + + /* cache manager initialise */ + error = FTC_Manager_New(library, + max_faces, + 0, + max_cache_size, + ft_face_requester, + NULL, + &ft_cmanager); + if (error) { + LOG(("Freetype could not initialise cache manager (code %d)\n", error)); + FT_Done_FreeType(library); + return false; + } + + error = FTC_CMapCache_New(ft_cmanager, &ft_cmap_cache); + error = FTC_ImageCache_New(ft_cmanager, &ft_image_cache); /* Optain font faces */ - /* Default font, Sans Serif */
- font_faces[FONT_FACE_SANS_SERIF] = NULL;
- font_faces[FONT_FACE_SANS_SERIF] = ft_new_face(
- nsoption_charp(font_face_sans_serif),
- FONT_RESOURCE_PATH "ss.ttf",
- FONT_PKG_PATH FONT_FILE_SANS
- );
- if (font_faces[FONT_FACE_SANS_SERIF] == NULL) {
- LOG(("Could not find default font (code %d)\n", error));
- FTC_Manager_Done(ft_cmanager);
- FT_Done_FreeType(library);
- return false;
- }
- - /* Sans Serif Bold*/
- font_faces[FONT_FACE_SANS_SERIF_BOLD] =
- ft_new_face(nsoption_charp(font_face_sans_serif_bold),
- FONT_RESOURCE_PATH "ssb.ttf",
- FONT_PKG_PATH FONT_FILE_SANS_BOLD); - - /* Sans Serif Italic */
- font_faces[FONT_FACE_SANS_SERIF_ITALIC] =
- ft_new_face(nsoption_charp(font_face_sans_serif_italic),
- FONT_RESOURCE_PATH "ssi.ttf",
- FONT_PKG_PATH FONT_FILE_SANS_OBLIQUE);
- - /* Sans Serif Italic Bold */
- font_faces[FONT_FACE_SANS_SERIF_ITALIC_BOLD] =
- ft_new_face(nsoption_charp(font_face_sans_serif_italic_bold),
- FONT_RESOURCE_PATH "ssib.ttf",
- FONT_PKG_PATH FONT_FILE_SANS_BOLD_OBLIQUE);
- - /* Monospaced */
- font_faces[FONT_FACE_MONOSPACE] =
- ft_new_face(nsoption_charp(font_face_monospace),
- FONT_RESOURCE_PATH "mono.ttf",
- FONT_PKG_PATH FONT_FILE_MONO);
- - /* Mospaced Bold */
- font_faces[FONT_FACE_MONOSPACE_BOLD] =
- ft_new_face(nsoption_charp(font_face_monospace_bold),
- FONT_RESOURCE_PATH "monob.ttf",
- FONT_PKG_PATH FONT_FILE_MONO_BOLD);
- - /* Serif */
- font_faces[FONT_FACE_SERIF] =
- ft_new_face(nsoption_charp(font_face_serif),
- FONT_RESOURCE_PATH "s.ttf",
- FONT_PKG_PATH FONT_FILE_SERIF);
- - /* Serif Bold */
- font_faces[FONT_FACE_SERIF_BOLD] =
- ft_new_face(nsoption_charp(font_face_serif_bold),
- FONT_RESOURCE_PATH "sb.ttf",
- FONT_PKG_PATH FONT_FILE_SERIF_BOLD);
- - /* Cursive */
- font_faces[FONT_FACE_CURSIVE] =
- ft_new_face(nsoption_charp(font_face_cursive),
- FONT_RESOURCE_PATH "cursive.ttf",
- FONT_PKG_PATH FONT_FILE_OBLIQUE);
- - /* Fantasy */
- font_faces[FONT_FACE_FANTASY] =
- ft_new_face(nsoption_charp(font_face_fantasy),
- FONT_RESOURCE_PATH "fantasy.ttf",
- FONT_PKG_PATH FONT_FILE_FANTASY);
+ /* Default font, Sans Serif */ + font_faces[FONT_FACE_SANS_SERIF] = NULL; + font_faces[FONT_FACE_SANS_SERIF] = ft_new_face( + nsoption_charp(font_face_sans_serif), + FONT_RESOURCE_PATH "ss.ttf", + FONT_PKG_PATH FONT_FILE_SANS + ); + if (font_faces[FONT_FACE_SANS_SERIF] == NULL) { + LOG(("Could not find default font (code %d)\n", error)); + FTC_Manager_Done(ft_cmanager); + FT_Done_FreeType(library); + return false; + } + + /* Sans Serif Bold*/ + font_faces[FONT_FACE_SANS_SERIF_BOLD] = + ft_new_face(nsoption_charp(font_face_sans_serif_bold), + FONT_RESOURCE_PATH "ssb.ttf", + FONT_PKG_PATH FONT_FILE_SANS_BOLD); + + /* Sans Serif Italic */ + font_faces[FONT_FACE_SANS_SERIF_ITALIC] = + ft_new_face(nsoption_charp(font_face_sans_serif_italic), + FONT_RESOURCE_PATH "ssi.ttf", + FONT_PKG_PATH FONT_FILE_SANS_OBLIQUE); + + /* Sans Serif Italic Bold */ + font_faces[FONT_FACE_SANS_SERIF_ITALIC_BOLD] = + ft_new_face(nsoption_charp(font_face_sans_serif_italic_bold), + FONT_RESOURCE_PATH "ssib.ttf", + FONT_PKG_PATH FONT_FILE_SANS_BOLD_OBLIQUE); + + /* Monospaced */ + font_faces[FONT_FACE_MONOSPACE] = + ft_new_face(nsoption_charp(font_face_monospace), + FONT_RESOURCE_PATH "mono.ttf", + FONT_PKG_PATH FONT_FILE_MONO); + + /* Mospaced Bold */ + font_faces[FONT_FACE_MONOSPACE_BOLD] = + ft_new_face(nsoption_charp(font_face_monospace_bold), + FONT_RESOURCE_PATH "monob.ttf", + FONT_PKG_PATH FONT_FILE_MONO_BOLD); + + /* Serif */ + font_faces[FONT_FACE_SERIF] = + ft_new_face(nsoption_charp(font_face_serif), + FONT_RESOURCE_PATH "s.ttf", + FONT_PKG_PATH FONT_FILE_SERIF); + + /* Serif Bold */ + font_faces[FONT_FACE_SERIF_BOLD] = + ft_new_face(nsoption_charp(font_face_serif_bold), + FONT_RESOURCE_PATH "sb.ttf", + FONT_PKG_PATH FONT_FILE_SERIF_BOLD); + + /* Cursive */ + font_faces[FONT_FACE_CURSIVE] = + ft_new_face(nsoption_charp(font_face_cursive), + FONT_RESOURCE_PATH "cursive.ttf", + FONT_PKG_PATH FONT_FILE_OBLIQUE); + + /* Fantasy */ + font_faces[FONT_FACE_FANTASY] = + ft_new_face(nsoption_charp(font_face_fantasy), + FONT_RESOURCE_PATH "fantasy.ttf", + FONT_PKG_PATH FONT_FILE_FANTASY); for (i=1; i<FONT_FACE_COUNT; i++) { if (font_faces[i] == NULL){ font_faces[i] = font_faces[FONT_FACE_SANS_SERIF]; } } -
- return true;
-}
-
-
-static bool ft_font_finalise(void)
-{
- FTC_Manager_Done(ft_cmanager );
- FT_Done_FreeType(library);
- return true;
-}
-
-static int str_width( FONT_PLOTTER self,const plot_font_style_t *fstyle,
- const char *string, size_t length,
- int *width)
-{
- uint32_t ucs4;
- size_t nxtchr = 0;
- FT_Glyph glyph;
-
- *width = 0;
- while (nxtchr < length) {
- ucs4 = utf8_to_ucs4(string + nxtchr, length - nxtchr);
- nxtchr = utf8_next(string, length, nxtchr);
-
- glyph = ft_getglyph(fstyle, ucs4);
- if (glyph == NULL)
- continue;
- *width += glyph->advance.x >> 16;
- }
- return(1);
-}
-
-
-static int str_split( FONT_PLOTTER self, const plot_font_style_t *fstyle,
- const char *string, size_t length,
- int x, size_t *char_offset, int *actual_x)
-{
- uint32_t ucs4;
- size_t nxtchr = 0;
- int last_space_x = 0;
- int last_space_idx = 0;
- FT_Glyph glyph;
-
- *actual_x = 0;
- while (nxtchr < length) {
- ucs4 = utf8_to_ucs4(string + nxtchr, length - nxtchr);
- glyph = ft_getglyph(fstyle, ucs4);
- if (glyph == NULL)
- continue;
- if (ucs4 == 0x20) {
- last_space_x = *actual_x;
- last_space_idx = nxtchr;
- }
- *actual_x += glyph->advance.x >> 16;
- if (*actual_x > x && last_space_idx != 0) {
- /* string has exceeded available width and we've
- * found a space; return previous space */
- *actual_x = last_space_x;
- *char_offset = last_space_idx;
- return true;
- }
- nxtchr = utf8_next(string, length, nxtchr);
- }
- *char_offset = nxtchr;
- return (1);
-}
-
-
-static int pixel_pos( FONT_PLOTTER self, const plot_font_style_t *fstyle,
- const char *string, size_t length,
- int x, size_t *char_offset, int *actual_x)
-{
- uint32_t ucs4;
- size_t nxtchr = 0;
- FT_Glyph glyph;
- int prev_x = 0;
-
- *actual_x = 0;
- while (nxtchr < length) {
- ucs4 = utf8_to_ucs4(string + nxtchr, length - nxtchr);
- glyph = ft_getglyph(fstyle, ucs4);
- if (glyph == NULL)
- continue;
- *actual_x += glyph->advance.x >> 16;
- if (*actual_x > x)
- break;
-
- prev_x = *actual_x;
- nxtchr = utf8_next(string, length, nxtchr);
- }
-
- /* choose nearest of previous and last x */
- if (abs(*actual_x - x) > abs(prev_x - x))
- *actual_x = prev_x;
- *char_offset = nxtchr;
- return ( 1 );
-}
-
-
-static void draw_glyph8(FONT_PLOTTER self, GRECT * clip, GRECT * loc, uint8_t * pixdata, int pitch, uint32_t colour)
-{
- uint32_t * linebuf;
- uint32_t fontpix;
- int xloop,yloop,xoff,yoff;
- int x,y,w,h;
-
- x = loc->g_x;
- y = loc->g_y;
- w = loc->g_w;
- h = loc->g_h;
-
- if( !rc_intersect( clip, loc ) ){
- return;
- }
-
- xoff = loc->g_x - x;
- yoff = loc->g_y - y;
-
- assert( loc->g_h <= h );
- assert( loc->g_w <= w );
-
- h = loc->g_h;
- w = loc->g_w;
-
- assert( h <= fontbmp_allocated_height );
- assert( w <= fontbmp_allocated_width );
-
- fontbmp->height = h;
- fontbmp->width = w;
- for( yloop = 0; yloop < MIN(fontbmp_allocated_height, h); yloop++) {
- linebuf = (uint32_t *)(fontbmp->pixdata + (fontbmp_stride * yloop));
- for(xloop = 0; xloop < MIN(fontbmp_allocated_width, w); xloop++){
- fontpix = (uint32_t)(pixdata[(( yoff + yloop ) * pitch) + xloop + xoff]);
- linebuf[xloop] = (uint32_t)(colour | fontpix);
- }
- }
- plot_blit_bitmap(fontbmp, loc->g_x, loc->g_y, 0, BITMAPF_MONOGLYPH);
-}
-
-static void draw_glyph1(FONT_PLOTTER self, GRECT * clip, GRECT * loc, uint8_t * pixdata, int pitch, uint32_t colour)
-{
- int xloop,yloop,xoff,yoff;
- int x,y,w,h;
- uint8_t bitm;
- const uint8_t *fntd;
-
- x = loc->g_x;
- y = loc->g_y;
- w = loc->g_w;
- h = loc->g_h;
-
- if( !rc_intersect( clip, loc ) ){
- return;
- }
-
- xoff = loc->g_x - x;
- yoff = loc->g_y - y;
-
- if (h > loc->g_h)
- h = loc->g_h;
-
- if (w > loc->g_w)
- w = loc->g_w;
-
- int stride = MFDB_STRIDE( w );
- if( tmp.fd_addr == NULL || tmp_mfdb_size < MFDB_SIZE( 1, stride, h) ){
- tmp_mfdb_size = init_mfdb( 1, w, h, MFDB_FLAG_STAND | MFDB_FLAG_ZEROMEM, &tmp );
- } else {
- void * buf = tmp.fd_addr;
- int size = init_mfdb( 1, w, h, MFDB_FLAG_STAND | MFDB_FLAG_NOALLOC, &tmp );
- tmp.fd_addr = buf;
- memset( tmp.fd_addr, 0, size );
- }
- short * buf;
- for( yloop = 0; yloop < h; yloop++) {
- fntd = pixdata + (pitch * (yloop+yoff))+(xoff>>3);
- buf = tmp.fd_addr;
- buf += (tmp.fd_wdwidth*yloop);
- for ( xloop = 0, bitm = (1<<(7-(xoff%8))); xloop < w; xloop++, bitm=(bitm>>1) ) {
- if( (*fntd & bitm) != 0 ){
- short whichbit = (1<<(15-(xloop%16)));
- buf[xloop>>4] = ((buf[xloop>>4])|(whichbit));
- }
- if( bitm == 1 ) {
- fntd++;
- bitm = 128;
- }
- }
- }
-#ifdef WITH_8BPP_SUPPORT
- if( app.nplanes > 8 ){
-#endif
- plot_blit_mfdb(loc, &tmp, OFFSET_CUSTOM_COLOR, PLOT_FLAG_TRANS );
-#ifdef WITH_8BPP_SUPPORT
- } else {
- plot_blit_mfdb(loc, &tmp, colour, PLOT_FLAG_TRANS );
- }
-#endif
-
-}
-
-static int text( FONT_PLOTTER self, int x, int y, const char *text, size_t length,
- const plot_font_style_t *fstyle )
-{
- uint32_t ucs4;
- size_t nxtchr = 0;
- FT_Glyph glyph;
- FT_BitmapGlyph bglyph;
- GRECT loc, clip;
- uint32_t c = fstyle->foreground ;
- struct rect clipping;
- /* in -> BGR */
- /* out -> ARGB */
- if( !(self->flags & FONTPLOT_FLAG_MONOGLYPH) ){
- c = ABGR_TO_RGB(c);
- } else {
-#ifdef WITH_8BPP_SUPPORT
- if( app.nplanes > 8 ){
-#endif
+ + return true; +} + + +static bool ft_font_finalise(void) +{ + FTC_Manager_Done(ft_cmanager ); + FT_Done_FreeType(library); + return true; +} + +static int str_width( FONT_PLOTTER self,const plot_font_style_t *fstyle, + const char *string, size_t length, + int *width) +{ + uint32_t ucs4; + size_t nxtchr = 0; + FT_Glyph glyph; + + *width = 0; + while (nxtchr < length) { + ucs4 = utf8_to_ucs4(string + nxtchr, length - nxtchr); + nxtchr = utf8_next(string, length, nxtchr); + + glyph = ft_getglyph(fstyle, ucs4); + if (glyph == NULL) + continue; + *width += glyph->advance.x >> 16; + } + return(1); +} + + +static int str_split( FONT_PLOTTER self, const plot_font_style_t *fstyle, + const char *string, size_t length, + int x, size_t *char_offset, int *actual_x) +{ + uint32_t ucs4; + size_t nxtchr = 0; + int last_space_x = 0; + int last_space_idx = 0; + FT_Glyph glyph; + + *actual_x = 0; + while (nxtchr < length) { + ucs4 = utf8_to_ucs4(string + nxtchr, length - nxtchr); + glyph = ft_getglyph(fstyle, ucs4); + if (glyph == NULL) + continue; + if (ucs4 == 0x20) { + last_space_x = *actual_x; + last_space_idx = nxtchr; + } + *actual_x += glyph->advance.x >> 16; + if (*actual_x > x && last_space_idx != 0) { + /* string has exceeded available width and we've + * found a space; return previous space */ + *actual_x = last_space_x; + *char_offset = last_space_idx; + return true; + } + nxtchr = utf8_next(string, length, nxtchr); + } + *char_offset = nxtchr; + return (1); +} + + +static int pixel_pos( FONT_PLOTTER self, const plot_font_style_t *fstyle, + const char *string, size_t length, + int x, size_t *char_offset, int *actual_x) +{ + uint32_t ucs4; + size_t nxtchr = 0; + FT_Glyph glyph; + int prev_x = 0; + + *actual_x = 0; + while (nxtchr < length) { + ucs4 = utf8_to_ucs4(string + nxtchr, length - nxtchr); + glyph = ft_getglyph(fstyle, ucs4); + if (glyph == NULL) + continue; + *actual_x += glyph->advance.x >> 16; + if (*actual_x > x) + break; + + prev_x = *actual_x; + nxtchr = utf8_next(string, length, nxtchr); + } + + /* choose nearest of previous and last x */ + if (abs(*actual_x - x) > abs(prev_x - x)) + *actual_x = prev_x; + *char_offset = nxtchr; + return ( 1 ); +} + + +static void draw_glyph8(FONT_PLOTTER self, GRECT * clip, GRECT * loc, uint8_t * pixdata, int pitch, uint32_t colour) +{ + uint32_t * linebuf; + uint32_t fontpix; + int xloop,yloop,xoff,yoff; + int x,y,w,h; + + x = loc->g_x; + y = loc->g_y; + w = loc->g_w; + h = loc->g_h; + + if( !rc_intersect( clip, loc ) ){ + return; + } + + xoff = loc->g_x - x; + yoff = loc->g_y - y; + + assert( loc->g_h <= h ); + assert( loc->g_w <= w ); + + h = loc->g_h; + w = loc->g_w; + + assert( h <= fontbmp_allocated_height ); + assert( w <= fontbmp_allocated_width ); + + fontbmp->height = h; + fontbmp->width = w; + for( yloop = 0; yloop < MIN(fontbmp_allocated_height, h); yloop++) { + linebuf = (uint32_t *)(fontbmp->pixdata + (fontbmp_stride * yloop)); + for(xloop = 0; xloop < MIN(fontbmp_allocated_width, w); xloop++){ + fontpix = (uint32_t)(pixdata[(( yoff + yloop ) * pitch) + xloop + xoff]); + linebuf[xloop] = (uint32_t)(colour | fontpix); + } + } + plot_blit_bitmap(fontbmp, loc->g_x, loc->g_y, 0, BITMAPF_MONOGLYPH); +} + +static void draw_glyph1(FONT_PLOTTER self, GRECT * clip, GRECT * loc, uint8_t * pixdata, int pitch, uint32_t colour) +{ + int xloop,yloop,xoff,yoff; + int x,y,w,h; + uint8_t bitm; + const uint8_t *fntd; + + x = loc->g_x; + y = loc->g_y; + w = loc->g_w; + h = loc->g_h; + + if( !rc_intersect( clip, loc ) ){ + return; + } + + xoff = loc->g_x - x; + yoff = loc->g_y - y; + + if (h > loc->g_h) + h = loc->g_h; + + if (w > loc->g_w) + w = loc->g_w; + + int stride = MFDB_STRIDE( w ); + if( tmp.fd_addr == NULL || tmp_mfdb_size < MFDB_SIZE( 1, stride, h) ){ + tmp_mfdb_size = init_mfdb( 1, w, h, MFDB_FLAG_STAND | MFDB_FLAG_ZEROMEM, &tmp ); + } else { + void * buf = tmp.fd_addr; + int size = init_mfdb( 1, w, h, MFDB_FLAG_STAND | MFDB_FLAG_NOALLOC, &tmp ); + tmp.fd_addr = buf; + memset( tmp.fd_addr, 0, size ); + } + short * buf; + for( yloop = 0; yloop < h; yloop++) { + fntd = pixdata + (pitch * (yloop+yoff))+(xoff>>3); + buf = tmp.fd_addr; + buf += (tmp.fd_wdwidth*yloop); + for ( xloop = 0, bitm = (1<<(7-(xoff%8))); xloop < w; xloop++, bitm=(bitm>>1) ) { + if( (*fntd & bitm) != 0 ){ + short whichbit = (1<<(15-(xloop%16))); + buf[xloop>>4] = ((buf[xloop>>4])|(whichbit)); + } + if( bitm == 1 ) { + fntd++; + bitm = 128; + } + } + } +#ifdef WITH_8BPP_SUPPORT + if( app.nplanes > 8 ){ +#endif + plot_blit_mfdb(loc, &tmp, OFFSET_CUSTOM_COLOR, PLOT_FLAG_TRANS ); +#ifdef WITH_8BPP_SUPPORT + } else { + plot_blit_mfdb(loc, &tmp, colour, PLOT_FLAG_TRANS ); + } +#endif + +} + +static int text( FONT_PLOTTER self, int x, int y, const char *text, size_t length, + const plot_font_style_t *fstyle ) +{ + uint32_t ucs4; + size_t nxtchr = 0; + FT_Glyph glyph; + FT_BitmapGlyph bglyph; + GRECT loc, clip; + uint32_t c = fstyle->foreground ; + struct rect clipping; + /* in -> BGR */ + /* out -> ARGB */ + if( !(self->flags & FONTPLOT_FLAG_MONOGLYPH) ){ + c = ABGR_TO_RGB(c); + } else { +#ifdef WITH_8BPP_SUPPORT + if( app.nplanes > 8 ){ +#endif RGB1000 out; /* struct with RGB shorts */ - rgb_to_vdi1000( (unsigned char*)&c, &out);
+ rgb_to_vdi1000( (unsigned char*)&c, &out); vs_color(atari_plot_vdi_handle, OFFSET_CUSTOM_COLOR, - (short*)&out);
-#ifdef WITH_8BPP_SUPPORT
- } else {
- c = RGB_TO_VDI(c);
- }
-#endif
- }
-
- plot_get_clip(&clipping);
- clip.g_x = clipping.x0;
- clip.g_y = clipping.y0;
- clip.g_w = (clipping.x1 - clipping.x0)+1;
- clip.g_h = (clipping.y1 - clipping.y0)+1;
-
- fontbmp = atari_bitmap_realloc( clip.g_w, clip.g_h,
- 4, clip.g_w << 2,
- BITMAP_GROW, fontbmp );
- fontbmp_stride = atari_bitmap_get_rowstride(fontbmp);
- fontbmp_allocated_height = clip.g_h;
- fontbmp_allocated_width = clip.g_w;
-
- while (nxtchr < length) {
- ucs4 = utf8_to_ucs4(text + nxtchr, length - nxtchr);
- nxtchr = utf8_next(text, length, nxtchr);
-
- glyph = ft_getglyph(fstyle, ucs4);
- if (glyph == NULL){
- continue;
- }
-
- if (glyph->format == FT_GLYPH_FORMAT_BITMAP) {
- bglyph = (FT_BitmapGlyph)glyph;
- loc.g_x = x + bglyph->left;
- loc.g_y = y - bglyph->top;
- loc.g_w = bglyph->bitmap.width;
- loc.g_h = bglyph->bitmap.rows;
-
- if( loc.g_w > 0) {
- self->draw_glyph( self,
- &clip, &loc,
- bglyph->bitmap.buffer,
- bglyph->bitmap.pitch,
- c
- );
- }
- }
- x += glyph->advance.x >> 16;
- }
- return( 0 );
-}
-
-
-int ctor_font_plotter_freetype( FONT_PLOTTER self )
-{
- self->dtor = dtor;
- self->str_width = str_width;
- self->str_split = str_split;
- self->pixel_pos = pixel_pos;
- self->text = text;
-
- /* set the default render mode */
- if( (self->flags & FONTPLOT_FLAG_MONOGLYPH) != 0 ){
- ft_load_type = FT_LOAD_MONOCHROME;
- self->draw_glyph = draw_glyph1;
- }
- else{
- ft_load_type = 0;
- self->draw_glyph = draw_glyph8;
- }
-
- LOG(("%s: %s\n", (char*)__FILE__, __FUNCTION__));
- if( !init ) {
- ft_font_init();
- fontbmp = atari_bitmap_create(48, 48, 0);
- fontbmp->opaque = false;
- init = true;
- }
-
- return( 1 );
-}
-
-static int dtor( FONT_PLOTTER self )
-{
- ft_font_finalise();
- if( fontbmp != NULL ) {
- atari_bitmap_destroy( fontbmp );
- fontbmp = NULL;
- }
- if( tmp.fd_addr != NULL ){
- free( tmp.fd_addr );
- }
- return( 1 );
-}
-
-#endif
+ (short*)&out); +#ifdef WITH_8BPP_SUPPORT + } else { + c = RGB_TO_VDI(c); + } +#endif + } + + plot_get_clip(&clipping); + clip.g_x = clipping.x0; + clip.g_y = clipping.y0; + clip.g_w = (clipping.x1 - clipping.x0)+1; + clip.g_h = (clipping.y1 - clipping.y0)+1; + + fontbmp = atari_bitmap_realloc( clip.g_w, clip.g_h, + 4, clip.g_w << 2, + BITMAP_GROW, fontbmp ); + fontbmp_stride = atari_bitmap_get_rowstride(fontbmp); + fontbmp_allocated_height = clip.g_h; + fontbmp_allocated_width = clip.g_w; + + while (nxtchr < length) { + ucs4 = utf8_to_ucs4(text + nxtchr, length - nxtchr); + nxtchr = utf8_next(text, length, nxtchr); + + glyph = ft_getglyph(fstyle, ucs4); + if (glyph == NULL){ + continue; + } + + if (glyph->format == FT_GLYPH_FORMAT_BITMAP) { + bglyph = (FT_BitmapGlyph)glyph; + loc.g_x = x + bglyph->left; + loc.g_y = y - bglyph->top; + loc.g_w = bglyph->bitmap.width; + loc.g_h = bglyph->bitmap.rows; + + if( loc.g_w > 0) { + self->draw_glyph( self, + &clip, &loc, + bglyph->bitmap.buffer, + bglyph->bitmap.pitch, + c + ); + } + } + x += glyph->advance.x >> 16; + } + return( 0 ); +} + + +int ctor_font_plotter_freetype( FONT_PLOTTER self ) +{ + self->dtor = dtor; + self->str_width = str_width; + self->str_split = str_split; + self->pixel_pos = pixel_pos; + self->text = text; + + /* set the default render mode */ + if( (self->flags & FONTPLOT_FLAG_MONOGLYPH) != 0 ){ + ft_load_type = FT_LOAD_MONOCHROME; + self->draw_glyph = draw_glyph1; + } + else{ + ft_load_type = 0; + self->draw_glyph = draw_glyph8; + } + + LOG(("%s: %s\n", (char*)__FILE__, __FUNCTION__)); + if( !init ) { + ft_font_init(); + fontbmp = atari_bitmap_create(48, 48, 0); + fontbmp->opaque = false; + init = true; + } + + return( 1 ); +} + +static int dtor( FONT_PLOTTER self ) +{ + ft_font_finalise(); + if( fontbmp != NULL ) { + atari_bitmap_destroy( fontbmp ); + fontbmp = NULL; + } + if( tmp.fd_addr != NULL ){ + free( tmp.fd_addr ); + } + return( 1 ); +} + +#endif diff --git a/atari/plot/font_freetype.h b/atari/plot/font_freetype.h index 1e64ebc5d..58a5372a4 100755..100644 --- a/atari/plot/font_freetype.h +++ b/atari/plot/font_freetype.h @@ -1,51 +1,52 @@ -/*
- * Copyright 2011 Ole Loots <ole@monochrom.net>
- * This file is part of NetSurf, http://www.netsurf-browser.org/
- *
- * NetSurf is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
- *
- * NetSurf is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef FONT_PLOTTER_FREETYPE
-#define FONT_PLOTTER_FREETYPE
-
-#include <ft2build.h>
-#include FT_FREETYPE_H
-#include FT_GLYPH_H
-#include "utils/utf8.h"
-
-/* defines for accesing the faces */
-#define FONT_FACE_DEFAULT 0
-
-#define FONT_FACE_SANS_SERIF 0
-#define FONT_FACE_SANS_SERIF_BOLD 1
-#define FONT_FACE_SANS_SERIF_ITALIC 2
-#define FONT_FACE_SANS_SERIF_ITALIC_BOLD 3
-#define FONT_FACE_MONOSPACE 4
-#define FONT_FACE_MONOSPACE_BOLD 5
-#define FONT_FACE_SERIF 6
-#define FONT_FACE_SERIF_BOLD 7
-#define FONT_FACE_CURSIVE 8
-#define FONT_FACE_FANTASY 9
-
-#define FONT_FACE_COUNT 10
-
-struct font_desc {
- const char *name;
- int width, height;
- const char *encoding;
-};
-
-/* extern int ft_load_type; */
-
-int ctor_font_plotter_freetype( FONT_PLOTTER self );
+/* + * Copyright 2011 Ole Loots <ole@monochrom.net> + * This file is part of NetSurf, http://www.netsurf-browser.org/ + * + * NetSurf is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * NetSurf is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#ifndef FONT_PLOTTER_FREETYPE +#define FONT_PLOTTER_FREETYPE + +#include <ft2build.h> +#include FT_FREETYPE_H +#include FT_GLYPH_H +#include "utils/utf8.h" + +/* defines for accesing the faces */ +#define FONT_FACE_DEFAULT 0 + +#define FONT_FACE_SANS_SERIF 0 +#define FONT_FACE_SANS_SERIF_BOLD 1 +#define FONT_FACE_SANS_SERIF_ITALIC 2 +#define FONT_FACE_SANS_SERIF_ITALIC_BOLD 3 +#define FONT_FACE_MONOSPACE 4 +#define FONT_FACE_MONOSPACE_BOLD 5 +#define FONT_FACE_SERIF 6 +#define FONT_FACE_SERIF_BOLD 7 +#define FONT_FACE_CURSIVE 8 +#define FONT_FACE_FANTASY 9 + +#define FONT_FACE_COUNT 10 + +struct font_desc { + const char *name; + int width, height; + const char *encoding; +}; + +/* extern int ft_load_type; */ + +int ctor_font_plotter_freetype( FONT_PLOTTER self ); + #endif diff --git a/atari/plot/font_internal.c b/atari/plot/font_internal.c index bfe0def8c..66413f49c 100644 --- a/atari/plot/font_internal.c +++ b/atari/plot/font_internal.c @@ -1,22 +1,22 @@ -/*
- * Copyright 2008 Vincent Sanders <vince@simtec.co.uk>
- * Copyright 2011 Ole Loots <ole@monochrom.net>
- *
- * This file is part of NetSurf, http://www.netsurf-browser.org/
- *
- * NetSurf is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
- *
- * NetSurf is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
+/* + * Copyright 2008 Vincent Sanders <vince@simtec.co.uk> + * Copyright 2011 Ole Loots <ole@monochrom.net> + * + * This file is part of NetSurf, http://www.netsurf-browser.org/ + * + * NetSurf is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * NetSurf is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + #ifdef WITH_INTERNAL_FONT_DRIVER #include <unistd.h> @@ -29,238 +29,238 @@ #include "atari/gui.h" #include "atari/bitmap.h" #include "atari/plot/plot.h" -#include "atari/plot/fontplot.h"
-#include "atari/plot/font_internal.h"
-
+#include "atari/plot/fontplot.h" +#include "atari/plot/font_internal.h" + extern unsigned long atari_plot_flags; -extern int atari_plot_vdi_handle;
-
-static int dtor( FONT_PLOTTER self );
-static int str_width( FONT_PLOTTER self,const plot_font_style_t *fstyle, const char * str, size_t length, int * width );
-static int str_split( FONT_PLOTTER self, const plot_font_style_t *fstyle,const char *string,
- size_t length,int x, size_t *char_offset, int *actual_x );
-static int pixel_pos( FONT_PLOTTER self, const plot_font_style_t *fstyle,const char *string,
- size_t length,int x, size_t *char_offset, int *actual_x );
-static int text( FONT_PLOTTER self, int x, int y, const char *text, size_t length, const plot_font_style_t *fstyle );
-
-static bool init = false;
-static int vdih;
-static struct bitmap * fontbmp;
-extern struct s_vdi_sysinfo vdi_sysinfo;
-
-const struct fb_font_desc font_regular;
-const struct fb_font_desc font_italic;
-const struct fb_font_desc font_bold;
-const struct fb_font_desc font_italic_bold;
-
-static MFDB tmp;
-static int tmp_mfdb_size;
-
-#define FONTDATAMAX 4096
-
-static const struct fb_font_desc*
-fb_get_font(const plot_font_style_t *fstyle)
-{
- if (fstyle->weight >= 700) {
- if ((fstyle->flags & FONTF_ITALIC) ||
- (fstyle->flags & FONTF_OBLIQUE)) {
- return &font_italic_bold;
- } else {
- return &font_bold;
- }
- } else {
- if ((fstyle->flags & FONTF_ITALIC) ||
- (fstyle->flags & FONTF_OBLIQUE)) {
- return &font_italic;
- } else {
- return &font_regular;
- }
- }
-}
-
-static nserror utf8_to_font_encoding(const struct fb_font_desc* font,
- const char *string,
- size_t len,
- char **result)
-{
- return utf8_to_enc(string, font->encoding, len, result);
-
-}
-
-int ctor_font_plotter_internal( FONT_PLOTTER self )
-{
- self->dtor = dtor;
- self->str_width = str_width;
- self->str_split = str_split;
- self->pixel_pos = pixel_pos;
- self->text = text;
- LOG(("%s: %s\n", (char*)__FILE__, __FUNCTION__));
- if( !init ) {
- vdih = self->vdi_handle;
- fontbmp = atari_bitmap_create(48, 48, 0);
- fontbmp->opaque = false;
- }
- init = true;
- return( 1 );
-}
-
-static int dtor( FONT_PLOTTER self )
-{
- if( tmp.fd_addr != NULL ){
- free( tmp.fd_addr );
- }
- return( 1 );
-}
-
-static int str_width( FONT_PLOTTER self,const plot_font_style_t *fstyle, const char * str,
- size_t length, int * width )
-{
- const struct fb_font_desc* fb_font = fb_get_font(fstyle);
- *width = fb_font->width * utf8_bounded_length(str, length);
- return( 1 );
-}
-
-static int str_split( FONT_PLOTTER self, const plot_font_style_t * fstyle, const char *string,
- size_t length,int x, size_t *char_offset, int *actual_x )
-{
- const struct fb_font_desc* fb_font = fb_get_font(fstyle);
- int c_off = *char_offset = x / fb_font->width;
- if (*char_offset > length) {
- *char_offset = length;
- } else {
- while (*char_offset > 0) {
- if (string[*char_offset] == ' ')
- break;
- (*char_offset)--;
- }
- if (*char_offset == 0) {
- *char_offset = c_off;
- while (*char_offset < length &&
- string[*char_offset] != ' ') {
- (*char_offset)++;
- }
- }
- }
- *actual_x = *char_offset * fb_font->width;
- return( 1 );
-}
-
-static int pixel_pos( FONT_PLOTTER self, const plot_font_style_t * fstyle,const char *string,
- size_t length,int x, size_t *char_offset, int *actual_x )
-{
- const struct fb_font_desc* fb_font = fb_get_font(fstyle);
- *char_offset = x / fb_font->width;
- if (*char_offset > length)
- *char_offset = length;
- *actual_x = *char_offset * fb_font->width;
- return( 1 );
-}
-
-static void draw_glyph1(FONT_PLOTTER self, GRECT *inloc, uint8_t *chrp, int pitch, uint32_t colour )
-{
- size_t bmpstride;
- GRECT clip;
- uint32_t * fontdata;
- int xloop,yloop;
- int stride = pitch / 8;
- uint32_t * linebuf;
- GRECT loc = *inloc;
-
- fontbmp = atari_bitmap_realloc( loc.g_w, loc.g_h, fontbmp->bpp, loc.g_w * fontbmp->bpp, BITMAP_GROW, fontbmp );
- bmpstride = atari_bitmap_get_rowstride(fontbmp);
- for( yloop = 0; yloop < loc.g_h; yloop++) {
- uint32_t pixmask = 1 ;
- linebuf = (uint32_t *)(fontbmp->pixdata + (bmpstride * yloop));
- fontdata = (uint32_t*)(chrp + (stride*yloop));
- for(xloop = loc.g_w-1; xloop>=0; xloop--){
- linebuf[xloop] = ((pixmask & *fontdata) == 0) ? 0 : colour;
- pixmask = (pixmask << 1);
- }
- }
- plot_blit_bitmap(fontbmp, loc.g_x, loc.g_y, 0, BITMAPF_MONOGLYPH );
-}
-
-static int text( FONT_PLOTTER self, int x, int y, const char *text, size_t length,
- const plot_font_style_t *fstyle )
-{
- const struct fb_font_desc* fb_font = fb_get_font(fstyle);
- const uint32_t *chrp;
- char *buffer = NULL;
- int chr;
- int blen;
- GRECT loc;
- uint32_t c;
-
- utf8_to_font_encoding(fb_font, text, length, &buffer);
- if (buffer == NULL)
- return 1;
-
- /* y is given to the fonts baseline we need it to the fonts top */
- y-=((fb_font->height * 75)/100);
-
- /* needed? */
- y+=1; /* the coord is the bottom-left of the pixels offset by 1 to make
- * it work since fb coords are the top-left of pixels
- */
- blen = strlen(buffer);
- if ( blen < 1 ) {
- return( 1 );
- }
-
- if(atari_plot_flags & PLOT_FLAG_OFFSCREEN ){
- /* when the plotter is an offscreen plotter the call to
- bitmap() isn't that expensive. Draw an 8 bit bitmap into the
- offscreen buffer.
- */
- c = fstyle->foreground;
- /* in -> BGR */
- /* out -> ARGB */
- c = (ABGR_TO_RGB(c) | 0xFF);
- loc.g_y = y;
- loc.g_x = x;
- loc.g_w = fb_font->width;
- loc.g_h = fb_font->height;
- for (chr = 0; chr < blen; chr++) {
- loc.g_x = x;
- chrp = fb_font->data + ((unsigned char)buffer[chr] * fb_font->height);
- draw_glyph1(self, &loc, (uint8_t *)chrp, 32, c);
- x+=fb_font->width;
- }
- } else {
- /* render the whole string into an monochrom mfdb */
- /* and plot that to reduce overhead */
- loc.g_x = x;
- loc.g_y = y;
- loc.g_w = blen * fb_font->width;
- assert( loc.g_w > 0 );
- loc.g_h = fb_font->height;
- int stride = MFDB_STRIDE( loc.g_w );
- if( tmp.fd_addr == NULL || tmp_mfdb_size < MFDB_SIZE( 1, stride, loc.g_h) ){
- tmp_mfdb_size = init_mfdb( 1, loc.g_w, loc.g_h+1, MFDB_FLAG_STAND | MFDB_FLAG_ZEROMEM, &tmp );
- } else {
- void * buf = tmp.fd_addr;
- int size = init_mfdb( 1, loc.g_w, loc.g_h+1, MFDB_FLAG_STAND | MFDB_FLAG_NOALLOC, &tmp );
- tmp.fd_addr = buf;
- memset( tmp.fd_addr, 0, size );
- }
- short ypos;
- int rowsize = tmp.fd_wdwidth << 1;
- char * d;
- uint32_t * pp;
- for (chr = 0; chr < blen; chr++) {
- pp = (uint32_t*)fb_font->data + ((unsigned char)buffer[chr] * fb_font->height);
- d = ((uint8_t*)tmp.fd_addr) + chr;
- for( ypos=0; ypos<loc.g_h; ypos++){
- *d = (unsigned char)*pp++;
- d += rowsize;
- }
+extern int atari_plot_vdi_handle; + +static int dtor( FONT_PLOTTER self ); +static int str_width( FONT_PLOTTER self,const plot_font_style_t *fstyle, const char * str, size_t length, int * width ); +static int str_split( FONT_PLOTTER self, const plot_font_style_t *fstyle,const char *string, + size_t length,int x, size_t *char_offset, int *actual_x ); +static int pixel_pos( FONT_PLOTTER self, const plot_font_style_t *fstyle,const char *string, + size_t length,int x, size_t *char_offset, int *actual_x ); +static int text( FONT_PLOTTER self, int x, int y, const char *text, size_t length, const plot_font_style_t *fstyle ); + +static bool init = false; +static int vdih; +static struct bitmap * fontbmp; +extern struct s_vdi_sysinfo vdi_sysinfo; + +const struct fb_font_desc font_regular; +const struct fb_font_desc font_italic; +const struct fb_font_desc font_bold; +const struct fb_font_desc font_italic_bold; + +static MFDB tmp; +static int tmp_mfdb_size; + +#define FONTDATAMAX 4096 + +static const struct fb_font_desc* +fb_get_font(const plot_font_style_t *fstyle) +{ + if (fstyle->weight >= 700) { + if ((fstyle->flags & FONTF_ITALIC) || + (fstyle->flags & FONTF_OBLIQUE)) { + return &font_italic_bold; + } else { + return &font_bold; + } + } else { + if ((fstyle->flags & FONTF_ITALIC) || + (fstyle->flags & FONTF_OBLIQUE)) { + return &font_italic; + } else { + return &font_regular; + } + } +} + +static nserror utf8_to_font_encoding(const struct fb_font_desc* font, + const char *string, + size_t len, + char **result) +{ + return utf8_to_enc(string, font->encoding, len, result); + +} + +int ctor_font_plotter_internal( FONT_PLOTTER self ) +{ + self->dtor = dtor; + self->str_width = str_width; + self->str_split = str_split; + self->pixel_pos = pixel_pos; + self->text = text; + LOG(("%s: %s\n", (char*)__FILE__, __FUNCTION__)); + if( !init ) { + vdih = self->vdi_handle; + fontbmp = atari_bitmap_create(48, 48, 0); + fontbmp->opaque = false; + } + init = true; + return( 1 ); +} + +static int dtor( FONT_PLOTTER self ) +{ + if( tmp.fd_addr != NULL ){ + free( tmp.fd_addr ); + } + return( 1 ); +} + +static int str_width( FONT_PLOTTER self,const plot_font_style_t *fstyle, const char * str, + size_t length, int * width ) +{ + const struct fb_font_desc* fb_font = fb_get_font(fstyle); + *width = fb_font->width * utf8_bounded_length(str, length); + return( 1 ); +} + +static int str_split( FONT_PLOTTER self, const plot_font_style_t * fstyle, const char *string, + size_t length,int x, size_t *char_offset, int *actual_x ) +{ + const struct fb_font_desc* fb_font = fb_get_font(fstyle); + int c_off = *char_offset = x / fb_font->width; + if (*char_offset > length) { + *char_offset = length; + } else { + while (*char_offset > 0) { + if (string[*char_offset] == ' ') + break; + (*char_offset)--; + } + if (*char_offset == 0) { + *char_offset = c_off; + while (*char_offset < length && + string[*char_offset] != ' ') { + (*char_offset)++; + } + } + } + *actual_x = *char_offset * fb_font->width; + return( 1 ); +} + +static int pixel_pos( FONT_PLOTTER self, const plot_font_style_t * fstyle,const char *string, + size_t length,int x, size_t *char_offset, int *actual_x ) +{ + const struct fb_font_desc* fb_font = fb_get_font(fstyle); + *char_offset = x / fb_font->width; + if (*char_offset > length) + *char_offset = length; + *actual_x = *char_offset * fb_font->width; + return( 1 ); +} + +static void draw_glyph1(FONT_PLOTTER self, GRECT *inloc, uint8_t *chrp, int pitch, uint32_t colour ) +{ + size_t bmpstride; + GRECT clip; + uint32_t * fontdata; + int xloop,yloop; + int stride = pitch / 8; + uint32_t * linebuf; + GRECT loc = *inloc; + + fontbmp = atari_bitmap_realloc( loc.g_w, loc.g_h, fontbmp->bpp, loc.g_w * fontbmp->bpp, BITMAP_GROW, fontbmp ); + bmpstride = atari_bitmap_get_rowstride(fontbmp); + for( yloop = 0; yloop < loc.g_h; yloop++) { + uint32_t pixmask = 1 ; + linebuf = (uint32_t *)(fontbmp->pixdata + (bmpstride * yloop)); + fontdata = (uint32_t*)(chrp + (stride*yloop)); + for(xloop = loc.g_w-1; xloop>=0; xloop--){ + linebuf[xloop] = ((pixmask & *fontdata) == 0) ? 0 : colour; + pixmask = (pixmask << 1); + } + } + plot_blit_bitmap(fontbmp, loc.g_x, loc.g_y, 0, BITMAPF_MONOGLYPH ); +} + +static int text( FONT_PLOTTER self, int x, int y, const char *text, size_t length, + const plot_font_style_t *fstyle ) +{ + const struct fb_font_desc* fb_font = fb_get_font(fstyle); + const uint32_t *chrp; + char *buffer = NULL; + int chr; + int blen; + GRECT loc; + uint32_t c; + + utf8_to_font_encoding(fb_font, text, length, &buffer); + if (buffer == NULL) + return 1; + + /* y is given to the fonts baseline we need it to the fonts top */ + y-=((fb_font->height * 75)/100); + + /* needed? */ + y+=1; /* the coord is the bottom-left of the pixels offset by 1 to make + * it work since fb coords are the top-left of pixels + */ + blen = strlen(buffer); + if ( blen < 1 ) { + return( 1 ); + } + + if(atari_plot_flags & PLOT_FLAG_OFFSCREEN ){ + /* when the plotter is an offscreen plotter the call to + bitmap() isn't that expensive. Draw an 8 bit bitmap into the + offscreen buffer. + */ + c = fstyle->foreground; + /* in -> BGR */ + /* out -> ARGB */ + c = (ABGR_TO_RGB(c) | 0xFF); + loc.g_y = y; + loc.g_x = x; + loc.g_w = fb_font->width; + loc.g_h = fb_font->height; + for (chr = 0; chr < blen; chr++) { + loc.g_x = x; + chrp = fb_font->data + ((unsigned char)buffer[chr] * fb_font->height); + draw_glyph1(self, &loc, (uint8_t *)chrp, 32, c); + x+=fb_font->width; + } + } else { + /* render the whole string into an monochrom mfdb */ + /* and plot that to reduce overhead */ + loc.g_x = x; + loc.g_y = y; + loc.g_w = blen * fb_font->width; + assert( loc.g_w > 0 ); + loc.g_h = fb_font->height; + int stride = MFDB_STRIDE( loc.g_w ); + if( tmp.fd_addr == NULL || tmp_mfdb_size < MFDB_SIZE( 1, stride, loc.g_h) ){ + tmp_mfdb_size = init_mfdb( 1, loc.g_w, loc.g_h+1, MFDB_FLAG_STAND | MFDB_FLAG_ZEROMEM, &tmp ); + } else { + void * buf = tmp.fd_addr; + int size = init_mfdb( 1, loc.g_w, loc.g_h+1, MFDB_FLAG_STAND | MFDB_FLAG_NOALLOC, &tmp ); + tmp.fd_addr = buf; + memset( tmp.fd_addr, 0, size ); + } + short ypos; + int rowsize = tmp.fd_wdwidth << 1; + char * d; + uint32_t * pp; + for (chr = 0; chr < blen; chr++) { + pp = (uint32_t*)fb_font->data + ((unsigned char)buffer[chr] * fb_font->height); + d = ((uint8_t*)tmp.fd_addr) + chr; + for( ypos=0; ypos<loc.g_h; ypos++){ + *d = (unsigned char)*pp++; + d += rowsize; + } } #ifdef WITH_8BPP_SUPPORT if( app.nplanes > 8 ){ -#endif
+#endif //unsigned short out[4]; - RGB1000 out;
+ RGB1000 out; //rgb_to_vdi1000( (unsigned char*)&fstyle->foreground, (unsigned short*)&out ); out.blue = 0; out.green = 1000; @@ -269,2116 +269,2117 @@ static int text( FONT_PLOTTER self, int x, int y, const char *text, size_t leng vq_color(atari_plot_vdi_handle, OFFSET_CUSTOM_COLOR, 1, (short *)&out); //printf("r:%d,g:%d,b:%d", out.red, out.green, out.blue); //vsl_color(atari_plot_vdi_handle, OFFSET_CUSTOM_COLOR); - //vsf_color(atari_plot_vdi_handle, OFFSET_CUSTOM_COLOR);
+ //vsf_color(atari_plot_vdi_handle, OFFSET_CUSTOM_COLOR); plot_blit_mfdb(&loc, &tmp, OFFSET_CUSTOM_COLOR, PLOT_FLAG_TRANS); #ifdef WITH_8BPP_SUPPORT } else { unsigned char c = RGB_TO_VDI(fstyle->foreground); plot_blit_mfdb(&loc, &tmp, c, PLOT_FLAG_TRANS ); } -#endif
- }
-
- free(buffer);
- return( 1 );
-}
-
-/* ------------------*/
-/* Fontdata */
-/* ------------------*/
-
-static const uint32_t fontdata_bold[FONTDATAMAX] = {
- 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE,
- 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, 0x00, 0xFE,
- 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE,
- 0x00, 0xE4, 0xAC, 0xA4, 0xA4, 0xEE, 0x00, 0xFE,
- 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE,
- 0x00, 0xEC, 0xA2, 0xA4, 0xA8, 0xEE, 0x00, 0xFE,
- 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE,
- 0x00, 0xEC, 0xA2, 0xAC, 0xA2, 0xEC, 0x00, 0xFE,
- 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE,
- 0x00, 0xEA, 0xAA, 0xAE, 0xA2, 0xE2, 0x00, 0xFE,
- 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE,
- 0x00, 0xEE, 0xA8, 0xAE, 0xA2, 0xEE, 0x00, 0xFE,
- 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE,
- 0x00, 0xE6, 0xA8, 0xAE, 0xAA, 0xEE, 0x00, 0xFE,
- 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE,
- 0x00, 0xEE, 0xA2, 0xA4, 0xA4, 0xE4, 0x00, 0xFE,
- 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE,
- 0x00, 0xEE, 0xAA, 0xAE, 0xAA, 0xEE, 0x00, 0xFE,
- 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE,
- 0x00, 0xEE, 0xAA, 0xAE, 0xA2, 0xE2, 0x00, 0xFE,
- 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE,
- 0x00, 0xE4, 0xAA, 0xAE, 0xAA, 0xEA, 0x00, 0xFE,
- 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE,
- 0x00, 0xEC, 0xAA, 0xAC, 0xAA, 0xEC, 0x00, 0xFE,
- 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE,
- 0x00, 0xE4, 0xAA, 0xA8, 0xAA, 0xE4, 0x00, 0xFE,
- 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE,
- 0x00, 0xEC, 0xAA, 0xAA, 0xAA, 0xEC, 0x00, 0xFE,
- 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE,
- 0x00, 0xEE, 0xA8, 0xAC, 0xA8, 0xEE, 0x00, 0xFE,
- 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE,
- 0x00, 0xEE, 0xA8, 0xAC, 0xA8, 0xE8, 0x00, 0xFE,
- 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE,
- 0x00, 0x4E, 0xCA, 0x4A, 0x4A, 0xEE, 0x00, 0xFE,
- 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE,
- 0x00, 0x44, 0xCC, 0x44, 0x44, 0xEE, 0x00, 0xFE,
- 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE,
- 0x00, 0x4C, 0xC2, 0x44, 0x48, 0xEE, 0x00, 0xFE,
- 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE,
- 0x00, 0x4C, 0xC2, 0x4C, 0x42, 0xEC, 0x00, 0xFE,
- 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE,
- 0x00, 0x4A, 0xCA, 0x4E, 0x42, 0xE2, 0x00, 0xFE,
- 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE,
- 0x00, 0x4E, 0xC8, 0x4E, 0x42, 0xEE, 0x00, 0xFE,
- 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE,
- 0x00, 0x46, 0xC8, 0x4E, 0x4A, 0xEE, 0x00, 0xFE,
- 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE,
- 0x00, 0x4E, 0xC2, 0x44, 0x44, 0xE4, 0x00, 0xFE,
- 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE,
- 0x00, 0x4E, 0xCA, 0x4E, 0x4A, 0xEE, 0x00, 0xFE,
- 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE,
- 0x00, 0x4E, 0xCA, 0x4E, 0x42, 0xE2, 0x00, 0xFE,
- 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE,
- 0x00, 0x44, 0xCA, 0x4E, 0x4A, 0xEA, 0x00, 0xFE,
- 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE,
- 0x00, 0x4C, 0xCA, 0x4C, 0x4A, 0xEC, 0x00, 0xFE,
- 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE,
- 0x00, 0x44, 0xCA, 0x48, 0x4A, 0xE4, 0x00, 0xFE,
- 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE,
- 0x00, 0x4C, 0xCA, 0x4A, 0x4A, 0xEC, 0x00, 0xFE,
- 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE,
- 0x00, 0x4E, 0xC8, 0x4C, 0x48, 0xEE, 0x00, 0xFE,
- 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE,
- 0x00, 0x4E, 0xC8, 0x4C, 0x48, 0xE8, 0x00, 0xFE,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C,
- 0x1C, 0x00, 0x1C, 0x1C, 0x1C, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xEE, 0xEE, 0xEE, 0xEE, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x6C, 0x6C, 0xFE, 0xFE, 0xFE, 0x6C, 0x6C,
- 0xFE, 0xFE, 0xFE, 0x6C, 0x6C, 0x00, 0x00, 0x00,
- 0x00, 0x10, 0x7C, 0xFE, 0xF6, 0xF0, 0xF8, 0x7C,
- 0x3E, 0x1E, 0xDE, 0xFE, 0x7C, 0x10, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xE0, 0xE6, 0xEE, 0x1C,
- 0x38, 0x70, 0xEE, 0xCE, 0x0E, 0x00, 0x00, 0x00,
- 0x00, 0x70, 0xF8, 0xF8, 0xF8, 0xF8, 0x76, 0xFE,
- 0xFE, 0xEC, 0xEE, 0xFE, 0x76, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x06, 0x0C, 0x1C, 0x38, 0x38, 0x70, 0x70, 0x70,
- 0x70, 0x70, 0x38, 0x38, 0x1C, 0x0C, 0x06, 0x00,
- 0x60, 0x30, 0x38, 0x1C, 0x1C, 0x0E, 0x0E, 0x0E,
- 0x0E, 0x0E, 0x1C, 0x1C, 0x38, 0x30, 0x60, 0x00,
- 0x00, 0x00, 0x00, 0x10, 0x54, 0xFE, 0x7C, 0x38,
- 0x7C, 0xFE, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x38, 0xFE,
- 0xFE, 0x38, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x38, 0x78, 0x70, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE,
- 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x38, 0x38, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x1E, 0x3C,
- 0x78, 0xF0, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x38, 0x7C, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE,
- 0xEE, 0xEE, 0xEE, 0x7C, 0x38, 0x00, 0x00, 0x00,
- 0x00, 0x18, 0x38, 0x78, 0x78, 0x38, 0x38, 0x38,
- 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00,
- 0x00, 0x7C, 0xFE, 0xEE, 0x0E, 0x0E, 0x7E, 0xFC,
- 0xE0, 0xE0, 0xE0, 0xFE, 0xFE, 0x00, 0x00, 0x00,
- 0x00, 0x7C, 0xFE, 0xEE, 0x0E, 0x0E, 0x3C, 0x3C,
- 0x0E, 0x0E, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x04, 0x0C, 0x1C, 0x3C, 0x7C, 0x6C, 0xEC,
- 0xFE, 0xFE, 0x1C, 0x1C, 0x1C, 0x00, 0x00, 0x00,
- 0x00, 0xFE, 0xFE, 0xE0, 0xE0, 0xFC, 0xFE, 0x0E,
- 0x0E, 0x0E, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x7C, 0xFC, 0xE0, 0xE0, 0xFC, 0xFE, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0xFE, 0xFE, 0x0E, 0x0E, 0x1C, 0x1C, 0x1C,
- 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00,
- 0x00, 0x7C, 0xFE, 0xEE, 0xEE, 0xFE, 0x7C, 0xFE,
- 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x7C, 0xFE, 0xEE, 0xEE, 0xEE, 0xFE, 0x7E,
- 0x0E, 0x0E, 0x0E, 0x7C, 0x78, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x38, 0x00,
- 0x00, 0x00, 0x38, 0x38, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x38, 0x00,
- 0x00, 0x18, 0x38, 0x38, 0x30, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x06, 0x0E, 0x1C, 0x38, 0x70,
- 0x70, 0x38, 0x1C, 0x0E, 0x06, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFE, 0x00,
- 0x00, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x60, 0x70, 0x38, 0x1C, 0x0E,
- 0x0E, 0x1C, 0x38, 0x70, 0x60, 0x00, 0x00, 0x00,
- 0x00, 0x7C, 0xFE, 0xEE, 0x0E, 0x0E, 0x3E, 0x7C,
- 0x70, 0x00, 0x70, 0x70, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x7C, 0xFE, 0xEE, 0xEE, 0xEE, 0xFE, 0xFE,
- 0xEC, 0xE0, 0xE0, 0xFC, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x7C, 0xFE, 0xEE, 0xEE, 0xEE, 0xEE, 0xFE,
- 0xFE, 0xEE, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00,
- 0x00, 0xFC, 0xFE, 0xEE, 0xEE, 0xEE, 0xFC, 0xFC,
- 0xEE, 0xEE, 0xEE, 0xFE, 0xFC, 0x00, 0x00, 0x00,
- 0x00, 0x7C, 0xFE, 0xEE, 0xEE, 0xE0, 0xE0, 0xE0,
- 0xE0, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0xF8, 0xFC, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xFC, 0xF8, 0x00, 0x00, 0x00,
- 0x00, 0xFE, 0xFE, 0xE0, 0xE0, 0xE0, 0xF8, 0xF8,
- 0xE0, 0xE0, 0xE0, 0xFE, 0xFE, 0x00, 0x00, 0x00,
- 0x00, 0xFE, 0xFE, 0xE0, 0xE0, 0xE0, 0xF8, 0xF8,
- 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0x00, 0x00, 0x00,
- 0x00, 0x7C, 0xFE, 0xEE, 0xEE, 0xE0, 0xE0, 0xFE,
- 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xFE, 0xFE,
- 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00,
- 0x00, 0xFE, 0xFE, 0x38, 0x38, 0x38, 0x38, 0x38,
- 0x38, 0x38, 0x38, 0xFE, 0xFE, 0x00, 0x00, 0x00,
- 0x00, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E,
- 0x0E, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0xE0, 0xE6, 0xEE, 0xFE, 0xFC, 0xF8, 0xF0,
- 0xF8, 0xFC, 0xFE, 0xEE, 0xE6, 0x00, 0x00, 0x00,
- 0x00, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0,
- 0xE0, 0xE0, 0xE0, 0xFE, 0xFE, 0x00, 0x00, 0x00,
- 0x00, 0xC6, 0xEE, 0xFE, 0xFE, 0xFE, 0xFE, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00,
- 0x00, 0xCE, 0xEE, 0xEE, 0xFE, 0xFE, 0xFE, 0xFE,
- 0xFE, 0xFE, 0xEE, 0xEE, 0xE6, 0x00, 0x00, 0x00,
- 0x00, 0x7C, 0xFE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0xFC, 0xFE, 0xEE, 0xEE, 0xEE, 0xEE, 0xFE,
- 0xFC, 0xE0, 0xE0, 0xE0, 0xE0, 0x00, 0x00, 0x00,
- 0x00, 0x7C, 0xFE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE,
- 0xEE, 0xFE, 0xFE, 0xFE, 0x7E, 0x06, 0x00, 0x00,
- 0x00, 0xFC, 0xFE, 0xEE, 0xEE, 0xEE, 0xFE, 0xFC,
- 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00,
- 0x00, 0x7C, 0xFE, 0xEE, 0xE0, 0xE0, 0xFC, 0x7E,
- 0x0E, 0x0E, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0xFE, 0xFE, 0x38, 0x38, 0x38, 0x38, 0x38,
- 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00,
- 0x00, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE,
- 0x6C, 0x7C, 0x38, 0x38, 0x10, 0x00, 0x00, 0x00,
- 0x00, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE,
- 0xFE, 0xFE, 0xFE, 0xEE, 0x44, 0x00, 0x00, 0x00,
- 0x00, 0xEE, 0xEE, 0xEE, 0xEE, 0x7C, 0x38, 0x38,
- 0x7C, 0xEE, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00,
- 0x00, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x7C, 0x38,
- 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00,
- 0x00, 0xFE, 0xFE, 0x0E, 0x0E, 0x1C, 0x38, 0x38,
- 0x70, 0xE0, 0xE0, 0xFE, 0xFE, 0x00, 0x00, 0x00,
- 0x00, 0x3E, 0x3E, 0x38, 0x38, 0x38, 0x38, 0x38,
- 0x38, 0x38, 0x38, 0x3E, 0x3E, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x40, 0xE0, 0xF0, 0x78,
- 0x3C, 0x1E, 0x0E, 0x04, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0xFC, 0xFC, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C,
- 0x1C, 0x1C, 0x1C, 0xFC, 0xFC, 0x00, 0x00, 0x00,
- 0x00, 0x10, 0x38, 0x7C, 0xEE, 0xC6, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00,
- 0x00, 0x00, 0x00, 0x30, 0x38, 0x18, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x7E, 0x0E,
- 0x7E, 0xFE, 0xEE, 0xFE, 0x7E, 0x00, 0x00, 0x00,
- 0x00, 0xE0, 0xE0, 0xE0, 0xE0, 0xFC, 0xFE, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xFE, 0xFC, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xFE, 0xEE,
- 0xE0, 0xE0, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x0E, 0x0E, 0x0E, 0x0E, 0x7E, 0xFE, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xFE, 0x7E, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xFE, 0xEE,
- 0xFE, 0xFE, 0xE0, 0xFE, 0x7E, 0x00, 0x00, 0x00,
- 0x00, 0x3E, 0x7E, 0x70, 0x70, 0x70, 0xF8, 0xF8,
- 0x70, 0x70, 0x70, 0x70, 0x70, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0xFE, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xFE, 0x7E, 0x0E, 0x7E, 0x7C,
- 0x00, 0x00, 0xE0, 0xE0, 0xE0, 0xFC, 0xFE, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x38, 0x38, 0x00, 0x78, 0x78, 0x38,
- 0x38, 0x38, 0x38, 0x7C, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x1C, 0x1C, 0x00, 0x3C, 0x3C, 0x1C,
- 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x7C, 0x78,
- 0x00, 0xE0, 0xE0, 0xE0, 0xE6, 0xEE, 0xFE, 0xFC,
- 0xF8, 0xFC, 0xFE, 0xEE, 0xE6, 0x00, 0x00, 0x00,
- 0x00, 0x78, 0x78, 0x38, 0x38, 0x38, 0x38, 0x38,
- 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0xEC, 0xFE, 0xFE,
- 0xFE, 0xFE, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xFE, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xFE, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xFE, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xFE, 0xFC, 0xE0, 0xE0, 0xE0,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0xFE, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xFE, 0x7E, 0x0E, 0x0F, 0x0F,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0xDE, 0xFE, 0xE0,
- 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0xFE, 0xE0,
- 0xFC, 0x7E, 0x0E, 0xFE, 0xFC, 0x00, 0x00, 0x00,
- 0x00, 0x10, 0x30, 0x70, 0x70, 0xFC, 0xFC, 0x70,
- 0x70, 0x70, 0x70, 0x7E, 0x3E, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0xEE, 0xEE, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xFE, 0x7E, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0xEE, 0xEE, 0xEE,
- 0xEE, 0xEE, 0x7C, 0x38, 0x10, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0xEE, 0xEE, 0xEE,
- 0xFE, 0xFE, 0xFE, 0xEE, 0x44, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0xEE, 0xEE, 0xEE,
- 0x7C, 0x7C, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0xEE, 0xEE, 0xEE,
- 0xEE, 0xEE, 0xFE, 0x7E, 0x0E, 0x0E, 0xFE, 0xFC,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFE, 0x1E,
- 0x3C, 0x78, 0xF0, 0xFE, 0xFE, 0x00, 0x00, 0x00,
- 0x00, 0x1E, 0x3E, 0x38, 0x38, 0x38, 0xF0, 0xF0,
- 0x38, 0x38, 0x38, 0x3E, 0x1E, 0x00, 0x00, 0x00,
- 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38,
- 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x00,
- 0x00, 0xF0, 0xF8, 0x38, 0x38, 0x38, 0x1E, 0x1E,
- 0x38, 0x38, 0x38, 0xF8, 0xF0, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x66, 0xFE, 0xFE, 0xCC, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE,
- 0x00, 0xEE, 0x28, 0x4C, 0x48, 0x48, 0x00, 0xFE,
- 0x00, 0x38, 0x7C, 0xEE, 0xE0, 0xFC, 0xE0, 0xF8,
- 0xE0, 0xE0, 0xEE, 0x7C, 0x38, 0x00, 0x00, 0x00,
- 0x00, 0x10, 0x38, 0x38, 0x6C, 0x54, 0xF6, 0xEE,
- 0x6C, 0x7C, 0x28, 0x38, 0x10, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x38, 0x38, 0x18, 0x30, 0x00,
- 0x00, 0x3E, 0x7E, 0x70, 0x70, 0x70, 0xF8, 0xF8,
- 0x70, 0x70, 0x70, 0x70, 0x70, 0xF0, 0xE0, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0xEE, 0xEE, 0x66, 0xCC, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xDB, 0xDB, 0xDB, 0x00, 0x00, 0x00,
- 0x00, 0x38, 0x38, 0x38, 0x38, 0xFE, 0xFE, 0x38,
- 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00,
- 0x00, 0x38, 0x38, 0x38, 0xFE, 0xFE, 0x38, 0xFE,
- 0xFE, 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00,
- 0x00, 0x7C, 0xEE, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xCE, 0x1C,
- 0x38, 0x70, 0xE0, 0xDB, 0x1B, 0x00, 0x00, 0x00,
- 0xEE, 0x7C, 0x00, 0x7C, 0xFE, 0xEE, 0xE0, 0xFC,
- 0x7E, 0x0E, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x0E, 0x1C,
- 0x38, 0x70, 0x38, 0x1C, 0x0E, 0x06, 0x00, 0x00,
- 0x00, 0x7F, 0xFF, 0xEE, 0xEE, 0xEE, 0xEF, 0xEF,
- 0xEE, 0xEE, 0xEE, 0xFF, 0x7F, 0x00, 0x00, 0x00,
- 0x00, 0x10, 0x38, 0x38, 0x6C, 0x54, 0xF6, 0xEE,
- 0x6C, 0x7C, 0x28, 0x38, 0x10, 0x00, 0x00, 0x00,
- 0xEE, 0x7C, 0x00, 0xFE, 0xFE, 0x0E, 0x1E, 0x3C,
- 0x78, 0xF0, 0xE0, 0xFE, 0xFE, 0x00, 0x00, 0x00,
- 0x00, 0x10, 0x38, 0x38, 0x6C, 0x54, 0xF6, 0xEE,
- 0x6C, 0x7C, 0x28, 0x38, 0x10, 0x00, 0x00, 0x00,
- 0x00, 0x10, 0x38, 0x38, 0x6C, 0x54, 0xF6, 0xEE,
- 0x6C, 0x7C, 0x28, 0x38, 0x10, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x18, 0x30, 0x30, 0x30, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x30, 0x30, 0x30, 0x60, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x36, 0x6C, 0x6C, 0x6C, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x36, 0x36, 0x36, 0x6C, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x7E,
- 0x7E, 0x7E, 0x7E, 0x3C, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x3C, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0xFE, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x7B, 0xDE, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xF1, 0xFB, 0x5F, 0x55, 0x51, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0xEE, 0x7C, 0x38, 0x00, 0x7E, 0xFE, 0xE0,
- 0xFC, 0x7E, 0x0E, 0xFE, 0xFC, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x70, 0x38,
- 0x1C, 0x0E, 0x1C, 0x38, 0x70, 0x60, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xFE, 0xFA,
- 0xDE, 0xDE, 0xFC, 0xFE, 0x6E, 0x00, 0x00, 0x00,
- 0x00, 0x10, 0x38, 0x38, 0x6C, 0x54, 0xF6, 0xEE,
- 0x6C, 0x7C, 0x28, 0x38, 0x10, 0x00, 0x00, 0x00,
- 0x00, 0xEE, 0x7C, 0x38, 0x00, 0xFE, 0xFE, 0x1E,
- 0x3C, 0x78, 0xF0, 0xFE, 0xFE, 0x00, 0x00, 0x00,
- 0x00, 0xEE, 0x00, 0xEE, 0xEE, 0xEE, 0xEE, 0x7C,
- 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x38, 0x00,
- 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x00,
- 0x00, 0x00, 0x00, 0x10, 0x10, 0x7C, 0xFE, 0xD6,
- 0xD0, 0xD0, 0xD6, 0xFE, 0x7C, 0x10, 0x10, 0x00,
- 0x00, 0x3C, 0x7E, 0x76, 0x70, 0xFC, 0xFC, 0xFC,
- 0x70, 0x76, 0xFE, 0xFE, 0xDC, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xEE, 0xEE, 0x7C, 0xFE,
- 0xFE, 0xFE, 0xFE, 0x7C, 0xEE, 0xEE, 0x00, 0x00,
- 0x00, 0x00, 0xEE, 0xEE, 0xEE, 0x7C, 0x38, 0xFE,
- 0x38, 0xFE, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x38, 0x38, 0x38, 0x38, 0x00,
- 0x00, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00,
- 0x00, 0x3C, 0x7C, 0x7C, 0x70, 0x3C, 0x7E, 0x66,
- 0x7E, 0x3C, 0x0E, 0x3E, 0x3E, 0x3C, 0x00, 0x00,
- 0x00, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x3C, 0x7E, 0xC3, 0x99, 0xBD, 0xA5, 0xA1,
- 0xA5, 0xBD, 0x99, 0xC3, 0x7E, 0x3C, 0x00, 0x00,
- 0x00, 0x78, 0x0C, 0x7C, 0xCC, 0x7C, 0x00, 0xFC,
- 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E,
- 0x7C, 0xF8, 0xF8, 0x7C, 0x3E, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x7E, 0x7E, 0x7E, 0x06, 0x02, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x7E, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x3C, 0x7E, 0xC3, 0xB9, 0xBD, 0xA5, 0xB9,
- 0xB9, 0xA5, 0xA5, 0xC3, 0x7E, 0x3C, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0xFE, 0xFE, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x78, 0xFC, 0xCC, 0xFC, 0x78, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x38, 0x38, 0xFE, 0xFE, 0xFE, 0x38,
- 0x38, 0x00, 0xFE, 0xFE, 0xFE, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xF0, 0xF8, 0x18, 0x78, 0xF0, 0xC0,
- 0xF8, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xF0, 0xF8, 0x18, 0x30, 0x18, 0xF8,
- 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x38, 0x70, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEE, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xFE, 0xFC, 0xE0, 0xE0, 0xC0,
- 0x00, 0x00, 0x00, 0x7F, 0xDB, 0xDB, 0xDB, 0x7B,
- 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x38,
- 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x18, 0x1C, 0x0C, 0x1C, 0x18, 0x00, 0x00,
- 0x00, 0x00, 0x60, 0xE0, 0x60, 0x60, 0x60, 0xF0,
- 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x70, 0xF8, 0x88, 0xF8, 0x70, 0x00, 0xF8,
- 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD8,
- 0x6C, 0x36, 0x36, 0x6C, 0xD8, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x60, 0xE0, 0x62, 0x66, 0xFE, 0x1C,
- 0x38, 0x76, 0xEE, 0xD6, 0x3E, 0x3E, 0x06, 0x00,
- 0x00, 0x00, 0x60, 0xE0, 0x62, 0x66, 0xFE, 0x1C,
- 0x38, 0x70, 0xFC, 0xC6, 0x0C, 0x18, 0x1E, 0x00,
- 0x00, 0x00, 0xE0, 0x30, 0x62, 0x36, 0xEE, 0x1C,
- 0x3A, 0x76, 0xEE, 0xD6, 0x3E, 0x3E, 0x06, 0x00,
- 0x00, 0x00, 0x1C, 0x1C, 0x1C, 0x00, 0x1C, 0x1C,
- 0x7C, 0xF8, 0xE0, 0xEE, 0xEE, 0xFE, 0x7C, 0x00,
- 0x00, 0xE0, 0x70, 0x00, 0x10, 0x38, 0x7C, 0xEE,
- 0xFE, 0xFE, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00,
- 0x00, 0x0E, 0x1C, 0x00, 0x10, 0x38, 0x7C, 0xEE,
- 0xFE, 0xFE, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00,
- 0x00, 0x38, 0x6C, 0xC6, 0x10, 0x38, 0x7C, 0xEE,
- 0xFE, 0xFE, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00,
- 0x00, 0x76, 0xDC, 0x00, 0x10, 0x38, 0x7C, 0xEE,
- 0xFE, 0xFE, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00,
- 0x00, 0xEE, 0xEE, 0x10, 0x38, 0x7C, 0xEE, 0xFE,
- 0xFE, 0xEE, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00,
- 0x00, 0x38, 0x6C, 0x38, 0x38, 0x7C, 0xEE, 0xFE,
- 0xFE, 0xEE, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00,
- 0x00, 0x1F, 0x3F, 0x7F, 0xFE, 0xEE, 0xFF, 0xFF,
- 0xFE, 0xEE, 0xEF, 0xEF, 0xEF, 0x00, 0x00, 0x00,
- 0x00, 0x7C, 0xFE, 0xEE, 0xE0, 0xE0, 0xE0, 0xE0,
- 0xE0, 0xE0, 0xEE, 0xFE, 0x7C, 0x0E, 0x6E, 0x7C,
- 0x00, 0x70, 0x38, 0x00, 0xFE, 0xFE, 0xE0, 0xE0,
- 0xF8, 0xE0, 0xE0, 0xFE, 0xFE, 0x00, 0x00, 0x00,
- 0x00, 0x1C, 0x38, 0x00, 0xFE, 0xFE, 0xE0, 0xE0,
- 0xF8, 0xE0, 0xE0, 0xFE, 0xFE, 0x00, 0x00, 0x00,
- 0x00, 0x7C, 0xEE, 0x00, 0xFE, 0xFE, 0xE0, 0xE0,
- 0xF8, 0xE0, 0xE0, 0xFE, 0xFE, 0x00, 0x00, 0x00,
- 0xEE, 0xEE, 0x00, 0xFE, 0xFE, 0xE0, 0xE0, 0xF8,
- 0xF8, 0xE0, 0xE0, 0xFE, 0xFE, 0x00, 0x00, 0x00,
- 0x00, 0x70, 0x38, 0x00, 0x38, 0x38, 0x38, 0x38,
- 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00,
- 0x00, 0x1C, 0x38, 0x00, 0x38, 0x38, 0x38, 0x38,
- 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00,
- 0x00, 0x38, 0x6C, 0x38, 0x38, 0x38, 0x38, 0x38,
- 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00,
- 0x00, 0xEE, 0xEE, 0x00, 0x38, 0x38, 0x38, 0x38,
- 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xF8, 0xFC, 0xEE, 0xEE, 0xEE, 0xFE,
- 0xEE, 0xEE, 0xEE, 0xFC, 0xF8, 0x00, 0x00, 0x00,
- 0x00, 0x76, 0xDC, 0x00, 0xEE, 0xEE, 0xEE, 0xF6,
- 0xFE, 0xDE, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00,
- 0x00, 0x70, 0x38, 0x00, 0x7C, 0xFE, 0xEE, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x1C, 0x38, 0x00, 0x7C, 0xFE, 0xEE, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x7C, 0xEE, 0x00, 0x7C, 0xFE, 0xEE, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x76, 0xDC, 0x00, 0x7C, 0xFE, 0xEE, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0xEE, 0xEE, 0x00, 0x7C, 0xFE, 0xEE, 0xEE, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xEE, 0x7C,
- 0x38, 0x38, 0x7C, 0xEE, 0xC6, 0x00, 0x00, 0x00,
- 0x00, 0x7A, 0xFC, 0xEE, 0xEE, 0xEE, 0xFE, 0xFE,
- 0xFE, 0xEE, 0xEE, 0xFE, 0x7C, 0x80, 0x00, 0x00,
- 0x00, 0x70, 0x38, 0x00, 0xEE, 0xEE, 0xEE, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x1C, 0x38, 0x00, 0xEE, 0xEE, 0xEE, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x7C, 0xEE, 0x00, 0xEE, 0xEE, 0xEE, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0xEE, 0xEE, 0x00, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x1C, 0x38, 0x00, 0xEE, 0xEE, 0xEE, 0xEE,
- 0x7C, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xE0, 0xE0, 0xFC, 0xFE, 0xEE, 0xEE,
- 0xEE, 0xFE, 0xFC, 0xE0, 0xE0, 0x00, 0x00, 0x00,
- 0x00, 0x7C, 0xFE, 0xEE, 0xEE, 0xEE, 0xFE, 0xFC,
- 0xEE, 0xEE, 0xEE, 0xFE, 0xFC, 0xE0, 0xC0, 0x00,
- 0x00, 0x00, 0x70, 0x38, 0x00, 0x7C, 0x7E, 0x0E,
- 0x7E, 0xFE, 0xEE, 0xFE, 0x7E, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x1C, 0x38, 0x00, 0x7C, 0x7E, 0x0E,
- 0x7E, 0xFE, 0xEE, 0xFE, 0x7E, 0x00, 0x00, 0x00,
- 0x00, 0x38, 0x7C, 0xEE, 0x00, 0x7C, 0x7E, 0x0E,
- 0x7E, 0xFE, 0xEE, 0xFE, 0x7E, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x76, 0xDC, 0x00, 0x7C, 0x7E, 0x0E,
- 0x7E, 0xFE, 0xEE, 0xFE, 0x7E, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xEE, 0xEE, 0x00, 0x7C, 0x7E, 0x0E,
- 0x7E, 0xFE, 0xEE, 0xFE, 0x7E, 0x00, 0x00, 0x00,
- 0x00, 0x38, 0x6C, 0x38, 0x00, 0x7C, 0x7E, 0x0E,
- 0x7E, 0xFE, 0xEE, 0xFE, 0x7E, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x74, 0x7E, 0x7E, 0x1A,
- 0x7E, 0xFE, 0xD8, 0xFE, 0x7E, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xFE,
- 0xEE, 0xE0, 0xEE, 0xFE, 0x7C, 0x1C, 0x7E, 0x7C,
- 0x00, 0x00, 0x70, 0x38, 0x00, 0x7C, 0xFE, 0xEE,
- 0xFE, 0xFE, 0xE0, 0xFE, 0x7E, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x38, 0x70, 0x00, 0x7C, 0xFE, 0xEE,
- 0xFE, 0xFE, 0xE0, 0xFE, 0x7E, 0x00, 0x00, 0x00,
- 0x00, 0x38, 0x7C, 0xEE, 0x00, 0x7C, 0xFE, 0xEE,
- 0xFE, 0xFE, 0xE0, 0xFE, 0x7E, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xEE, 0xEE, 0x00, 0x7C, 0xFE, 0xEE,
- 0xFE, 0xFE, 0xE0, 0xFE, 0x7E, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x70, 0x38, 0x00, 0x38, 0x38, 0x38,
- 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x1C, 0x38, 0x00, 0x38, 0x38, 0x38,
- 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00,
- 0x00, 0x38, 0x7C, 0xEE, 0x00, 0x38, 0x38, 0x38,
- 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xEE, 0xEE, 0x00, 0x38, 0x38, 0x38,
- 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00,
- 0x00, 0xEC, 0x7C, 0xF8, 0xFC, 0x7E, 0xFE, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x76, 0xFE, 0xDC, 0x00, 0xFC, 0xFE, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xE0, 0x70, 0x00, 0x7C, 0xFE, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x38, 0x70, 0x00, 0x7C, 0xFE, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x38, 0x7C, 0xEE, 0x00, 0x7C, 0xFE, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x76, 0xFE, 0xDC, 0x00, 0x7C, 0xFE, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xEE, 0xEE, 0x00, 0x7C, 0xFE, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x38, 0x38, 0x00, 0xFE,
- 0xFE, 0x00, 0x38, 0x38, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x02, 0x7C, 0xFE, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0xE0, 0x70, 0x00, 0xEE, 0xEE, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xFE, 0x7E, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x38, 0x70, 0x00, 0xEE, 0xEE, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xFE, 0x7E, 0x00, 0x00, 0x00,
- 0x00, 0x38, 0x7C, 0xEE, 0x00, 0xEE, 0xEE, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xFE, 0x7E, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xEE, 0xEE, 0x00, 0xEE, 0xEE, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xFE, 0x7E, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x1C, 0x38, 0x00, 0xEE, 0xEE, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xFE, 0x7E, 0x0E, 0xFE, 0xFC,
- 0x00, 0x00, 0xE0, 0xE0, 0xFC, 0xFE, 0xEE, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xEE, 0xFE, 0xFC, 0xE0, 0xE0,
- 0x00, 0x00, 0xEE, 0xEE, 0x00, 0xEE, 0xEE, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xFE, 0x7E, 0x0E, 0xFE, 0xFC,
-};
-
-const struct fb_font_desc font_bold = {
- .name = "NetSurf Bold",
- .width = 8,
- .height = 16,
- .encoding = "CP1252",
- .data = fontdata_bold,
-};
-
-
-static const uint32_t fontdata_italic[FONTDATAMAX] = {
- 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77,
- 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, 0x00, 0xFE,
- 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77,
- 0x00, 0xE4, 0xAC, 0xA4, 0xA4, 0xEE, 0x00, 0xFE,
- 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77,
- 0x00, 0xEC, 0xA2, 0xA4, 0xA8, 0xEE, 0x00, 0xFE,
- 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77,
- 0x00, 0xEC, 0xA2, 0xAC, 0xA2, 0xEC, 0x00, 0xFE,
- 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77,
- 0x00, 0xEA, 0xAA, 0xAE, 0xA2, 0xE2, 0x00, 0xFE,
- 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77,
- 0x00, 0xEE, 0xA8, 0xAE, 0xA2, 0xEE, 0x00, 0xFE,
- 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77,
- 0x00, 0xE6, 0xA8, 0xAE, 0xAA, 0xEE, 0x00, 0xFE,
- 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77,
- 0x00, 0xEE, 0xA2, 0xA4, 0xA4, 0xE4, 0x00, 0xFE,
- 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77,
- 0x00, 0xEE, 0xAA, 0xAE, 0xAA, 0xEE, 0x00, 0xFE,
- 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77,
- 0x00, 0xEE, 0xAA, 0xAE, 0xA2, 0xE2, 0x00, 0xFE,
- 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77,
- 0x00, 0xE4, 0xAA, 0xAE, 0xAA, 0xEA, 0x00, 0xFE,
- 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77,
- 0x00, 0xEC, 0xAA, 0xAC, 0xAA, 0xEC, 0x00, 0xFE,
- 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77,
- 0x00, 0xE4, 0xAA, 0xA8, 0xAA, 0xE4, 0x00, 0xFE,
- 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77,
- 0x00, 0xEC, 0xAA, 0xAA, 0xAA, 0xEC, 0x00, 0xFE,
- 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77,
- 0x00, 0xEE, 0xA8, 0xAC, 0xA8, 0xEE, 0x00, 0xFE,
- 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77,
- 0x00, 0xEE, 0xA8, 0xAC, 0xA8, 0xE8, 0x00, 0xFE,
- 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77,
- 0x00, 0x4E, 0xCA, 0x4A, 0x4A, 0xEE, 0x00, 0xFE,
- 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77,
- 0x00, 0x44, 0xCC, 0x44, 0x44, 0xEE, 0x00, 0xFE,
- 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77,
- 0x00, 0x4C, 0xC2, 0x44, 0x48, 0xEE, 0x00, 0xFE,
- 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77,
- 0x00, 0x4C, 0xC2, 0x4C, 0x42, 0xEC, 0x00, 0xFE,
- 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77,
- 0x00, 0x4A, 0xCA, 0x4E, 0x42, 0xE2, 0x00, 0xFE,
- 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77,
- 0x00, 0x4E, 0xC8, 0x4E, 0x42, 0xEE, 0x00, 0xFE,
- 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77,
- 0x00, 0x46, 0xC8, 0x4E, 0x4A, 0xEE, 0x00, 0xFE,
- 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77,
- 0x00, 0x4E, 0xC2, 0x44, 0x44, 0xE4, 0x00, 0xFE,
- 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77,
- 0x00, 0x4E, 0xCA, 0x4E, 0x4A, 0xEE, 0x00, 0xFE,
- 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77,
- 0x00, 0x4E, 0xCA, 0x4E, 0x42, 0xE2, 0x00, 0xFE,
- 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77,
- 0x00, 0x44, 0xCA, 0x4E, 0x4A, 0xEA, 0x00, 0xFE,
- 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77,
- 0x00, 0x4C, 0xCA, 0x4C, 0x4A, 0xEC, 0x00, 0xFE,
- 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77,
- 0x00, 0x44, 0xCA, 0x48, 0x4A, 0xE4, 0x00, 0xFE,
- 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77,
- 0x00, 0x4C, 0xCA, 0x4A, 0x4A, 0xEC, 0x00, 0xFE,
- 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77,
- 0x00, 0x4E, 0xC8, 0x4C, 0x48, 0xEE, 0x00, 0xFE,
- 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77,
- 0x00, 0x4E, 0xC8, 0x4C, 0x48, 0xE8, 0x00, 0xFE,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x06, 0x06, 0x06, 0x06, 0x0C, 0x0C, 0x0C,
- 0x0C, 0x18, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x1B, 0x1B, 0x36, 0x36, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x1B, 0x1B, 0x1B, 0x7F, 0x7F, 0x36, 0x36,
- 0xFF, 0xFF, 0x6C, 0x6C, 0x6C, 0x00, 0x00, 0x00,
- 0x00, 0x04, 0x3E, 0x7F, 0x6B, 0x68, 0x78, 0x3C,
- 0x1E, 0x16, 0xD6, 0xFE, 0x7C, 0x20, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xCE, 0x1C,
- 0x38, 0x70, 0xE6, 0xC6, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x1C, 0x3E, 0x36, 0x36, 0x3C, 0x39, 0x7F,
- 0x6E, 0xCC, 0xCC, 0xFE, 0x7A, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x06, 0x06, 0x0C, 0x0C, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x06, 0x0E, 0x1C, 0x38, 0x30, 0x60, 0x60, 0xC0,
- 0xC0, 0xC0, 0xC0, 0xC0, 0xE0, 0x70, 0x30, 0x00,
- 0x18, 0x1C, 0x0E, 0x06, 0x06, 0x06, 0x06, 0x06,
- 0x0C, 0x0C, 0x18, 0x38, 0x70, 0xE0, 0xC0, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x36, 0x36, 0x1C, 0x7F,
- 0xFE, 0x38, 0x6C, 0x6C, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x7E,
- 0xFC, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x18, 0x38, 0x70, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0xFC,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x0E, 0x1C,
- 0x38, 0x70, 0xE0, 0xC0, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x1E, 0x3F, 0x33, 0x33, 0x67, 0x6E, 0x76,
- 0xE6, 0xCC, 0xCC, 0xFC, 0x78, 0x00, 0x00, 0x00,
- 0x00, 0x06, 0x0E, 0x1E, 0x3C, 0x0C, 0x0C, 0x18,
- 0x18, 0x18, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00,
- 0x00, 0x1E, 0x3F, 0x33, 0x03, 0x07, 0x1E, 0x7C,
- 0x60, 0xC0, 0xC0, 0xFC, 0xFC, 0x00, 0x00, 0x00,
- 0x00, 0x1E, 0x3F, 0x33, 0x03, 0x06, 0x1E, 0x1E,
- 0x06, 0x06, 0xCC, 0xFC, 0x78, 0x00, 0x00, 0x00,
- 0x00, 0x01, 0x03, 0x07, 0x0F, 0x1E, 0x36, 0x7F,
- 0x7F, 0x0C, 0x0C, 0x18, 0x18, 0x00, 0x00, 0x00,
- 0x00, 0x1F, 0x1F, 0x30, 0x30, 0x7C, 0x7E, 0x06,
- 0x06, 0x06, 0xCE, 0xFC, 0x78, 0x00, 0x00, 0x00,
- 0x00, 0x0F, 0x1F, 0x38, 0x30, 0x60, 0x7C, 0x7E,
- 0xC6, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x3F, 0x7F, 0x63, 0x03, 0x06, 0x06, 0x0C,
- 0x0C, 0x18, 0x18, 0x30, 0x30, 0x00, 0x00, 0x00,
- 0x00, 0x1E, 0x3F, 0x33, 0x33, 0x33, 0x1E, 0x7C,
- 0x66, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x1E, 0x3F, 0x33, 0x63, 0x63, 0x7E, 0x3E,
- 0x06, 0x0C, 0x1C, 0xF8, 0xF0, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x0C, 0x00,
- 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x0C, 0x00,
- 0x00, 0x00, 0x18, 0x38, 0x30, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x06, 0x0E, 0x1C, 0x38, 0x70, 0x70,
- 0x70, 0x38, 0x1C, 0x0C, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x3E, 0x7C, 0x00, 0x00,
- 0x7C, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x18, 0x18, 0x0C, 0x0C, 0x06, 0x0E,
- 0x1C, 0x38, 0x70, 0x60, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x1E, 0x3F, 0x33, 0x33, 0x03, 0x07, 0x0E,
- 0x1C, 0x18, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00,
- 0x00, 0x1E, 0x3F, 0x33, 0x63, 0x6F, 0x6B, 0x6B,
- 0xCF, 0xCE, 0xC0, 0xFC, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x1E, 0x3F, 0x33, 0x33, 0x66, 0x7E, 0x7E,
- 0x66, 0xCC, 0xCC, 0xCC, 0xCC, 0x00, 0x00, 0x00,
- 0x00, 0x3E, 0x3F, 0x33, 0x63, 0x63, 0x7E, 0x7C,
- 0x66, 0xC6, 0xC6, 0xFE, 0xFC, 0x00, 0x00, 0x00,
- 0x00, 0x1E, 0x3F, 0x33, 0x30, 0x60, 0x60, 0x60,
- 0x60, 0xC0, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x3E, 0x3F, 0x33, 0x63, 0x63, 0x63, 0x63,
- 0xC3, 0xC6, 0xCE, 0xFC, 0xF8, 0x00, 0x00, 0x00,
- 0x00, 0x3F, 0x3F, 0x30, 0x30, 0x60, 0x7C, 0x7C,
- 0x60, 0xC0, 0xC0, 0xFE, 0xFE, 0x00, 0x00, 0x00,
- 0x00, 0x3F, 0x3F, 0x30, 0x30, 0x60, 0x7C, 0x7C,
- 0x60, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x00,
- 0x00, 0x1E, 0x3F, 0x33, 0x30, 0x60, 0x60, 0x6E,
- 0x6E, 0xC6, 0xCE, 0xFC, 0x78, 0x00, 0x00, 0x00,
- 0x00, 0x33, 0x33, 0x33, 0x63, 0x66, 0x7E, 0x7E,
- 0xC6, 0xC6, 0xCC, 0xCC, 0xCC, 0x00, 0x00, 0x00,
- 0x00, 0x3F, 0x3F, 0x0C, 0x0C, 0x18, 0x18, 0x18,
- 0x18, 0x30, 0x30, 0xFC, 0xFC, 0x00, 0x00, 0x00,
- 0x00, 0x03, 0x03, 0x03, 0x03, 0x06, 0x06, 0x06,
- 0x06, 0x0C, 0xCC, 0xFC, 0x78, 0x00, 0x00, 0x00,
- 0x00, 0x30, 0x30, 0x33, 0x36, 0x7C, 0x78, 0x70,
- 0x78, 0xF8, 0xDC, 0xCE, 0xC6, 0x00, 0x00, 0x00,
- 0x00, 0x30, 0x30, 0x30, 0x30, 0x60, 0x60, 0x60,
- 0x60, 0xC0, 0xC0, 0xFE, 0xFE, 0x00, 0x00, 0x00,
- 0x00, 0x33, 0x33, 0x3F, 0x3F, 0x7F, 0x6B, 0x66,
- 0x66, 0xC6, 0xCC, 0xCC, 0xCC, 0x00, 0x00, 0x00,
- 0x00, 0x33, 0x33, 0x3B, 0x3B, 0x7B, 0x7E, 0x6E,
- 0x6E, 0xCE, 0xCC, 0xCC, 0xCC, 0x00, 0x00, 0x00,
- 0x00, 0x1E, 0x3F, 0x33, 0x33, 0x63, 0x66, 0x66,
- 0xC6, 0xCC, 0xCC, 0xFC, 0x78, 0x00, 0x00, 0x00,
- 0x00, 0x3E, 0x3F, 0x33, 0x33, 0x67, 0x7E, 0x7C,
- 0x60, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x00,
- 0x00, 0x1E, 0x3F, 0x33, 0x33, 0x63, 0x66, 0x66,
- 0xC6, 0xF6, 0xDC, 0xF8, 0x7C, 0x0C, 0x00, 0x00,
- 0x00, 0x3E, 0x3F, 0x33, 0x33, 0x63, 0x7E, 0x7C,
- 0x6E, 0xC6, 0xC6, 0xCC, 0xCC, 0x00, 0x00, 0x00,
- 0x00, 0x1E, 0x3F, 0x33, 0x60, 0x60, 0x7C, 0x3E,
- 0x06, 0x06, 0xCE, 0xFC, 0x78, 0x00, 0x00, 0x00,
- 0x00, 0x7F, 0x7F, 0x18, 0x18, 0x30, 0x30, 0x30,
- 0x30, 0x60, 0x60, 0x60, 0x60, 0x00, 0x00, 0x00,
- 0x00, 0x33, 0x33, 0x33, 0x33, 0x63, 0x66, 0x66,
- 0x66, 0xC6, 0xCC, 0xFC, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x33, 0x33, 0x33, 0x33, 0x63, 0x63, 0x66,
- 0x66, 0x6C, 0x38, 0x38, 0x10, 0x00, 0x00, 0x00,
- 0x00, 0x33, 0x33, 0x33, 0x33, 0x63, 0x63, 0x6B,
- 0x6B, 0xFE, 0xFE, 0xEE, 0x44, 0x00, 0x00, 0x00,
- 0x00, 0x63, 0x63, 0x63, 0x77, 0x3E, 0x1C, 0x38,
- 0x7C, 0xEE, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00,
- 0x00, 0x66, 0x66, 0x66, 0x66, 0x3C, 0x3C, 0x18,
- 0x18, 0x30, 0x30, 0x60, 0x60, 0x00, 0x00, 0x00,
- 0x00, 0x7F, 0x7F, 0x03, 0x07, 0x0E, 0x0C, 0x18,
- 0x38, 0x70, 0xE0, 0xFE, 0xFE, 0x00, 0x00, 0x00,
- 0x00, 0x0F, 0x0F, 0x0C, 0x0C, 0x18, 0x18, 0x18,
- 0x18, 0x30, 0x30, 0x3E, 0x3E, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xE0, 0x70,
- 0x38, 0x1C, 0x0E, 0x06, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x1F, 0x1F, 0x03, 0x03, 0x06, 0x06, 0x06,
- 0x06, 0x0C, 0x0C, 0x7C, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x04, 0x0E, 0x1F, 0x3B, 0x63, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFE, 0x00,
- 0x00, 0x00, 0x00, 0x0C, 0x0E, 0x0C, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x3E, 0x06,
- 0x7E, 0xFC, 0xCC, 0xFC, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x18, 0x18, 0x30, 0x30, 0x3E, 0x7F, 0x63,
- 0x63, 0xC6, 0xC6, 0xFE, 0xFC, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x7E, 0x66,
- 0xC0, 0xC0, 0xCC, 0xFC, 0x78, 0x00, 0x00, 0x00,
- 0x00, 0x03, 0x03, 0x03, 0x06, 0x3E, 0x7E, 0x66,
- 0xC6, 0xCC, 0xCC, 0xFC, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x7E, 0x66,
- 0xFE, 0xFC, 0xC0, 0xFC, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x07, 0x0F, 0x0C, 0x18, 0x7E, 0x7E, 0x30,
- 0x30, 0x30, 0x60, 0x60, 0x60, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x7F, 0x63,
- 0x63, 0xC6, 0xC6, 0xFE, 0x7E, 0x0C, 0xFC, 0xF8,
- 0x00, 0x00, 0x30, 0x30, 0x30, 0x6E, 0x7F, 0x73,
- 0x63, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x06, 0x06, 0x00, 0x1C, 0x3C, 0x0C,
- 0x0C, 0x18, 0x18, 0x7C, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x03, 0x03, 0x00, 0x0E, 0x1E, 0x06,
- 0x06, 0x0C, 0x0C, 0x0C, 0x0C, 0x18, 0xF8, 0xF0,
- 0x00, 0x30, 0x30, 0x30, 0x33, 0x67, 0x6E, 0x7C,
- 0x7C, 0xDC, 0xCE, 0xC6, 0xC6, 0x00, 0x00, 0x00,
- 0x00, 0x0E, 0x0E, 0x06, 0x06, 0x0C, 0x0C, 0x0C,
- 0x0C, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0x7F, 0x7F,
- 0x6B, 0xD6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x6C, 0x7E, 0x76,
- 0x66, 0xCC, 0xCC, 0xCC, 0xCC, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x7E, 0x66,
- 0x66, 0xCC, 0xCC, 0xFC, 0x78, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x3F, 0x33,
- 0x63, 0x66, 0x66, 0xFE, 0xFC, 0xC0, 0xC0, 0xC0,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x7F, 0x63,
- 0x63, 0xC6, 0xC6, 0xFE, 0x7C, 0x0C, 0x0E, 0x0E,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x7F, 0x70,
- 0x60, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x7F, 0x60,
- 0x7C, 0x3E, 0x06, 0xFE, 0xFC, 0x00, 0x00, 0x00,
- 0x00, 0x06, 0x06, 0x0C, 0x0C, 0x3F, 0x3F, 0x18,
- 0x18, 0x30, 0x30, 0x3E, 0x1C, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x33, 0x66,
- 0x66, 0x66, 0xCC, 0xFE, 0x76, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x66, 0x66,
- 0xCC, 0xCC, 0xF8, 0x70, 0x20, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x63, 0x63, 0x63,
- 0x6B, 0xDE, 0xFE, 0xFE, 0x6C, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x63, 0x63, 0x77,
- 0x3E, 0x7C, 0xEE, 0xC6, 0xC6, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x63, 0x63, 0x63,
- 0x63, 0xC6, 0xC6, 0xFE, 0x7E, 0x0C, 0xFC, 0xF8,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x7F, 0x07,
- 0x1E, 0x78, 0xE0, 0xFE, 0xFE, 0x00, 0x00, 0x00,
- 0x00, 0x07, 0x0E, 0x0C, 0x0C, 0x18, 0x70, 0x70,
- 0x18, 0x18, 0x30, 0x38, 0x1C, 0x00, 0x00, 0x00,
- 0x06, 0x06, 0x06, 0x06, 0x0C, 0x0C, 0x0C, 0x0C,
- 0x18, 0x18, 0x18, 0x18, 0x30, 0x30, 0x30, 0x00,
- 0x00, 0x38, 0x1C, 0x0C, 0x18, 0x18, 0x0E, 0x0E,
- 0x18, 0x30, 0x30, 0x70, 0xE0, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x1D, 0x3F, 0x37, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77,
- 0x00, 0xEE, 0x28, 0x4C, 0x48, 0x48, 0x00, 0xFE,
- 0x00, 0x06, 0x0F, 0x1B, 0x18, 0x7E, 0x30, 0x7C,
- 0x60, 0x60, 0x6C, 0x3C, 0x30, 0x00, 0x00, 0x00,
- 0x00, 0x10, 0x38, 0x38, 0x6C, 0x54, 0xF6, 0xEE,
- 0x6C, 0x7C, 0x28, 0x38, 0x10, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x18, 0x18, 0x10, 0x20, 0x00,
- 0x00, 0x07, 0x0F, 0x0C, 0x18, 0x7E, 0x7E, 0x30,
- 0x30, 0x30, 0x60, 0x60, 0x60, 0xC0, 0x80, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x66, 0x66, 0x44, 0x88, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0xDB, 0xDB, 0x00, 0x00, 0x00,
- 0x00, 0x06, 0x06, 0x06, 0x1F, 0x3F, 0x0C, 0x0C,
- 0x0C, 0x18, 0x18, 0x18, 0x18, 0x30, 0x00, 0x00,
- 0x00, 0x06, 0x06, 0x06, 0x1F, 0x3F, 0x0C, 0x3F,
- 0x3F, 0x18, 0x18, 0x18, 0x18, 0x30, 0x00, 0x00,
- 0x00, 0x3E, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x61, 0x63, 0x06,
- 0x0C, 0x30, 0x60, 0xDB, 0x9B, 0x00, 0x00, 0x00,
- 0x63, 0x3E, 0x00, 0x1E, 0x3F, 0x33, 0x60, 0x7C,
- 0x3E, 0x06, 0xCE, 0xFC, 0x78, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x0E,
- 0x1C, 0x30, 0x38, 0x1C, 0x0C, 0x00, 0x00, 0x00,
- 0x00, 0x1F, 0x3F, 0x33, 0x33, 0x66, 0x67, 0x67,
- 0x66, 0xCC, 0xCC, 0xFF, 0x7F, 0x00, 0x00, 0x00,
- 0x00, 0x10, 0x38, 0x38, 0x6C, 0x54, 0xF6, 0xEE,
- 0x6C, 0x7C, 0x28, 0x38, 0x10, 0x00, 0x00, 0x00,
- 0x63, 0x3E, 0x00, 0x7F, 0x7F, 0x03, 0x07, 0x0E,
- 0x18, 0x70, 0xE0, 0xFE, 0xFE, 0x00, 0x00, 0x00,
- 0x00, 0x10, 0x38, 0x38, 0x6C, 0x54, 0xF6, 0xEE,
- 0x6C, 0x7C, 0x28, 0x38, 0x10, 0x00, 0x00, 0x00,
- 0x00, 0x10, 0x38, 0x38, 0x6C, 0x54, 0xF6, 0xEE,
- 0x6C, 0x7C, 0x28, 0x38, 0x10, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x04, 0x08, 0x10, 0x18, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x0C, 0x04, 0x08, 0x10, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x09, 0x12, 0x1B, 0x36, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x1B, 0x1B, 0x09, 0x12, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x3F,
- 0x3F, 0x7E, 0x7E, 0x3C, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x19, 0x26, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xFB, 0xFF, 0x55, 0xA2, 0xA2, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x63, 0x36, 0x1C, 0x00, 0x3F, 0x7F, 0x60,
- 0x7C, 0x3E, 0x06, 0xFE, 0xFC, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x1C,
- 0x0E, 0x0C, 0x1C, 0x38, 0x30, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x7F, 0x6D,
- 0x6F, 0xDE, 0xD8, 0xFE, 0x6E, 0x00, 0x00, 0x00,
- 0x00, 0x10, 0x38, 0x38, 0x6C, 0x54, 0xF6, 0xEE,
- 0x6C, 0x7C, 0x28, 0x38, 0x10, 0x00, 0x00, 0x00,
- 0x00, 0x63, 0x36, 0x1C, 0x00, 0x7F, 0x7F, 0x07,
- 0x1E, 0x78, 0xE0, 0xFE, 0xFE, 0x00, 0x00, 0x00,
- 0x00, 0x33, 0x00, 0x66, 0x66, 0x66, 0x3C, 0x3C,
- 0x18, 0x30, 0x30, 0x30, 0x60, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x0C, 0x00,
- 0x0C, 0x18, 0x18, 0x18, 0x18, 0x30, 0x30, 0x00,
- 0x00, 0x00, 0x00, 0x04, 0x04, 0x3E, 0x7F, 0x6B,
- 0x68, 0xD0, 0xD6, 0xFE, 0x7C, 0x20, 0x20, 0x00,
- 0x00, 0x0F, 0x1F, 0x19, 0x18, 0x30, 0x7C, 0x7C,
- 0x30, 0x60, 0xE6, 0xFE, 0xDC, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x19, 0x33, 0x1E, 0x3F,
- 0x33, 0x66, 0x7E, 0x3C, 0x66, 0xCC, 0x00, 0x00,
- 0x00, 0x00, 0x19, 0x19, 0x19, 0x1E, 0x0C, 0x3F,
- 0x0C, 0x7E, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x06, 0x06, 0x0C, 0x0C, 0x00,
- 0x00, 0x18, 0x18, 0x30, 0x30, 0x00, 0x00, 0x00,
- 0x00, 0x07, 0x0E, 0x18, 0x18, 0x3C, 0x7E, 0x66,
- 0x7E, 0x3C, 0x18, 0x18, 0x70, 0xE0, 0x00, 0x00,
- 0x00, 0x00, 0x33, 0x66, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x0E, 0x1F, 0x21, 0x21, 0x4D, 0x51, 0x51,
- 0x91, 0xA1, 0x9A, 0x82, 0x7C, 0x38, 0x00, 0x00,
- 0x00, 0x1C, 0x02, 0x1E, 0x22, 0x3C, 0x00, 0x7C,
- 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1B,
- 0x36, 0xD8, 0xD8, 0x6C, 0x36, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x1E, 0x3E, 0x06, 0x0C, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x0E, 0x1F, 0x21, 0x49, 0x55, 0x55, 0x59,
- 0x99, 0xA5, 0xA5, 0x82, 0x7E, 0x78, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x1E, 0x3F, 0x33, 0x3F, 0x3C, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x06, 0x06, 0x3F, 0x3F, 0x0C,
- 0x0C, 0x00, 0x7E, 0x7E, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x3C, 0x3E, 0x06, 0x3C, 0x78, 0x60,
- 0x7C, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x3C, 0x3E, 0x06, 0x18, 0x0C, 0x7C,
- 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x06, 0x0C, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x33,
- 0x33, 0x66, 0x66, 0x7E, 0x7C, 0xC0, 0xC0, 0x80,
- 0x00, 0x00, 0x00, 0x3F, 0x6F, 0xDB, 0xDB, 0x7B,
- 0x1B, 0x36, 0x36, 0x36, 0x36, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C,
- 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x18, 0x1C, 0x0C, 0x1C, 0x30, 0x00, 0x00,
- 0x00, 0x00, 0x18, 0x38, 0x18, 0x30, 0x30, 0x78,
- 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x0C, 0x1E, 0x22, 0x3C, 0x18, 0x00, 0x3C,
- 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6C,
- 0x36, 0x36, 0x36, 0x6C, 0xD8, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x10, 0x30, 0x10, 0x23, 0x76, 0x0C,
- 0x18, 0x64, 0xCC, 0x94, 0x3E, 0x08, 0x08, 0x00,
- 0x00, 0x00, 0x10, 0x30, 0x10, 0x23, 0x76, 0x0C,
- 0x18, 0x60, 0xDC, 0x82, 0x1C, 0x20, 0x3C, 0x00,
- 0x00, 0x00, 0x38, 0x04, 0x18, 0x0B, 0x76, 0x0C,
- 0x18, 0x64, 0xCC, 0x96, 0x3E, 0x08, 0x08, 0x00,
- 0x00, 0x00, 0x00, 0x06, 0x06, 0x00, 0x0C, 0x0C,
- 0x3C, 0x70, 0xC0, 0xC6, 0xC6, 0xFC, 0x78, 0x00,
- 0x00, 0x18, 0x0C, 0x00, 0x04, 0x1C, 0x36, 0x63,
- 0x7F, 0xFE, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00,
- 0x00, 0x03, 0x06, 0x00, 0x04, 0x1C, 0x36, 0x63,
- 0x7F, 0xFE, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00,
- 0x00, 0x0E, 0x1B, 0x11, 0x04, 0x1C, 0x36, 0x63,
- 0x7F, 0xFE, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00,
- 0x00, 0x1D, 0x37, 0x00, 0x04, 0x1C, 0x36, 0x63,
- 0x7F, 0xFE, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00,
- 0x00, 0x1B, 0x1B, 0x04, 0x0E, 0x36, 0x63, 0x7F,
- 0x7F, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00,
- 0x00, 0x0E, 0x11, 0x0E, 0x0E, 0x36, 0x63, 0x7F,
- 0x7F, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00,
- 0x00, 0x07, 0x0F, 0x1F, 0x3B, 0x66, 0x7F, 0x7F,
- 0x66, 0xCC, 0xCC, 0xCF, 0xCF, 0x00, 0x00, 0x00,
- 0x00, 0x1E, 0x3F, 0x33, 0x30, 0x60, 0x60, 0x60,
- 0x60, 0xC0, 0xC6, 0xFE, 0x7C, 0x1C, 0xCC, 0x78,
- 0x00, 0x0C, 0x06, 0x00, 0x3F, 0x7F, 0x60, 0x78,
- 0x78, 0xC0, 0xC0, 0xFE, 0xFE, 0x00, 0x00, 0x00,
- 0x00, 0x03, 0x06, 0x00, 0x3F, 0x7F, 0x60, 0x78,
- 0x78, 0xC0, 0xC0, 0xFE, 0xFE, 0x00, 0x00, 0x00,
- 0x00, 0x0E, 0x1B, 0x00, 0x3F, 0x7F, 0x60, 0x78,
- 0x78, 0xC0, 0xC0, 0xFE, 0xFE, 0x00, 0x00, 0x00,
- 0x1B, 0x1B, 0x00, 0x3F, 0x3F, 0x60, 0x60, 0x78,
- 0x78, 0xC0, 0xC0, 0xFE, 0xFE, 0x00, 0x00, 0x00,
- 0x00, 0x0C, 0x06, 0x00, 0x1F, 0x1F, 0x0C, 0x0C,
- 0x0C, 0x18, 0x18, 0x7C, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x03, 0x06, 0x00, 0x1F, 0x1F, 0x0C, 0x0C,
- 0x0C, 0x18, 0x18, 0x7C, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x06, 0x09, 0x1F, 0x1F, 0x0C, 0x0C, 0x0C,
- 0x0C, 0x18, 0x18, 0x7C, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x1B, 0x1B, 0x00, 0x1F, 0x1F, 0x0C, 0x0C,
- 0x0C, 0x18, 0x18, 0x7C, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x1E, 0x1F, 0x1B, 0x33, 0x33, 0x7B,
- 0x33, 0x66, 0x6E, 0x7C, 0x78, 0x00, 0x00, 0x00,
- 0x00, 0x1D, 0x37, 0x00, 0x31, 0x63, 0x73, 0x7B,
- 0x7F, 0xDE, 0xCE, 0xC6, 0xC6, 0x00, 0x00, 0x00,
- 0x00, 0x0C, 0x06, 0x00, 0x3E, 0x7F, 0x63, 0x63,
- 0x63, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x03, 0x06, 0x00, 0x3E, 0x7F, 0x63, 0x63,
- 0x63, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x0E, 0x1B, 0x00, 0x3E, 0x7F, 0x63, 0x63,
- 0x63, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x1D, 0x37, 0x00, 0x3E, 0x7F, 0x63, 0x63,
- 0x63, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x1B, 0x1B, 0x00, 0x3E, 0x7F, 0x63, 0x63,
- 0x63, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x63, 0x77, 0x3E,
- 0x1C, 0x38, 0x7C, 0xEE, 0xC6, 0x00, 0x00, 0x00,
- 0x00, 0x1D, 0x3E, 0x37, 0x6B, 0x6B, 0x6B, 0xD6,
- 0xD6, 0xD6, 0xEE, 0x7C, 0xB8, 0x00, 0x00, 0x00,
- 0x00, 0x0C, 0x06, 0x00, 0x33, 0x33, 0x63, 0x66,
- 0x66, 0xC6, 0xCE, 0xFC, 0x78, 0x00, 0x00, 0x00,
- 0x00, 0x03, 0x06, 0x00, 0x33, 0x33, 0x63, 0x66,
- 0x66, 0xC6, 0xCE, 0xFC, 0x78, 0x00, 0x00, 0x00,
- 0x00, 0x0E, 0x1B, 0x00, 0x33, 0x33, 0x63, 0x66,
- 0x66, 0xC6, 0xCE, 0xFC, 0x78, 0x00, 0x00, 0x00,
- 0x1B, 0x1B, 0x00, 0x33, 0x33, 0x63, 0x63, 0x63,
- 0x66, 0xC6, 0xCE, 0xFC, 0x78, 0x00, 0x00, 0x00,
- 0x00, 0x06, 0x0C, 0x00, 0x33, 0x33, 0x66, 0x6E,
- 0x7C, 0x38, 0x30, 0x60, 0x60, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x18, 0x18, 0x1F, 0x3F, 0x33, 0x33,
- 0x3F, 0x7C, 0x60, 0x60, 0x60, 0x00, 0x00, 0x00,
- 0x00, 0x0E, 0x1F, 0x1B, 0x1B, 0x33, 0x3F, 0x3E,
- 0x33, 0x66, 0x66, 0x7E, 0x7C, 0xC0, 0x80, 0x00,
- 0x00, 0x00, 0x0C, 0x06, 0x00, 0x3F, 0x7F, 0x63,
- 0x63, 0xCE, 0xCE, 0xFE, 0x76, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x06, 0x0C, 0x00, 0x3F, 0x7F, 0x63,
- 0x63, 0xC6, 0xCE, 0xFE, 0x76, 0x00, 0x00, 0x00,
- 0x00, 0x04, 0x0E, 0x1B, 0x00, 0x3F, 0x7F, 0x63,
- 0x63, 0xC6, 0xCE, 0xFE, 0x76, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x1D, 0x37, 0x00, 0x3F, 0x7F, 0x63,
- 0x63, 0xC6, 0xCE, 0xFE, 0x76, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x1B, 0x1B, 0x00, 0x3F, 0x7F, 0x63,
- 0x63, 0xC6, 0xCE, 0xFE, 0x76, 0x00, 0x00, 0x00,
- 0x00, 0x0E, 0x1B, 0x0E, 0x00, 0x3E, 0x7F, 0x63,
- 0x63, 0xC6, 0xCE, 0xFE, 0x76, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x3A, 0x3F, 0x0D,
- 0x1F, 0x7E, 0xD8, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x7F,
- 0x63, 0xC0, 0xC6, 0xFE, 0x7C, 0x30, 0xF8, 0xF0,
- 0x00, 0x00, 0x0C, 0x06, 0x00, 0x3E, 0x7F, 0x63,
- 0x7F, 0xFE, 0xC0, 0xFE, 0x7E, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x06, 0x0C, 0x00, 0x3E, 0x7F, 0x63,
- 0x7F, 0xFE, 0xC0, 0xFE, 0x7E, 0x00, 0x00, 0x00,
- 0x00, 0x04, 0x0E, 0x1B, 0x00, 0x3E, 0x7F, 0x63,
- 0x7F, 0xFE, 0xC0, 0xFE, 0x7E, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x1B, 0x1B, 0x00, 0x3E, 0x7F, 0x63,
- 0x7F, 0xFE, 0xC0, 0xFE, 0x7E, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x0C, 0x06, 0x00, 0x0C, 0x0C, 0x0C,
- 0x0C, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x03, 0x06, 0x00, 0x0C, 0x0C, 0x0C,
- 0x0C, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00,
- 0x00, 0x06, 0x0F, 0x19, 0x00, 0x0C, 0x0C, 0x0C,
- 0x0C, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x1B, 0x1B, 0x00, 0x0C, 0x0C, 0x0C,
- 0x0C, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00,
- 0x00, 0x1B, 0x1F, 0x3E, 0x37, 0x3E, 0x7F, 0x63,
- 0x63, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x1D, 0x3F, 0x37, 0x00, 0x7E, 0x7F, 0x63,
- 0x63, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x18, 0x0C, 0x00, 0x3E, 0x7F, 0x63,
- 0x63, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x06, 0x0C, 0x00, 0x3E, 0x7F, 0x63,
- 0x63, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x04, 0x0E, 0x1B, 0x00, 0x3E, 0x7F, 0x63,
- 0x63, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x1D, 0x3F, 0x37, 0x00, 0x3E, 0x7F, 0x63,
- 0x63, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x1B, 0x1B, 0x00, 0x3E, 0x7F, 0x63,
- 0x63, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x0C, 0x0C, 0x00, 0x3F,
- 0x7E, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x7F, 0x67,
- 0x6B, 0xD6, 0xE6, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x18, 0x0C, 0x00, 0x63, 0x63, 0x63,
- 0x63, 0xC6, 0xC6, 0xFE, 0x7E, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x06, 0x0C, 0x00, 0x63, 0x63, 0x63,
- 0x63, 0xC6, 0xC6, 0xFE, 0x7E, 0x00, 0x00, 0x00,
- 0x00, 0x04, 0x0E, 0x1B, 0x00, 0x63, 0x63, 0x63,
- 0x63, 0xC6, 0xC6, 0xFE, 0x7E, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x1B, 0x1B, 0x00, 0x63, 0x63, 0x63,
- 0x63, 0xC6, 0xC6, 0xFE, 0x7E, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x03, 0x06, 0x00, 0x63, 0x63, 0x63,
- 0x63, 0xC6, 0xC6, 0xFE, 0x7E, 0x0C, 0xF8, 0xF0,
- 0x00, 0x00, 0x18, 0x18, 0x18, 0x3E, 0x3F, 0x33,
- 0x33, 0x66, 0x66, 0x7E, 0x7C, 0xC0, 0xC0, 0xC0,
- 0x00, 0x00, 0x00, 0x1B, 0x00, 0x63, 0x63, 0x63,
- 0x63, 0xC6, 0xC6, 0xFE, 0x7E, 0x0C, 0xF8, 0xF0,
-};
-
-const struct fb_font_desc font_italic = {
- .name = "NetSurf Italic",
- .width = 8,
- .height = 16,
- .encoding = "CP1252",
- .data = fontdata_italic,
-};
-
-
-static const uint32_t fontdata_italic_bold[FONTDATAMAX] = {
- 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77,
- 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, 0x00, 0xFE,
- 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77,
- 0x00, 0xE4, 0xAC, 0xA4, 0xA4, 0xEE, 0x00, 0xFE,
- 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77,
- 0x00, 0xEC, 0xA2, 0xA4, 0xA8, 0xEE, 0x00, 0xFE,
- 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77,
- 0x00, 0xEC, 0xA2, 0xAC, 0xA2, 0xEC, 0x00, 0xFE,
- 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77,
- 0x00, 0xEA, 0xAA, 0xAE, 0xA2, 0xE2, 0x00, 0xFE,
- 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77,
- 0x00, 0xEE, 0xA8, 0xAE, 0xA2, 0xEE, 0x00, 0xFE,
- 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77,
- 0x00, 0xE6, 0xA8, 0xAE, 0xAA, 0xEE, 0x00, 0xFE,
- 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77,
- 0x00, 0xEE, 0xA2, 0xA4, 0xA4, 0xE4, 0x00, 0xFE,
- 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77,
- 0x00, 0xEE, 0xAA, 0xAE, 0xAA, 0xEE, 0x00, 0xFE,
- 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77,
- 0x00, 0xEE, 0xAA, 0xAE, 0xA2, 0xE2, 0x00, 0xFE,
- 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77,
- 0x00, 0xE4, 0xAA, 0xAE, 0xAA, 0xEA, 0x00, 0xFE,
- 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77,
- 0x00, 0xEC, 0xAA, 0xAC, 0xAA, 0xEC, 0x00, 0xFE,
- 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77,
- 0x00, 0xE4, 0xAA, 0xA8, 0xAA, 0xE4, 0x00, 0xFE,
- 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77,
- 0x00, 0xEC, 0xAA, 0xAA, 0xAA, 0xEC, 0x00, 0xFE,
- 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77,
- 0x00, 0xEE, 0xA8, 0xAC, 0xA8, 0xEE, 0x00, 0xFE,
- 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77,
- 0x00, 0xEE, 0xA8, 0xAC, 0xA8, 0xE8, 0x00, 0xFE,
- 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77,
- 0x00, 0x4E, 0xCA, 0x4A, 0x4A, 0xEE, 0x00, 0xFE,
- 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77,
- 0x00, 0x44, 0xCC, 0x44, 0x44, 0xEE, 0x00, 0xFE,
- 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77,
- 0x00, 0x4C, 0xC2, 0x44, 0x48, 0xEE, 0x00, 0xFE,
- 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77,
- 0x00, 0x4C, 0xC2, 0x4C, 0x42, 0xEC, 0x00, 0xFE,
- 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77,
- 0x00, 0x4A, 0xCA, 0x4E, 0x42, 0xE2, 0x00, 0xFE,
- 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77,
- 0x00, 0x4E, 0xC8, 0x4E, 0x42, 0xEE, 0x00, 0xFE,
- 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77,
- 0x00, 0x46, 0xC8, 0x4E, 0x4A, 0xEE, 0x00, 0xFE,
- 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77,
- 0x00, 0x4E, 0xC2, 0x44, 0x44, 0xE4, 0x00, 0xFE,
- 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77,
- 0x00, 0x4E, 0xCA, 0x4E, 0x4A, 0xEE, 0x00, 0xFE,
- 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77,
- 0x00, 0x4E, 0xCA, 0x4E, 0x42, 0xE2, 0x00, 0xFE,
- 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77,
- 0x00, 0x44, 0xCA, 0x4E, 0x4A, 0xEA, 0x00, 0xFE,
- 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77,
- 0x00, 0x4C, 0xCA, 0x4C, 0x4A, 0xEC, 0x00, 0xFE,
- 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77,
- 0x00, 0x44, 0xCA, 0x48, 0x4A, 0xE4, 0x00, 0xFE,
- 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77,
- 0x00, 0x4C, 0xCA, 0x4A, 0x4A, 0xEC, 0x00, 0xFE,
- 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77,
- 0x00, 0x4E, 0xC8, 0x4C, 0x48, 0xEE, 0x00, 0xFE,
- 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77,
- 0x00, 0x4E, 0xC8, 0x4C, 0x48, 0xE8, 0x00, 0xFE,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x0E, 0x0E, 0x0E, 0x0E, 0x1C, 0x1C, 0x1C,
- 0x1C, 0x00, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x77, 0x77, 0x77, 0x77, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x36, 0x36, 0x7F, 0x7F, 0x7F, 0x36, 0x6C,
- 0xFE, 0xFE, 0xFE, 0x6C, 0x6C, 0x00, 0x00, 0x00,
- 0x00, 0x08, 0x3E, 0x7F, 0x7B, 0x78, 0x7C, 0x7C,
- 0x3E, 0x1E, 0xDE, 0xFE, 0x7C, 0x10, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x70, 0x73, 0x77, 0x0E,
- 0x3C, 0x70, 0xEE, 0xCE, 0x0E, 0x00, 0x00, 0x00,
- 0x00, 0x1C, 0x3E, 0x7E, 0x7C, 0x7C, 0x3B, 0xFE,
- 0xFE, 0xEC, 0xEE, 0xFE, 0x74, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x1C, 0x1C, 0x1C, 0x1C, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x03, 0x06, 0x0E, 0x1C, 0x1C, 0x38, 0x38, 0x70,
- 0x70, 0x70, 0x38, 0x38, 0x1C, 0x0C, 0x06, 0x00,
- 0x60, 0x30, 0x38, 0x1C, 0x1C, 0x0E, 0x0E, 0x0E,
- 0x1C, 0x1C, 0x38, 0x38, 0x70, 0x60, 0xC0, 0x00,
- 0x00, 0x00, 0x00, 0x08, 0x2A, 0x7F, 0x3E, 0x18,
- 0x7C, 0xFE, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x1C, 0x7E,
- 0x7E, 0x38, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x38, 0x78, 0x70, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE,
- 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x38, 0x38, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0F, 0x3C,
- 0x78, 0xF0, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x1C, 0x3E, 0x77, 0x77, 0x77, 0x77, 0xEE,
- 0xEE, 0xEE, 0xEE, 0x7C, 0x38, 0x00, 0x00, 0x00,
- 0x00, 0x0C, 0x1C, 0x3C, 0x3C, 0x1C, 0x1C, 0x38,
- 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00,
- 0x00, 0x3E, 0x7F, 0x77, 0x07, 0x07, 0x3E, 0x7C,
- 0xE0, 0xE0, 0xE0, 0xFE, 0xFE, 0x00, 0x00, 0x00,
- 0x00, 0x3E, 0x7F, 0x77, 0x07, 0x07, 0x1E, 0x3C,
- 0x0E, 0x0E, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x02, 0x06, 0x0E, 0x1E, 0x3E, 0x76, 0xEC,
- 0xFE, 0xFE, 0x1C, 0x1C, 0x1C, 0x00, 0x00, 0x00,
- 0x00, 0x7F, 0x7F, 0x70, 0x70, 0x7C, 0x7E, 0x0E,
- 0x0E, 0x0E, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x3E, 0x7E, 0x70, 0x70, 0x7C, 0x7E, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x7F, 0x7F, 0x07, 0x07, 0x0E, 0x0E, 0x1C,
- 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00,
- 0x00, 0x3E, 0x7F, 0x77, 0x77, 0x7F, 0x3E, 0x7E,
- 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x3E, 0x7F, 0x77, 0x77, 0x77, 0x7F, 0x3E,
- 0x0E, 0x0E, 0x0E, 0x7C, 0x78, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x1C, 0x00,
- 0x00, 0x00, 0x38, 0x38, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x1C, 0x00,
- 0x00, 0x18, 0x38, 0x38, 0x30, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x03, 0x07, 0x0E, 0x1C, 0x70,
- 0x70, 0x38, 0x1C, 0x0E, 0x06, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x7F, 0x00,
- 0x00, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x30, 0x38, 0x1C, 0x0E, 0x0E,
- 0x0E, 0x1C, 0x38, 0x70, 0x60, 0x00, 0x00, 0x00,
- 0x00, 0x3E, 0x7F, 0x77, 0x07, 0x07, 0x1E, 0x7C,
- 0x70, 0x00, 0x70, 0x70, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x3E, 0x7F, 0x77, 0x77, 0x77, 0x7F, 0xFE,
- 0xEC, 0xE0, 0xE0, 0xFC, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x3E, 0x7F, 0x77, 0x77, 0x77, 0x76, 0xFE,
- 0xFE, 0xEE, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00,
- 0x00, 0x7E, 0x7F, 0x77, 0x77, 0x77, 0x7E, 0xFC,
- 0xEE, 0xEE, 0xEE, 0xFE, 0xFC, 0x00, 0x00, 0x00,
- 0x00, 0x3E, 0x7F, 0x77, 0x77, 0x70, 0x70, 0xE0,
- 0xE0, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x7C, 0x7E, 0x77, 0x77, 0x77, 0x76, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xFC, 0xF8, 0x00, 0x00, 0x00,
- 0x00, 0x7F, 0x7F, 0x70, 0x70, 0x70, 0x7C, 0xF8,
- 0xE0, 0xE0, 0xE0, 0xFE, 0xFE, 0x00, 0x00, 0x00,
- 0x00, 0x7F, 0x7F, 0x70, 0x70, 0x70, 0x7C, 0xF8,
- 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0x00, 0x00, 0x00,
- 0x00, 0x3E, 0x7F, 0x77, 0x77, 0x70, 0x70, 0xFE,
- 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x77, 0x77, 0x77, 0x77, 0x77, 0x7E, 0xFE,
- 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00,
- 0x00, 0x7F, 0x7F, 0x1C, 0x1C, 0x1C, 0x1C, 0x38,
- 0x38, 0x38, 0x38, 0xFE, 0xFE, 0x00, 0x00, 0x00,
- 0x00, 0x07, 0x07, 0x07, 0x07, 0x07, 0x06, 0x0E,
- 0x0E, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x70, 0x70, 0x72, 0x77, 0x7F, 0x7E, 0xF8,
- 0xF8, 0xFC, 0xFE, 0xEE, 0xE6, 0x00, 0x00, 0x00,
- 0x00, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0xE0,
- 0xE0, 0xE0, 0xE0, 0xFE, 0xFE, 0x00, 0x00, 0x00,
- 0x00, 0x63, 0x77, 0x7F, 0x7F, 0x7F, 0x7E, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00,
- 0x00, 0x67, 0x77, 0x77, 0x7F, 0x7F, 0x7E, 0xFE,
- 0xFE, 0xFE, 0xEE, 0xEE, 0xE6, 0x00, 0x00, 0x00,
- 0x00, 0x3E, 0x7F, 0x77, 0x77, 0x77, 0x76, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x7E, 0x7F, 0x77, 0x77, 0x77, 0x77, 0xFE,
- 0xFC, 0xE0, 0xE0, 0xE0, 0xE0, 0x00, 0x00, 0x00,
- 0x00, 0x3E, 0x7F, 0x77, 0x77, 0x77, 0x76, 0xEE,
- 0xEE, 0xFE, 0xFE, 0xFE, 0x7E, 0x06, 0x00, 0x00,
- 0x00, 0x7E, 0x7F, 0x77, 0x77, 0x77, 0x7E, 0xFC,
- 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00,
- 0x00, 0x3E, 0x7F, 0x77, 0x70, 0x70, 0x7C, 0x3E,
- 0x0E, 0x0E, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x7F, 0x7F, 0x1C, 0x1C, 0x1C, 0x1C, 0x38,
- 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00,
- 0x00, 0x77, 0x77, 0x77, 0x77, 0x77, 0x76, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x77, 0x77, 0x77, 0x77, 0x77, 0x76, 0xEE,
- 0x6C, 0x7C, 0x38, 0x38, 0x10, 0x00, 0x00, 0x00,
- 0x00, 0x77, 0x77, 0x77, 0x77, 0x77, 0x76, 0xEE,
- 0xFE, 0xFE, 0xFE, 0xEE, 0x44, 0x00, 0x00, 0x00,
- 0x00, 0x77, 0x77, 0x77, 0x77, 0x3E, 0x1C, 0x38,
- 0x7C, 0xEE, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00,
- 0x00, 0x77, 0x77, 0x77, 0x77, 0x77, 0x3E, 0x38,
- 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00,
- 0x00, 0x7F, 0x7F, 0x07, 0x07, 0x0E, 0x1C, 0x38,
- 0x70, 0xE0, 0xE0, 0xFE, 0xFE, 0x00, 0x00, 0x00,
- 0x00, 0x1F, 0x1F, 0x1C, 0x1C, 0x1C, 0x1C, 0x38,
- 0x38, 0x38, 0x38, 0x3E, 0x3E, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x20, 0x70, 0x78, 0x38,
- 0x1C, 0x1E, 0x0E, 0x04, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x7E, 0x7E, 0x0E, 0x0E, 0x0E, 0x0E, 0x1C,
- 0x1C, 0x1C, 0x1C, 0xFC, 0xFC, 0x00, 0x00, 0x00,
- 0x00, 0x08, 0x1C, 0x3E, 0x77, 0x63, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00,
- 0x00, 0x00, 0x00, 0x18, 0x1C, 0x0C, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x3E, 0x0E,
- 0x3E, 0x7E, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x38, 0x38, 0x38, 0x70, 0x7C, 0x7E, 0x6E,
- 0xEE, 0xEE, 0xEE, 0xFC, 0xF8, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x7E, 0xEE,
- 0xE0, 0xE0, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x07, 0x07, 0x07, 0x07, 0x3F, 0x7E, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x7E, 0xEE,
- 0xFE, 0xFC, 0xE0, 0xFC, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x1F, 0x3F, 0x38, 0x38, 0x70, 0x7C, 0x7C,
- 0x70, 0xE0, 0xE0, 0xE0, 0xE0, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x7E, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x1C, 0xFC, 0xF8,
- 0x00, 0x00, 0x70, 0x70, 0x70, 0x7C, 0x7E, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x0E, 0x0E, 0x00, 0x1E, 0x3E, 0x1C,
- 0x1C, 0x38, 0x38, 0x7C, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x0E, 0x0E, 0x00, 0x1E, 0x3E, 0x0E,
- 0x1C, 0x1C, 0x1C, 0x1C, 0x38, 0x38, 0xF8, 0xF0,
- 0x00, 0x38, 0x38, 0x38, 0x3A, 0x7F, 0x7E, 0x7C,
- 0x70, 0xF8, 0xFC, 0xEE, 0xEE, 0x00, 0x00, 0x00,
- 0x00, 0x3C, 0x3C, 0x1C, 0x1C, 0x38, 0x38, 0x38,
- 0x38, 0x70, 0x70, 0x70, 0x70, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0x7E, 0xFE,
- 0xFE, 0xEE, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x7E, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x7E, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xFC, 0x78, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x7E, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xFC, 0xF8, 0xE0, 0xE0, 0xE0,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x7E, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xFC, 0x7C, 0x1C, 0x1E, 0x1E,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0x7E, 0x70,
- 0x70, 0xE0, 0xE0, 0xE0, 0xE0, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x3E, 0x70,
- 0x7C, 0x3E, 0x0E, 0x7C, 0xF8, 0x00, 0x00, 0x00,
- 0x00, 0x38, 0x38, 0x38, 0x70, 0x7C, 0x7C, 0x70,
- 0xE0, 0xE0, 0xE0, 0xFC, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x76, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xFE, 0x7E, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x76, 0xEE,
- 0xEE, 0xEE, 0x7C, 0x38, 0x10, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x76, 0xEE,
- 0xFE, 0xFE, 0xFE, 0xEE, 0x44, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x76, 0x7E,
- 0x38, 0x7C, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x76, 0xEE,
- 0xEE, 0xEE, 0xFE, 0x7E, 0x1C, 0x1C, 0xFC, 0xF8,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x7E, 0x1E,
- 0x3C, 0x78, 0xF0, 0xFE, 0xFE, 0x00, 0x00, 0x00,
- 0x00, 0x0F, 0x1F, 0x1C, 0x1C, 0x1C, 0x78, 0xF0,
- 0x38, 0x38, 0x38, 0x3E, 0x1E, 0x00, 0x00, 0x00,
- 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x38,
- 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x00,
- 0x00, 0x78, 0x7C, 0x1C, 0x1C, 0x1C, 0x0F, 0x1E,
- 0x38, 0x38, 0x38, 0xF8, 0xF0, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x33, 0x7F, 0x7F, 0x66, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77,
- 0x00, 0xEE, 0x28, 0x4C, 0x48, 0x48, 0x00, 0xFE,
- 0x00, 0x06, 0x1F, 0x3B, 0x70, 0xFE, 0x70, 0xF8,
- 0xE0, 0xE0, 0xEE, 0xFC, 0x70, 0x00, 0x00, 0x00,
- 0x00, 0x10, 0x38, 0x38, 0x6C, 0x54, 0xF6, 0xEE,
- 0x6C, 0x7C, 0x28, 0x38, 0x10, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x38, 0x38, 0x30, 0x60, 0x00,
- 0x00, 0x1F, 0x3F, 0x38, 0x38, 0x70, 0x7C, 0x7C,
- 0x70, 0xE0, 0xE0, 0xE0, 0xE0, 0xC0, 0xC0, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0xEE, 0xEE, 0xCC, 0x98, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xDB, 0xDB, 0xDB, 0x00, 0x00, 0x00,
- 0x00, 0x1C, 0x1C, 0x1C, 0x1C, 0x7F, 0x7F, 0x38,
- 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00,
- 0x00, 0x1C, 0x1C, 0x1C, 0x7F, 0x7F, 0x1C, 0xFE,
- 0xFE, 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00,
- 0x00, 0x3E, 0x77, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x63, 0x67, 0x1C,
- 0x38, 0x70, 0xE0, 0xDB, 0x1B, 0x00, 0x00, 0x00,
- 0x77, 0x3E, 0x00, 0x3E, 0x7F, 0x77, 0x70, 0x7C,
- 0x3E, 0x0E, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x1C,
- 0x38, 0x70, 0x38, 0x1C, 0x0E, 0x06, 0x00, 0x00,
- 0x00, 0x3F, 0x7F, 0x77, 0x77, 0x77, 0x77, 0xEF,
- 0xEE, 0xEE, 0xEE, 0xFF, 0x7F, 0x00, 0x00, 0x00,
- 0x00, 0x10, 0x38, 0x38, 0x6C, 0x54, 0xF6, 0xEE,
- 0x6C, 0x7C, 0x28, 0x38, 0x10, 0x00, 0x00, 0x00,
- 0x77, 0x3E, 0x00, 0x7F, 0x7F, 0x07, 0x0E, 0x1C,
- 0x38, 0x70, 0xE0, 0xFE, 0xFE, 0x00, 0x00, 0x00,
- 0x00, 0x10, 0x38, 0x38, 0x6C, 0x54, 0xF6, 0xEE,
- 0x6C, 0x7C, 0x28, 0x38, 0x10, 0x00, 0x00, 0x00,
- 0x00, 0x10, 0x38, 0x38, 0x6C, 0x54, 0xF6, 0xEE,
- 0x6C, 0x7C, 0x28, 0x38, 0x10, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x0C, 0x18, 0x18, 0x18, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x18, 0x18, 0x18, 0x30, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x1B, 0x36, 0x36, 0x36, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x1B, 0x1B, 0x1B, 0x36, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x7E,
- 0x7E, 0x7E, 0x7E, 0x3C, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x3C, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0xFE, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x3B, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x79, 0x7F, 0x2F, 0x29, 0x29, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x77, 0x3E, 0x1C, 0x00, 0x1F, 0x3E, 0x70,
- 0x7C, 0x3E, 0x0E, 0x7C, 0xF8, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x38, 0x38,
- 0x1C, 0x0E, 0x1C, 0x38, 0x70, 0x60, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x7F, 0xFA,
- 0xDE, 0xDE, 0xFC, 0xFE, 0x6E, 0x00, 0x00, 0x00,
- 0x00, 0x10, 0x38, 0x38, 0x6C, 0x54, 0xF6, 0xEE,
- 0x6C, 0x7C, 0x28, 0x38, 0x10, 0x00, 0x00, 0x00,
- 0x00, 0x77, 0x3E, 0x1C, 0x00, 0x7F, 0x7E, 0x1E,
- 0x3C, 0x78, 0xF0, 0xFE, 0xFE, 0x00, 0x00, 0x00,
- 0x00, 0x3B, 0x00, 0x77, 0x77, 0x77, 0x77, 0x3E,
- 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x1C, 0x00,
- 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x00,
- 0x00, 0x00, 0x00, 0x08, 0x08, 0x3E, 0x7F, 0xD6,
- 0xD0, 0xD0, 0xD6, 0xFE, 0x7C, 0x10, 0x10, 0x00,
- 0x00, 0x1E, 0x3F, 0x3B, 0x38, 0x7E, 0x7E, 0xFC,
- 0x70, 0x76, 0xFE, 0xFE, 0xDC, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x77, 0x77, 0x3E, 0xFE,
- 0xFE, 0xFE, 0xFE, 0x7C, 0xEE, 0xEE, 0x00, 0x00,
- 0x00, 0x00, 0x77, 0x77, 0x77, 0x3E, 0x1C, 0xFE,
- 0x38, 0xFE, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x1C, 0x1C, 0x1C, 0x1C, 0x00,
- 0x00, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00,
- 0x00, 0x1E, 0x3E, 0x3E, 0x38, 0x1E, 0x3F, 0x66,
- 0x7E, 0x3C, 0x0E, 0x3E, 0x3E, 0x3C, 0x00, 0x00,
- 0x00, 0x77, 0x77, 0x77, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x1E, 0x3F, 0x61, 0x4D, 0x5D, 0x51, 0xA1,
- 0xA5, 0xBD, 0x99, 0xC3, 0x7E, 0x3C, 0x00, 0x00,
- 0x00, 0x3C, 0x06, 0x3E, 0x66, 0x3E, 0x00, 0xFC,
- 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E,
- 0x7C, 0xF8, 0xF8, 0x7C, 0x3E, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x03, 0x01, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x7E, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x1E, 0x3F, 0x61, 0x59, 0x5D, 0x55, 0xB9,
- 0xB9, 0xA5, 0xA5, 0xC3, 0x7E, 0x3C, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x7F, 0x7F, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x3C, 0x7E, 0x66, 0x7E, 0x3C, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x1C, 0x1C, 0x7F, 0x7F, 0x7F, 0x38,
- 0x38, 0x00, 0xFE, 0xFE, 0xFE, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x78, 0x7C, 0x0C, 0x3C, 0x78, 0xC0,
- 0xF8, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x78, 0x7C, 0x0C, 0x18, 0x0C, 0xF8,
- 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x1C, 0x38, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xFE, 0xFC, 0xE0, 0xE0, 0xC0,
- 0x00, 0x00, 0x00, 0x3F, 0x6D, 0x6D, 0x6D, 0x7A,
- 0x36, 0x36, 0x36, 0x36, 0x36, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x38,
- 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x18, 0x1C, 0x0C, 0x1C, 0x18, 0x00, 0x00,
- 0x00, 0x00, 0x30, 0x70, 0x30, 0x30, 0x30, 0xF0,
- 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x38, 0x7C, 0x44, 0x7C, 0x38, 0x00, 0xF8,
- 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD8,
- 0x6C, 0x36, 0x36, 0x6C, 0xD8, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x30, 0x70, 0x31, 0x33, 0x7F, 0x1C,
- 0x38, 0x76, 0xEE, 0xD6, 0x3E, 0x3E, 0x06, 0x00,
- 0x00, 0x00, 0x30, 0x70, 0x31, 0x33, 0x7F, 0x1C,
- 0x38, 0x70, 0xFC, 0xC6, 0x0C, 0x18, 0x1E, 0x00,
- 0x00, 0x00, 0x70, 0x18, 0x31, 0x1B, 0x77, 0x1C,
- 0x3A, 0x76, 0xEE, 0xD6, 0x3E, 0x3E, 0x06, 0x00,
- 0x00, 0x00, 0x0E, 0x0E, 0x0E, 0x00, 0x0E, 0x1C,
- 0x7C, 0xF8, 0xE0, 0xEE, 0xEE, 0xFE, 0x7C, 0x00,
- 0x00, 0x70, 0x38, 0x00, 0x08, 0x1C, 0x3E, 0xEE,
- 0xFE, 0xFE, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00,
- 0x00, 0x07, 0x0E, 0x00, 0x08, 0x1C, 0x3E, 0xEE,
- 0xFE, 0xFE, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00,
- 0x00, 0x1C, 0x36, 0x63, 0x08, 0x1C, 0x3E, 0xEE,
- 0xFE, 0xFE, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00,
- 0x00, 0x3B, 0x6E, 0x00, 0x08, 0x1C, 0x3E, 0xEE,
- 0xFE, 0xFE, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00,
- 0x00, 0x77, 0x77, 0x08, 0x1C, 0x3E, 0x76, 0xFE,
- 0xFE, 0xEE, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00,
- 0x00, 0x1C, 0x36, 0x1C, 0x1C, 0x3E, 0x76, 0xFE,
- 0xFE, 0xEE, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00,
- 0x00, 0x0F, 0x1F, 0x3F, 0x7F, 0x77, 0x7F, 0xFF,
- 0xFE, 0xEE, 0xEF, 0xEF, 0xEF, 0x00, 0x00, 0x00,
- 0x00, 0x3E, 0x7F, 0x77, 0x70, 0x70, 0x70, 0xE0,
- 0xE0, 0xE0, 0xEE, 0xFE, 0x7C, 0x0E, 0x6E, 0x7C,
- 0x00, 0x38, 0x1C, 0x00, 0x7F, 0x7F, 0x70, 0xE0,
- 0xF8, 0xE0, 0xE0, 0xFE, 0xFE, 0x00, 0x00, 0x00,
- 0x00, 0x0E, 0x1C, 0x00, 0x7F, 0x7F, 0x70, 0xE0,
- 0xF8, 0xE0, 0xE0, 0xFE, 0xFE, 0x00, 0x00, 0x00,
- 0x00, 0x3E, 0x77, 0x00, 0x7F, 0x7F, 0x70, 0xE0,
- 0xF8, 0xE0, 0xE0, 0xFE, 0xFE, 0x00, 0x00, 0x00,
- 0x77, 0x77, 0x00, 0x7F, 0x7F, 0x70, 0x70, 0xF8,
- 0xF8, 0xE0, 0xE0, 0xFE, 0xFE, 0x00, 0x00, 0x00,
- 0x00, 0x38, 0x1C, 0x00, 0x1C, 0x1C, 0x1C, 0x38,
- 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00,
- 0x00, 0x0E, 0x1C, 0x00, 0x1C, 0x1C, 0x1C, 0x38,
- 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00,
- 0x00, 0x1C, 0x36, 0x1C, 0x1C, 0x1C, 0x1C, 0x38,
- 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00,
- 0x00, 0x77, 0x77, 0x00, 0x1C, 0x1C, 0x1C, 0x38,
- 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x7C, 0x7E, 0x77, 0x77, 0x76, 0xFE,
- 0xEE, 0xEE, 0xEE, 0xFC, 0xF8, 0x00, 0x00, 0x00,
- 0x00, 0x3B, 0x6E, 0x00, 0x77, 0x77, 0x76, 0xF6,
- 0xFE, 0xDE, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00,
- 0x00, 0x38, 0x1C, 0x00, 0x3E, 0x7F, 0x76, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x0E, 0x1C, 0x00, 0x3E, 0x7F, 0x76, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x3E, 0x77, 0x00, 0x3E, 0x7F, 0x76, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x3B, 0x6E, 0x00, 0x3E, 0x7F, 0x76, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x77, 0x77, 0x00, 0x3E, 0x7F, 0x77, 0x76, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x63, 0x76, 0x7C,
- 0x38, 0x38, 0x7C, 0xEE, 0xC6, 0x00, 0x00, 0x00,
- 0x00, 0x3D, 0x7E, 0x77, 0x77, 0x77, 0x7E, 0xFE,
- 0xFE, 0xEE, 0xEE, 0xFE, 0x7C, 0x80, 0x00, 0x00,
- 0x00, 0x38, 0x1C, 0x00, 0x77, 0x77, 0x76, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x0E, 0x1C, 0x00, 0x77, 0x77, 0x76, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x3E, 0x77, 0x00, 0x77, 0x77, 0x76, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x77, 0x77, 0x00, 0x77, 0x77, 0x77, 0x76, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x0E, 0x1C, 0x00, 0x77, 0x77, 0x76, 0xEE,
- 0x7C, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x70, 0x70, 0x7E, 0x7F, 0x76, 0xEE,
- 0xEE, 0xFE, 0xFC, 0xE0, 0xE0, 0x00, 0x00, 0x00,
- 0x00, 0x3E, 0x7F, 0x77, 0x77, 0x77, 0x7E, 0xFC,
- 0xEE, 0xEE, 0xEE, 0xFE, 0xFC, 0xE0, 0xC0, 0x00,
- 0x00, 0x00, 0x70, 0x38, 0x00, 0x3C, 0x3E, 0x0E,
- 0x3E, 0x7E, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x1C, 0x38, 0x00, 0x3C, 0x3E, 0x0E,
- 0x3E, 0x7E, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x38, 0x7C, 0xEE, 0x00, 0x3C, 0x3E, 0x0E,
- 0x3E, 0x7E, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x76, 0xDC, 0x00, 0x3C, 0x3E, 0x0E,
- 0x3E, 0x7E, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xEE, 0xEE, 0x00, 0x3C, 0x3E, 0x0E,
- 0x3E, 0x7E, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x38, 0x6C, 0x38, 0x00, 0x3C, 0x3E, 0x0E,
- 0x3E, 0x7E, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x3A, 0x3F, 0x3F, 0x1A,
- 0x7E, 0xFE, 0xD8, 0xFE, 0x7E, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0xFE,
- 0xEE, 0xE0, 0xEE, 0xFE, 0x7C, 0x1C, 0x7E, 0x7C,
- 0x00, 0x00, 0x38, 0x1C, 0x00, 0x3E, 0x7F, 0xEE,
- 0xFE, 0xFE, 0xE0, 0xFE, 0x7E, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x1C, 0x38, 0x00, 0x3E, 0x7F, 0xEE,
- 0xFE, 0xFE, 0xE0, 0xFE, 0x7E, 0x00, 0x00, 0x00,
- 0x00, 0x1C, 0x3E, 0x77, 0x00, 0x3E, 0x7F, 0xEE,
- 0xFE, 0xFE, 0xE0, 0xFE, 0x7E, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x77, 0x77, 0x00, 0x3E, 0x7F, 0xEE,
- 0xFE, 0xFE, 0xE0, 0xFE, 0x7E, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x38, 0x1C, 0x00, 0x1C, 0x1C, 0x38,
- 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x0E, 0x1C, 0x00, 0x1C, 0x1C, 0x38,
- 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00,
- 0x00, 0x1C, 0x3E, 0x77, 0x00, 0x1C, 0x1C, 0x38,
- 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x77, 0x77, 0x00, 0x1C, 0x1C, 0x38,
- 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00,
- 0x00, 0x76, 0x3E, 0x7C, 0x7E, 0x3F, 0x7E, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x3B, 0x7F, 0x6E, 0x00, 0x7E, 0x7F, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x70, 0x38, 0x00, 0x3C, 0x7E, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xFC, 0x78, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x1C, 0x38, 0x00, 0x3C, 0x7E, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xFC, 0x78, 0x00, 0x00, 0x00,
- 0x00, 0x1C, 0x3E, 0x77, 0x00, 0x3C, 0x7E, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xFC, 0x78, 0x00, 0x00, 0x00,
- 0x00, 0x3B, 0x7F, 0x6E, 0x00, 0x3C, 0x7E, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xFC, 0x78, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x77, 0x77, 0x00, 0x3C, 0x7E, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xFC, 0x78, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x1C, 0x1C, 0x00, 0xFE,
- 0xFE, 0x00, 0x38, 0x38, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x01, 0x3E, 0x7E, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x70, 0x38, 0x00, 0x77, 0x76, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xFE, 0x7E, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x1C, 0x38, 0x00, 0x77, 0x76, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xFE, 0x7E, 0x00, 0x00, 0x00,
- 0x00, 0x1C, 0x3E, 0x77, 0x00, 0x77, 0x76, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xFE, 0x7E, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x77, 0x77, 0x00, 0x77, 0x76, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xFE, 0x7E, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x0E, 0x1C, 0x00, 0x77, 0x76, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xFE, 0x7E, 0x0E, 0xFE, 0xFC,
- 0x00, 0x00, 0x70, 0x70, 0x7E, 0x7F, 0x76, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xEE, 0xFE, 0xFC, 0xE0, 0xE0,
- 0x00, 0x00, 0x77, 0x77, 0x00, 0x77, 0x76, 0xEE,
- 0xEE, 0xEE, 0xEE, 0xFE, 0x7E, 0x0E, 0xFE, 0xFC,
-};
-
-const struct fb_font_desc font_italic_bold = {
- .name = "NetSurf Italic Bold",
- .width = 8,
- .height = 16,
- .encoding = "CP1252",
- .data = fontdata_italic_bold,
-};
-
-
-static const uint32_t fontdata_regular[FONTDATAMAX] = {
- 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE,
- 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, 0x00, 0xFE,
- 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE,
- 0x00, 0xE4, 0xAC, 0xA4, 0xA4, 0xEE, 0x00, 0xFE,
- 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE,
- 0x00, 0xEC, 0xA2, 0xA4, 0xA8, 0xEE, 0x00, 0xFE,
- 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE,
- 0x00, 0xEC, 0xA2, 0xAC, 0xA2, 0xEC, 0x00, 0xFE,
- 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE,
- 0x00, 0xEA, 0xAA, 0xAE, 0xA2, 0xE2, 0x00, 0xFE,
- 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE,
- 0x00, 0xEE, 0xA8, 0xAE, 0xA2, 0xEE, 0x00, 0xFE,
- 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE,
- 0x00, 0xE6, 0xA8, 0xAE, 0xAA, 0xEE, 0x00, 0xFE,
- 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE,
- 0x00, 0xEE, 0xA2, 0xA4, 0xA4, 0xE4, 0x00, 0xFE,
- 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE,
- 0x00, 0xEE, 0xAA, 0xAE, 0xAA, 0xEE, 0x00, 0xFE,
- 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE,
- 0x00, 0xEE, 0xAA, 0xAE, 0xA2, 0xE2, 0x00, 0xFE,
- 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE,
- 0x00, 0xE4, 0xAA, 0xAE, 0xAA, 0xEA, 0x00, 0xFE,
- 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE,
- 0x00, 0xEC, 0xAA, 0xAC, 0xAA, 0xEC, 0x00, 0xFE,
- 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE,
- 0x00, 0xE4, 0xAA, 0xA8, 0xAA, 0xE4, 0x00, 0xFE,
- 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE,
- 0x00, 0xEC, 0xAA, 0xAA, 0xAA, 0xEC, 0x00, 0xFE,
- 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE,
- 0x00, 0xEE, 0xA8, 0xAC, 0xA8, 0xEE, 0x00, 0xFE,
- 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE,
- 0x00, 0xEE, 0xA8, 0xAC, 0xA8, 0xE8, 0x00, 0xFE,
- 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE,
- 0x00, 0x4E, 0xCA, 0x4A, 0x4A, 0xEE, 0x00, 0xFE,
- 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE,
- 0x00, 0x44, 0xCC, 0x44, 0x44, 0xEE, 0x00, 0xFE,
- 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE,
- 0x00, 0x4C, 0xC2, 0x44, 0x48, 0xEE, 0x00, 0xFE,
- 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE,
- 0x00, 0x4C, 0xC2, 0x4C, 0x42, 0xEC, 0x00, 0xFE,
- 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE,
- 0x00, 0x4A, 0xCA, 0x4E, 0x42, 0xE2, 0x00, 0xFE,
- 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE,
- 0x00, 0x4E, 0xC8, 0x4E, 0x42, 0xEE, 0x00, 0xFE,
- 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE,
- 0x00, 0x46, 0xC8, 0x4E, 0x4A, 0xEE, 0x00, 0xFE,
- 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE,
- 0x00, 0x4E, 0xC2, 0x44, 0x44, 0xE4, 0x00, 0xFE,
- 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE,
- 0x00, 0x4E, 0xCA, 0x4E, 0x4A, 0xEE, 0x00, 0xFE,
- 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE,
- 0x00, 0x4E, 0xCA, 0x4E, 0x42, 0xE2, 0x00, 0xFE,
- 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE,
- 0x00, 0x44, 0xCA, 0x4E, 0x4A, 0xEA, 0x00, 0xFE,
- 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE,
- 0x00, 0x4C, 0xCA, 0x4C, 0x4A, 0xEC, 0x00, 0xFE,
- 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE,
- 0x00, 0x44, 0xCA, 0x48, 0x4A, 0xE4, 0x00, 0xFE,
- 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE,
- 0x00, 0x4C, 0xCA, 0x4A, 0x4A, 0xEC, 0x00, 0xFE,
- 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE,
- 0x00, 0x4E, 0xC8, 0x4C, 0x48, 0xEE, 0x00, 0xFE,
- 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE,
- 0x00, 0x4E, 0xC8, 0x4C, 0x48, 0xE8, 0x00, 0xFE,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
- 0x18, 0x18, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x6C, 0x6C, 0x6C, 0x6C, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x6C, 0x6C, 0x6C, 0xFE, 0xFE, 0x6C, 0x6C,
- 0xFE, 0xFE, 0x6C, 0x6C, 0x6C, 0x00, 0x00, 0x00,
- 0x00, 0x10, 0x7C, 0xFE, 0xD6, 0xD0, 0xF0, 0x7C,
- 0x1E, 0x16, 0xD6, 0xFE, 0x7C, 0x10, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xCE, 0x1C,
- 0x38, 0x70, 0xE6, 0xC6, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x70, 0xF8, 0xD8, 0xD8, 0xF8, 0x72, 0xFE,
- 0xDE, 0xCC, 0xCC, 0xFE, 0x7A, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x06, 0x0E, 0x1C, 0x18, 0x38, 0x30, 0x30, 0x30,
- 0x30, 0x38, 0x18, 0x1C, 0x0E, 0x06, 0x00, 0x00,
- 0x60, 0x70, 0x38, 0x18, 0x1C, 0x0C, 0x0C, 0x0C,
- 0x0C, 0x1C, 0x18, 0x38, 0x70, 0x60, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x6C, 0x6C, 0x38, 0xFE,
- 0xFE, 0x38, 0x6C, 0x6C, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x7E, 0x7E,
- 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x18, 0x38, 0x30, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x7E,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x0E, 0x1C,
- 0x38, 0x70, 0xE0, 0xC0, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x7C, 0xFE, 0xC6, 0xCE, 0xCE, 0xD6, 0xD6,
- 0xE6, 0xE6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x18, 0x38, 0x78, 0x78, 0x18, 0x18, 0x18,
- 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00,
- 0x00, 0x7C, 0xFE, 0xC6, 0x06, 0x06, 0x3E, 0x7C,
- 0xE0, 0xC0, 0xC0, 0xFE, 0xFE, 0x00, 0x00, 0x00,
- 0x00, 0x7C, 0xFE, 0xC6, 0x06, 0x06, 0x3C, 0x3C,
- 0x06, 0x06, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x04, 0x0C, 0x1C, 0x3C, 0x7C, 0xEC, 0xFE,
- 0xFE, 0x0C, 0x0C, 0x0C, 0x0C, 0x00, 0x00, 0x00,
- 0x00, 0xFE, 0xFE, 0xC0, 0xC0, 0xC0, 0xFC, 0xFE,
- 0x06, 0x06, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x3C, 0x7C, 0xE0, 0xC0, 0xC0, 0xFC, 0xFE,
- 0xC6, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0xFE, 0xFE, 0xC6, 0x0E, 0x0C, 0x1C, 0x18,
- 0x38, 0x30, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00,
- 0x00, 0x7C, 0xFE, 0xC6, 0xC6, 0xC6, 0x7C, 0x7C,
- 0xC6, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x7C, 0xFE, 0xC6, 0xC6, 0xC6, 0xFE, 0x7E,
- 0x06, 0x06, 0x0E, 0x7C, 0x78, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00,
- 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00,
- 0x00, 0x18, 0x18, 0x38, 0x30, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x06, 0x0E, 0x1C, 0x38, 0x70, 0x70,
- 0x38, 0x1C, 0x0E, 0x06, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x7E, 0x7E, 0x00, 0x00,
- 0x7E, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x60, 0x70, 0x38, 0x1C, 0x0E, 0x0E,
- 0x1C, 0x38, 0x70, 0x60, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x7C, 0xFE, 0xC6, 0xC6, 0x06, 0x1E, 0x3C,
- 0x30, 0x30, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00,
- 0x00, 0x7C, 0xFE, 0xC6, 0xCE, 0xDE, 0xD6, 0xD6,
- 0xDE, 0xCC, 0xC0, 0xFC, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x7C, 0xFE, 0xC6, 0xC6, 0xC6, 0xFE, 0xFE,
- 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00,
- 0x00, 0xFC, 0xFE, 0xC6, 0xC6, 0xC6, 0xFC, 0xFC,
- 0xC6, 0xC6, 0xC6, 0xFE, 0xFC, 0x00, 0x00, 0x00,
- 0x00, 0x7C, 0xFE, 0xC6, 0xC0, 0xC0, 0xC0, 0xC0,
- 0xC0, 0xC0, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0xF8, 0xFC, 0xCE, 0xC6, 0xC6, 0xC6, 0xC6,
- 0xC6, 0xC6, 0xCE, 0xFC, 0xF8, 0x00, 0x00, 0x00,
- 0x00, 0xFE, 0xFE, 0xC0, 0xC0, 0xC0, 0xF8, 0xF8,
- 0xC0, 0xC0, 0xC0, 0xFE, 0xFE, 0x00, 0x00, 0x00,
- 0x00, 0xFE, 0xFE, 0xC0, 0xC0, 0xC0, 0xF8, 0xF8,
- 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x00,
- 0x00, 0x7C, 0xFE, 0xC6, 0xC0, 0xC0, 0xDE, 0xDE,
- 0xC6, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xFE, 0xFE,
- 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00,
- 0x00, 0x7E, 0x7E, 0x18, 0x18, 0x18, 0x18, 0x18,
- 0x18, 0x18, 0x18, 0x7E, 0x7E, 0x00, 0x00, 0x00,
- 0x00, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C,
- 0x0C, 0x0C, 0xCC, 0xFC, 0x78, 0x00, 0x00, 0x00,
- 0x00, 0xC0, 0xC6, 0xCE, 0xDC, 0xF8, 0xF0, 0xE0,
- 0xF0, 0xF8, 0xDC, 0xCE, 0xC6, 0x00, 0x00, 0x00,
- 0x00, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0,
- 0xC0, 0xC0, 0xC0, 0xFE, 0xFE, 0x00, 0x00, 0x00,
- 0x00, 0xC6, 0xC6, 0xEE, 0xFE, 0xFE, 0xFE, 0xD6,
- 0xD6, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00,
- 0x00, 0xC6, 0xC6, 0xE6, 0xE6, 0xF6, 0xF6, 0xDE,
- 0xDE, 0xCE, 0xCE, 0xC6, 0xC6, 0x00, 0x00, 0x00,
- 0x00, 0x7C, 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6,
- 0xC6, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0xFC, 0xFE, 0xC6, 0xC6, 0xC6, 0xFE, 0xFC,
- 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x00,
- 0x00, 0x7C, 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6,
- 0xC6, 0xD6, 0xDE, 0xFE, 0x7C, 0x06, 0x00, 0x00,
- 0x00, 0xFC, 0xFE, 0xC6, 0xC6, 0xC6, 0xFC, 0xFC,
- 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00,
- 0x00, 0x7C, 0xFE, 0xC6, 0xC0, 0xC0, 0xFC, 0x7E,
- 0x06, 0x06, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x7E, 0x7E, 0x18, 0x18, 0x18, 0x18, 0x18,
- 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00,
- 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6,
- 0xC6, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xEE,
- 0x6C, 0x7C, 0x38, 0x38, 0x10, 0x00, 0x00, 0x00,
- 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xD6,
- 0xD6, 0xFE, 0xFE, 0xEE, 0x44, 0x00, 0x00, 0x00,
- 0x00, 0xC6, 0xC6, 0xC6, 0xEE, 0x7C, 0x38, 0x38,
- 0x7C, 0xEE, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00,
- 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xEE, 0x7C, 0x38,
- 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00,
- 0x00, 0xFE, 0xFE, 0x0E, 0x0C, 0x1C, 0x18, 0x38,
- 0x30, 0x70, 0x60, 0xFE, 0xFE, 0x00, 0x00, 0x00,
- 0x00, 0x3E, 0x3E, 0x30, 0x30, 0x30, 0x30, 0x30,
- 0x30, 0x30, 0x30, 0x3E, 0x3E, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xE0, 0x70,
- 0x38, 0x1C, 0x0E, 0x06, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x7C, 0x7C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C,
- 0x0C, 0x0C, 0x0C, 0x7C, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x10, 0x38, 0x7C, 0xEE, 0xC6, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00,
- 0x00, 0x00, 0x30, 0x30, 0x18, 0x08, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x7E, 0x06,
- 0x7E, 0xFE, 0xC6, 0xFE, 0x7E, 0x00, 0x00, 0x00,
- 0x00, 0xC0, 0xC0, 0xC0, 0xC0, 0xFC, 0xFE, 0xC6,
- 0xC6, 0xC6, 0xC6, 0xFE, 0xFC, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xFE, 0xC6,
- 0xC0, 0xC0, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x06, 0x06, 0x06, 0x06, 0x7E, 0xFE, 0xC6,
- 0xC6, 0xC6, 0xC6, 0xFE, 0x7E, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xFE, 0xC6,
- 0xFE, 0xFE, 0xC0, 0xFE, 0x7E, 0x00, 0x00, 0x00,
- 0x00, 0x1E, 0x3E, 0x30, 0x30, 0x30, 0x78, 0x78,
- 0x30, 0x30, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0xFE, 0xC6,
- 0xC6, 0xC6, 0xC6, 0xFE, 0x7E, 0x06, 0x7E, 0x7C,
- 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0xDC, 0xFE, 0xE6,
- 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x18, 0x18, 0x00, 0x38, 0x38, 0x18,
- 0x18, 0x18, 0x18, 0x3C, 0x3C, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x0C, 0x0C, 0x00, 0x1C, 0x1C, 0x0C,
- 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x7C, 0x78,
- 0x00, 0xC0, 0xC0, 0xC0, 0xC0, 0xC6, 0xCE, 0xDC,
- 0xF8, 0xF8, 0xDC, 0xCE, 0xC6, 0x00, 0x00, 0x00,
- 0x00, 0x38, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18,
- 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0xEC, 0xFE, 0xFE,
- 0xD6, 0xD6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0xDC, 0xFE, 0xE6,
- 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xFE, 0xC6,
- 0xC6, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xFE, 0xC6,
- 0xC6, 0xC6, 0xC6, 0xFE, 0xFC, 0xC0, 0xC0, 0xC0,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0xFE, 0xC6,
- 0xC6, 0xC6, 0xC6, 0xFE, 0x7E, 0x06, 0x07, 0x07,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0xDE, 0xFE, 0xE0,
- 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0xFE, 0xC0,
- 0xFC, 0x7C, 0x06, 0xFE, 0xFC, 0x00, 0x00, 0x00,
- 0x00, 0x10, 0x30, 0x30, 0x30, 0x7C, 0xFC, 0x30,
- 0x30, 0x30, 0x30, 0x3E, 0x1E, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xC6, 0xC6,
- 0xC6, 0xC6, 0xCE, 0xFE, 0x76, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xC6, 0xC6,
- 0xC6, 0xEE, 0x7C, 0x38, 0x10, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xC6, 0xC6,
- 0xD6, 0xD6, 0xFE, 0xFE, 0x6C, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xC6, 0xEE,
- 0x7C, 0x7C, 0xEE, 0xC6, 0xC6, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xC6, 0xC6,
- 0xC6, 0xC6, 0xC6, 0xFE, 0x7E, 0x06, 0xFE, 0xFC,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFE, 0x0E,
- 0x3C, 0x78, 0xE0, 0xFE, 0xFE, 0x00, 0x00, 0x00,
- 0x00, 0x0E, 0x1E, 0x18, 0x18, 0x18, 0x70, 0x70,
- 0x18, 0x18, 0x18, 0x1E, 0x0E, 0x00, 0x00, 0x00,
- 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
- 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00,
- 0x00, 0x70, 0x78, 0x18, 0x18, 0x18, 0x0E, 0x0E,
- 0x18, 0x18, 0x18, 0x78, 0x70, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x76, 0xFE, 0xDC, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE,
- 0x00, 0xEE, 0x28, 0x4C, 0x48, 0x48, 0x00, 0xFE,
- 0x00, 0x18, 0x3C, 0x66, 0x60, 0xFC, 0x60, 0xF8,
- 0x60, 0x60, 0x66, 0x3C, 0x18, 0x00, 0x00, 0x00,
- 0x00, 0x10, 0x38, 0x38, 0x6C, 0x54, 0xF6, 0xEE,
- 0x6C, 0x7C, 0x28, 0x38, 0x10, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x18, 0x18, 0x08, 0x10, 0x00,
- 0x00, 0x1E, 0x3E, 0x30, 0x30, 0x30, 0x78, 0x78,
- 0x30, 0x30, 0x30, 0x30, 0x30, 0xF0, 0x60, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x66, 0x66, 0x22, 0x44, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0xDB, 0xDB, 0x00, 0x00, 0x00,
- 0x00, 0x18, 0x18, 0x18, 0x7E, 0x7E, 0x18, 0x18,
- 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00,
- 0x00, 0x18, 0x18, 0x18, 0x7E, 0x7E, 0x18, 0x7E,
- 0x7E, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00,
- 0x00, 0x7C, 0xC6, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0xC2, 0xC6, 0x0C,
- 0x18, 0x30, 0x60, 0xDB, 0x9B, 0x00, 0x00, 0x00,
- 0xC6, 0x7C, 0x00, 0x7C, 0xFE, 0xC6, 0xC0, 0xFC,
- 0x7E, 0x06, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x1C,
- 0x38, 0x30, 0x38, 0x1C, 0x0C, 0x00, 0x00, 0x00,
- 0x00, 0x7F, 0xFF, 0xCC, 0xCC, 0xCC, 0xCF, 0xCF,
- 0xCC, 0xCC, 0xCC, 0xFF, 0x7F, 0x00, 0x00, 0x00,
- 0x00, 0x10, 0x38, 0x38, 0x6C, 0x54, 0xF6, 0xEE,
- 0x6C, 0x7C, 0x28, 0x38, 0x10, 0x00, 0x00, 0x00,
- 0xC6, 0x7C, 0x00, 0xFE, 0xFE, 0x06, 0x0C, 0x18,
- 0x30, 0x60, 0xC0, 0xFE, 0xFE, 0x00, 0x00, 0x00,
- 0x00, 0x10, 0x38, 0x38, 0x6C, 0x54, 0xF6, 0xEE,
- 0x6C, 0x7C, 0x28, 0x38, 0x10, 0x00, 0x00, 0x00,
- 0x00, 0x10, 0x38, 0x38, 0x6C, 0x54, 0xF6, 0xEE,
- 0x6C, 0x7C, 0x28, 0x38, 0x10, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x10, 0x20, 0x30, 0x30, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x30, 0x30, 0x10, 0x20, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x24, 0x48, 0x6C, 0x6C, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x36, 0x36, 0x12, 0x24, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x7E,
- 0x7E, 0x7E, 0x7E, 0x3C, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x32, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xF1, 0xFB, 0x5F, 0x55, 0x51, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0xC6, 0x6C, 0x38, 0x00, 0x7E, 0xFE, 0xC0,
- 0xFC, 0x7C, 0x06, 0xFE, 0xFC, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x38,
- 0x1C, 0x0C, 0x1C, 0x38, 0x30, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xFE, 0xDA,
- 0xDE, 0xDE, 0xD8, 0xFE, 0x6E, 0x00, 0x00, 0x00,
- 0x00, 0x10, 0x38, 0x38, 0x6C, 0x54, 0xF6, 0xEE,
- 0x6C, 0x7C, 0x28, 0x38, 0x10, 0x00, 0x00, 0x00,
- 0x00, 0xC6, 0x6C, 0x38, 0x00, 0xFE, 0xFE, 0x0E,
- 0x3C, 0x78, 0xE0, 0xFE, 0xFE, 0x00, 0x00, 0x00,
- 0x00, 0x6C, 0x00, 0xC6, 0xC6, 0xC6, 0xEE, 0x7C,
- 0x38, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00,
- 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00,
- 0x00, 0x00, 0x00, 0x10, 0x10, 0x7C, 0xFE, 0xD6,
- 0xD0, 0xD0, 0xD6, 0xFE, 0x7C, 0x10, 0x10, 0x00,
- 0x00, 0x3C, 0x7E, 0x66, 0x60, 0x60, 0xF8, 0xF8,
- 0x60, 0x60, 0xE6, 0xFE, 0xDC, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x66, 0x66, 0x3C, 0x7E,
- 0x66, 0x66, 0x7E, 0x3C, 0x66, 0x66, 0x00, 0x00,
- 0x00, 0x00, 0x66, 0x66, 0x66, 0x3C, 0x18, 0x7E,
- 0x18, 0x7E, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x18, 0x00,
- 0x00, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00,
- 0x00, 0x3C, 0x7C, 0x60, 0x60, 0x3C, 0x7E, 0x66,
- 0x7E, 0x3C, 0x06, 0x06, 0x3E, 0x3C, 0x00, 0x00,
- 0x00, 0x00, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x3C, 0x7E, 0xC3, 0x99, 0xBD, 0xA5, 0xA1,
- 0xA5, 0xBD, 0x99, 0xC3, 0x7E, 0x3C, 0x00, 0x00,
- 0x00, 0x70, 0x08, 0x78, 0x88, 0x78, 0x00, 0xF8,
- 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x36,
- 0x6C, 0xD8, 0xD8, 0x6C, 0x36, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x7E, 0x7E, 0x06, 0x02, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x3C, 0x7E, 0xC3, 0xB9, 0xBD, 0xA5, 0xB9,
- 0xB9, 0xA5, 0xA5, 0xC3, 0x7E, 0x3C, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x78, 0xFC, 0xCC, 0xFC, 0x78, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x18, 0x18, 0x7E, 0x7E, 0x18,
- 0x18, 0x00, 0x7E, 0x7E, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xF0, 0xF8, 0x18, 0x78, 0xF0, 0xC0,
- 0xF8, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xF0, 0xF8, 0x18, 0x30, 0x18, 0xF8,
- 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x18, 0x30, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x66,
- 0x66, 0x66, 0x66, 0x7E, 0x7C, 0x60, 0x60, 0xC0,
- 0x00, 0x00, 0x00, 0x7F, 0xDB, 0xDB, 0xDB, 0x7B,
- 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18,
- 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x18, 0x1C, 0x0C, 0x1C, 0x18, 0x00, 0x00,
- 0x00, 0x00, 0x60, 0xE0, 0x60, 0x60, 0x60, 0xF0,
- 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x70, 0xF8, 0x88, 0xF8, 0x70, 0x00, 0xF8,
- 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD8,
- 0x6C, 0x36, 0x36, 0x6C, 0xD8, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x40, 0xC0, 0x42, 0x46, 0xEC, 0x18,
- 0x30, 0x64, 0xCC, 0x94, 0x3E, 0x04, 0x04, 0x00,
- 0x00, 0x00, 0x40, 0xC0, 0x42, 0x46, 0xEC, 0x18,
- 0x30, 0x60, 0xDC, 0x82, 0x0C, 0x10, 0x1E, 0x00,
- 0x00, 0x00, 0xE0, 0x10, 0x62, 0x16, 0xEC, 0x18,
- 0x30, 0x64, 0xCC, 0x96, 0x3E, 0x04, 0x04, 0x00,
- 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x18, 0x18,
- 0x78, 0xF0, 0xC0, 0xC6, 0xC6, 0xFE, 0x7C, 0x00,
- 0x00, 0x60, 0x30, 0x00, 0x10, 0x38, 0x6C, 0xC6,
- 0xFE, 0xFE, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00,
- 0x00, 0x0C, 0x18, 0x00, 0x10, 0x38, 0x6C, 0xC6,
- 0xFE, 0xFE, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00,
- 0x00, 0x38, 0x6C, 0x44, 0x10, 0x38, 0x6C, 0xC6,
- 0xFE, 0xFE, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00,
- 0x00, 0x76, 0xDC, 0x00, 0x10, 0x38, 0x6C, 0xC6,
- 0xFE, 0xFE, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00,
- 0x6C, 0x6C, 0x00, 0x10, 0x38, 0x6C, 0xC6, 0xFE,
- 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00,
- 0x00, 0x38, 0x44, 0x38, 0x38, 0x6C, 0xC6, 0xFE,
- 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00,
- 0x00, 0x1F, 0x3F, 0x7C, 0xEC, 0xCC, 0xFE, 0xFE,
- 0xCC, 0xCC, 0xCC, 0xCF, 0xCF, 0x00, 0x00, 0x00,
- 0x00, 0x7C, 0xFE, 0xC6, 0xC0, 0xC0, 0xC0, 0xC0,
- 0xC0, 0xC0, 0xC6, 0xFE, 0x7C, 0x0E, 0x66, 0x3C,
- 0x00, 0x30, 0x18, 0x00, 0xFE, 0xFE, 0xC0, 0xF0,
- 0xF0, 0xC0, 0xC0, 0xFE, 0xFE, 0x00, 0x00, 0x00,
- 0x00, 0x0C, 0x18, 0x00, 0xFE, 0xFE, 0xC0, 0xF0,
- 0xF0, 0xC0, 0xC0, 0xFE, 0xFE, 0x00, 0x00, 0x00,
- 0x00, 0x38, 0x6C, 0x00, 0xFE, 0xFE, 0xC0, 0xF0,
- 0xF0, 0xC0, 0xC0, 0xFE, 0xFE, 0x00, 0x00, 0x00,
- 0x6C, 0x6C, 0x00, 0xFE, 0xFE, 0xC0, 0xC0, 0xF0,
- 0xF0, 0xC0, 0xC0, 0xFE, 0xFE, 0x00, 0x00, 0x00,
- 0x00, 0x30, 0x18, 0x00, 0x18, 0x18, 0x18, 0x18,
- 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00,
- 0x00, 0x0C, 0x18, 0x00, 0x18, 0x18, 0x18, 0x18,
- 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00,
- 0x00, 0x18, 0x24, 0x18, 0x18, 0x18, 0x18, 0x18,
- 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00,
- 0x00, 0x66, 0x66, 0x00, 0x18, 0x18, 0x18, 0x18,
- 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x78, 0x7C, 0x6E, 0x66, 0x66, 0xF6,
- 0x66, 0x66, 0x6E, 0x7C, 0x78, 0x00, 0x00, 0x00,
- 0x00, 0x76, 0xDC, 0x00, 0xC6, 0xC6, 0xE6, 0xF6,
- 0xFE, 0xDE, 0xCE, 0xC6, 0xC6, 0x00, 0x00, 0x00,
- 0x00, 0x30, 0x18, 0x00, 0x7C, 0xFE, 0xC6, 0xC6,
- 0xC6, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x0C, 0x18, 0x00, 0x7C, 0xFE, 0xC6, 0xC6,
- 0xC6, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x38, 0x6C, 0x00, 0x7C, 0xFE, 0xC6, 0xC6,
- 0xC6, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x76, 0xDC, 0x00, 0x7C, 0xFE, 0xC6, 0xC6,
- 0xC6, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x6C, 0x00, 0x7C, 0xFE, 0xC6, 0xC6, 0xC6,
- 0xC6, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xEE, 0x7C,
- 0x38, 0x38, 0x7C, 0xEE, 0xC6, 0x00, 0x00, 0x00,
- 0x00, 0x7E, 0xFE, 0xC6, 0xC6, 0xCE, 0xCE, 0xD6,
- 0xD6, 0xE6, 0xE6, 0xFE, 0x7C, 0x80, 0x00, 0x00,
- 0x00, 0x30, 0x18, 0x00, 0xC6, 0xC6, 0xC6, 0xC6,
- 0xC6, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x0C, 0x18, 0x00, 0xC6, 0xC6, 0xC6, 0xC6,
- 0xC6, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x38, 0x6C, 0x00, 0xC6, 0xC6, 0xC6, 0xC6,
- 0xC6, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x6C, 0x6C, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6,
- 0xC6, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x0C, 0x18, 0x00, 0x66, 0x66, 0x66, 0x7E,
- 0x3C, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x60, 0x60, 0x7C, 0x7E, 0x66, 0x66,
- 0x7E, 0x7C, 0x60, 0x60, 0x60, 0x00, 0x00, 0x00,
- 0x00, 0x3C, 0x7E, 0x66, 0x66, 0x66, 0x7E, 0x7C,
- 0x66, 0x66, 0x66, 0x7E, 0x7C, 0xE0, 0xC0, 0x00,
- 0x00, 0x00, 0x30, 0x18, 0x00, 0x7E, 0xFE, 0xC6,
- 0xC6, 0xCE, 0xCE, 0xFE, 0x76, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x18, 0x30, 0x00, 0x7E, 0xFE, 0xC6,
- 0xC6, 0xC6, 0xCE, 0xFE, 0x76, 0x00, 0x00, 0x00,
- 0x00, 0x10, 0x38, 0x6C, 0x00, 0x7E, 0xFE, 0xC6,
- 0xC6, 0xC6, 0xCE, 0xFE, 0x76, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x76, 0xDC, 0x00, 0x7E, 0xFE, 0xC6,
- 0xC6, 0xC6, 0xCE, 0xFE, 0x76, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x6C, 0x6C, 0x00, 0x7E, 0xFE, 0xC6,
- 0xC6, 0xC6, 0xCE, 0xFE, 0x76, 0x00, 0x00, 0x00,
- 0x00, 0x38, 0x6C, 0x38, 0x00, 0x7E, 0xFE, 0xC6,
- 0xC6, 0xC6, 0xCE, 0xFE, 0x76, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0x7E, 0x1A,
- 0x3E, 0x7E, 0xD8, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xFE,
- 0xC6, 0xC0, 0xC6, 0xFE, 0x7C, 0x18, 0x7C, 0x78,
- 0x00, 0x00, 0x30, 0x18, 0x00, 0x7C, 0xFE, 0xC6,
- 0xFE, 0xFE, 0xC0, 0xFE, 0x7E, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x18, 0x30, 0x00, 0x7C, 0xFE, 0xC6,
- 0xFE, 0xFE, 0xC0, 0xFE, 0x7E, 0x00, 0x00, 0x00,
- 0x00, 0x10, 0x38, 0x6C, 0x00, 0x7C, 0xFE, 0xC6,
- 0xFE, 0xFE, 0xC0, 0xFE, 0x7E, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x6C, 0x6C, 0x00, 0x7C, 0xFE, 0xC6,
- 0xFE, 0xFE, 0xC0, 0xFE, 0x7E, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x30, 0x18, 0x00, 0x18, 0x18, 0x18,
- 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x0C, 0x18, 0x00, 0x18, 0x18, 0x18,
- 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00,
- 0x00, 0x18, 0x3C, 0x66, 0x00, 0x18, 0x18, 0x18,
- 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x66, 0x66, 0x00, 0x18, 0x18, 0x18,
- 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00,
- 0x00, 0x6C, 0x7C, 0xF8, 0xDC, 0x7C, 0xFE, 0xC6,
- 0xC6, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x76, 0xFE, 0xDC, 0x00, 0xFC, 0xFE, 0xC6,
- 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x60, 0x30, 0x00, 0x7C, 0xFE, 0xC6,
- 0xC6, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x18, 0x30, 0x00, 0x7C, 0xFE, 0xC6,
- 0xC6, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x10, 0x38, 0x6C, 0x00, 0x7C, 0xFE, 0xC6,
- 0xC6, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x76, 0xFE, 0xDC, 0x00, 0x7C, 0xFE, 0xC6,
- 0xC6, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x6C, 0x6C, 0x00, 0x7C, 0xFE, 0xC6,
- 0xC6, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x7E,
- 0x7E, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x02, 0x7C, 0xFE, 0xCE,
- 0xD6, 0xD6, 0xE6, 0xFE, 0x7C, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x60, 0x30, 0x00, 0xC6, 0xC6, 0xC6,
- 0xC6, 0xC6, 0xC6, 0xFE, 0x7E, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x18, 0x30, 0x00, 0xC6, 0xC6, 0xC6,
- 0xC6, 0xC6, 0xC6, 0xFE, 0x7E, 0x00, 0x00, 0x00,
- 0x00, 0x10, 0x38, 0x6C, 0x00, 0xC6, 0xC6, 0xC6,
- 0xC6, 0xC6, 0xC6, 0xFE, 0x7E, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x6C, 0x6C, 0x00, 0xC6, 0xC6, 0xC6,
- 0xC6, 0xC6, 0xC6, 0xFE, 0x7E, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x0C, 0x18, 0x00, 0xC6, 0xC6, 0xC6,
- 0xC6, 0xC6, 0xC6, 0xFE, 0x7E, 0x06, 0xFC, 0xF8,
- 0x00, 0x00, 0x60, 0x60, 0x60, 0x7C, 0x7E, 0x66,
- 0x66, 0x66, 0x66, 0x7E, 0x7C, 0x60, 0x60, 0x60,
- 0x00, 0x00, 0x6C, 0x6C, 0x00, 0xC6, 0xC6, 0xC6,
- 0xC6, 0xC6, 0xC6, 0xFE, 0x7E, 0x06, 0xFE, 0xFC,
-};
-
-const struct fb_font_desc font_regular = {
- .name = "NetSurf Regular",
- .width = 8,
- .height = 16,
- .encoding = "CP1252",
- .data = fontdata_regular,
-};
+#endif + } + + free(buffer); + return( 1 ); +} + +/* ------------------*/ +/* Fontdata */ +/* ------------------*/ + +static const uint32_t fontdata_bold[FONTDATAMAX] = { + 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, + 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, 0x00, 0xFE, + 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, + 0x00, 0xE4, 0xAC, 0xA4, 0xA4, 0xEE, 0x00, 0xFE, + 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, + 0x00, 0xEC, 0xA2, 0xA4, 0xA8, 0xEE, 0x00, 0xFE, + 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, + 0x00, 0xEC, 0xA2, 0xAC, 0xA2, 0xEC, 0x00, 0xFE, + 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, + 0x00, 0xEA, 0xAA, 0xAE, 0xA2, 0xE2, 0x00, 0xFE, + 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, + 0x00, 0xEE, 0xA8, 0xAE, 0xA2, 0xEE, 0x00, 0xFE, + 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, + 0x00, 0xE6, 0xA8, 0xAE, 0xAA, 0xEE, 0x00, 0xFE, + 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, + 0x00, 0xEE, 0xA2, 0xA4, 0xA4, 0xE4, 0x00, 0xFE, + 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, + 0x00, 0xEE, 0xAA, 0xAE, 0xAA, 0xEE, 0x00, 0xFE, + 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, + 0x00, 0xEE, 0xAA, 0xAE, 0xA2, 0xE2, 0x00, 0xFE, + 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, + 0x00, 0xE4, 0xAA, 0xAE, 0xAA, 0xEA, 0x00, 0xFE, + 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, + 0x00, 0xEC, 0xAA, 0xAC, 0xAA, 0xEC, 0x00, 0xFE, + 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, + 0x00, 0xE4, 0xAA, 0xA8, 0xAA, 0xE4, 0x00, 0xFE, + 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, + 0x00, 0xEC, 0xAA, 0xAA, 0xAA, 0xEC, 0x00, 0xFE, + 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, + 0x00, 0xEE, 0xA8, 0xAC, 0xA8, 0xEE, 0x00, 0xFE, + 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, + 0x00, 0xEE, 0xA8, 0xAC, 0xA8, 0xE8, 0x00, 0xFE, + 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, + 0x00, 0x4E, 0xCA, 0x4A, 0x4A, 0xEE, 0x00, 0xFE, + 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, + 0x00, 0x44, 0xCC, 0x44, 0x44, 0xEE, 0x00, 0xFE, + 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, + 0x00, 0x4C, 0xC2, 0x44, 0x48, 0xEE, 0x00, 0xFE, + 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, + 0x00, 0x4C, 0xC2, 0x4C, 0x42, 0xEC, 0x00, 0xFE, + 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, + 0x00, 0x4A, 0xCA, 0x4E, 0x42, 0xE2, 0x00, 0xFE, + 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, + 0x00, 0x4E, 0xC8, 0x4E, 0x42, 0xEE, 0x00, 0xFE, + 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, + 0x00, 0x46, 0xC8, 0x4E, 0x4A, 0xEE, 0x00, 0xFE, + 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, + 0x00, 0x4E, 0xC2, 0x44, 0x44, 0xE4, 0x00, 0xFE, + 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, + 0x00, 0x4E, 0xCA, 0x4E, 0x4A, 0xEE, 0x00, 0xFE, + 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, + 0x00, 0x4E, 0xCA, 0x4E, 0x42, 0xE2, 0x00, 0xFE, + 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, + 0x00, 0x44, 0xCA, 0x4E, 0x4A, 0xEA, 0x00, 0xFE, + 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, + 0x00, 0x4C, 0xCA, 0x4C, 0x4A, 0xEC, 0x00, 0xFE, + 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, + 0x00, 0x44, 0xCA, 0x48, 0x4A, 0xE4, 0x00, 0xFE, + 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, + 0x00, 0x4C, 0xCA, 0x4A, 0x4A, 0xEC, 0x00, 0xFE, + 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, + 0x00, 0x4E, 0xC8, 0x4C, 0x48, 0xEE, 0x00, 0xFE, + 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, + 0x00, 0x4E, 0xC8, 0x4C, 0x48, 0xE8, 0x00, 0xFE, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, + 0x1C, 0x00, 0x1C, 0x1C, 0x1C, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xEE, 0xEE, 0xEE, 0xEE, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x6C, 0x6C, 0xFE, 0xFE, 0xFE, 0x6C, 0x6C, + 0xFE, 0xFE, 0xFE, 0x6C, 0x6C, 0x00, 0x00, 0x00, + 0x00, 0x10, 0x7C, 0xFE, 0xF6, 0xF0, 0xF8, 0x7C, + 0x3E, 0x1E, 0xDE, 0xFE, 0x7C, 0x10, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xE0, 0xE6, 0xEE, 0x1C, + 0x38, 0x70, 0xEE, 0xCE, 0x0E, 0x00, 0x00, 0x00, + 0x00, 0x70, 0xF8, 0xF8, 0xF8, 0xF8, 0x76, 0xFE, + 0xFE, 0xEC, 0xEE, 0xFE, 0x76, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x06, 0x0C, 0x1C, 0x38, 0x38, 0x70, 0x70, 0x70, + 0x70, 0x70, 0x38, 0x38, 0x1C, 0x0C, 0x06, 0x00, + 0x60, 0x30, 0x38, 0x1C, 0x1C, 0x0E, 0x0E, 0x0E, + 0x0E, 0x0E, 0x1C, 0x1C, 0x38, 0x30, 0x60, 0x00, + 0x00, 0x00, 0x00, 0x10, 0x54, 0xFE, 0x7C, 0x38, + 0x7C, 0xFE, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x38, 0xFE, + 0xFE, 0x38, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x38, 0x78, 0x70, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, + 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x38, 0x38, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x1E, 0x3C, + 0x78, 0xF0, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x38, 0x7C, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, + 0xEE, 0xEE, 0xEE, 0x7C, 0x38, 0x00, 0x00, 0x00, + 0x00, 0x18, 0x38, 0x78, 0x78, 0x38, 0x38, 0x38, + 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00, + 0x00, 0x7C, 0xFE, 0xEE, 0x0E, 0x0E, 0x7E, 0xFC, + 0xE0, 0xE0, 0xE0, 0xFE, 0xFE, 0x00, 0x00, 0x00, + 0x00, 0x7C, 0xFE, 0xEE, 0x0E, 0x0E, 0x3C, 0x3C, + 0x0E, 0x0E, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x04, 0x0C, 0x1C, 0x3C, 0x7C, 0x6C, 0xEC, + 0xFE, 0xFE, 0x1C, 0x1C, 0x1C, 0x00, 0x00, 0x00, + 0x00, 0xFE, 0xFE, 0xE0, 0xE0, 0xFC, 0xFE, 0x0E, + 0x0E, 0x0E, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x7C, 0xFC, 0xE0, 0xE0, 0xFC, 0xFE, 0xEE, + 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0xFE, 0xFE, 0x0E, 0x0E, 0x1C, 0x1C, 0x1C, + 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00, + 0x00, 0x7C, 0xFE, 0xEE, 0xEE, 0xFE, 0x7C, 0xFE, + 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x7C, 0xFE, 0xEE, 0xEE, 0xEE, 0xFE, 0x7E, + 0x0E, 0x0E, 0x0E, 0x7C, 0x78, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x38, 0x00, + 0x00, 0x00, 0x38, 0x38, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x38, 0x00, + 0x00, 0x18, 0x38, 0x38, 0x30, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x06, 0x0E, 0x1C, 0x38, 0x70, + 0x70, 0x38, 0x1C, 0x0E, 0x06, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFE, 0x00, + 0x00, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x60, 0x70, 0x38, 0x1C, 0x0E, + 0x0E, 0x1C, 0x38, 0x70, 0x60, 0x00, 0x00, 0x00, + 0x00, 0x7C, 0xFE, 0xEE, 0x0E, 0x0E, 0x3E, 0x7C, + 0x70, 0x00, 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x7C, 0xFE, 0xEE, 0xEE, 0xEE, 0xFE, 0xFE, + 0xEC, 0xE0, 0xE0, 0xFC, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x7C, 0xFE, 0xEE, 0xEE, 0xEE, 0xEE, 0xFE, + 0xFE, 0xEE, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00, + 0x00, 0xFC, 0xFE, 0xEE, 0xEE, 0xEE, 0xFC, 0xFC, + 0xEE, 0xEE, 0xEE, 0xFE, 0xFC, 0x00, 0x00, 0x00, + 0x00, 0x7C, 0xFE, 0xEE, 0xEE, 0xE0, 0xE0, 0xE0, + 0xE0, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0xF8, 0xFC, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, + 0xEE, 0xEE, 0xEE, 0xFC, 0xF8, 0x00, 0x00, 0x00, + 0x00, 0xFE, 0xFE, 0xE0, 0xE0, 0xE0, 0xF8, 0xF8, + 0xE0, 0xE0, 0xE0, 0xFE, 0xFE, 0x00, 0x00, 0x00, + 0x00, 0xFE, 0xFE, 0xE0, 0xE0, 0xE0, 0xF8, 0xF8, + 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0x00, 0x00, 0x00, + 0x00, 0x7C, 0xFE, 0xEE, 0xEE, 0xE0, 0xE0, 0xFE, + 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xFE, 0xFE, + 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00, + 0x00, 0xFE, 0xFE, 0x38, 0x38, 0x38, 0x38, 0x38, + 0x38, 0x38, 0x38, 0xFE, 0xFE, 0x00, 0x00, 0x00, + 0x00, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, + 0x0E, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0xE0, 0xE6, 0xEE, 0xFE, 0xFC, 0xF8, 0xF0, + 0xF8, 0xFC, 0xFE, 0xEE, 0xE6, 0x00, 0x00, 0x00, + 0x00, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, + 0xE0, 0xE0, 0xE0, 0xFE, 0xFE, 0x00, 0x00, 0x00, + 0x00, 0xC6, 0xEE, 0xFE, 0xFE, 0xFE, 0xFE, 0xEE, + 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00, + 0x00, 0xCE, 0xEE, 0xEE, 0xFE, 0xFE, 0xFE, 0xFE, + 0xFE, 0xFE, 0xEE, 0xEE, 0xE6, 0x00, 0x00, 0x00, + 0x00, 0x7C, 0xFE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, + 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0xFC, 0xFE, 0xEE, 0xEE, 0xEE, 0xEE, 0xFE, + 0xFC, 0xE0, 0xE0, 0xE0, 0xE0, 0x00, 0x00, 0x00, + 0x00, 0x7C, 0xFE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, + 0xEE, 0xFE, 0xFE, 0xFE, 0x7E, 0x06, 0x00, 0x00, + 0x00, 0xFC, 0xFE, 0xEE, 0xEE, 0xEE, 0xFE, 0xFC, + 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00, + 0x00, 0x7C, 0xFE, 0xEE, 0xE0, 0xE0, 0xFC, 0x7E, + 0x0E, 0x0E, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0xFE, 0xFE, 0x38, 0x38, 0x38, 0x38, 0x38, + 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00, + 0x00, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, + 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, + 0x6C, 0x7C, 0x38, 0x38, 0x10, 0x00, 0x00, 0x00, + 0x00, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, + 0xFE, 0xFE, 0xFE, 0xEE, 0x44, 0x00, 0x00, 0x00, + 0x00, 0xEE, 0xEE, 0xEE, 0xEE, 0x7C, 0x38, 0x38, + 0x7C, 0xEE, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00, + 0x00, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x7C, 0x38, + 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00, + 0x00, 0xFE, 0xFE, 0x0E, 0x0E, 0x1C, 0x38, 0x38, + 0x70, 0xE0, 0xE0, 0xFE, 0xFE, 0x00, 0x00, 0x00, + 0x00, 0x3E, 0x3E, 0x38, 0x38, 0x38, 0x38, 0x38, + 0x38, 0x38, 0x38, 0x3E, 0x3E, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x40, 0xE0, 0xF0, 0x78, + 0x3C, 0x1E, 0x0E, 0x04, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFC, 0xFC, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, + 0x1C, 0x1C, 0x1C, 0xFC, 0xFC, 0x00, 0x00, 0x00, + 0x00, 0x10, 0x38, 0x7C, 0xEE, 0xC6, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, + 0x00, 0x00, 0x00, 0x30, 0x38, 0x18, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x7E, 0x0E, + 0x7E, 0xFE, 0xEE, 0xFE, 0x7E, 0x00, 0x00, 0x00, + 0x00, 0xE0, 0xE0, 0xE0, 0xE0, 0xFC, 0xFE, 0xEE, + 0xEE, 0xEE, 0xEE, 0xFE, 0xFC, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xFE, 0xEE, + 0xE0, 0xE0, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x0E, 0x0E, 0x0E, 0x0E, 0x7E, 0xFE, 0xEE, + 0xEE, 0xEE, 0xEE, 0xFE, 0x7E, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xFE, 0xEE, + 0xFE, 0xFE, 0xE0, 0xFE, 0x7E, 0x00, 0x00, 0x00, + 0x00, 0x3E, 0x7E, 0x70, 0x70, 0x70, 0xF8, 0xF8, + 0x70, 0x70, 0x70, 0x70, 0x70, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0xFE, 0xEE, + 0xEE, 0xEE, 0xEE, 0xFE, 0x7E, 0x0E, 0x7E, 0x7C, + 0x00, 0x00, 0xE0, 0xE0, 0xE0, 0xFC, 0xFE, 0xEE, + 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x38, 0x38, 0x00, 0x78, 0x78, 0x38, + 0x38, 0x38, 0x38, 0x7C, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x1C, 0x1C, 0x00, 0x3C, 0x3C, 0x1C, + 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x7C, 0x78, + 0x00, 0xE0, 0xE0, 0xE0, 0xE6, 0xEE, 0xFE, 0xFC, + 0xF8, 0xFC, 0xFE, 0xEE, 0xE6, 0x00, 0x00, 0x00, + 0x00, 0x78, 0x78, 0x38, 0x38, 0x38, 0x38, 0x38, + 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xEC, 0xFE, 0xFE, + 0xFE, 0xFE, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xFE, 0xEE, + 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xFE, 0xEE, + 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xFE, 0xEE, + 0xEE, 0xEE, 0xEE, 0xFE, 0xFC, 0xE0, 0xE0, 0xE0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0xFE, 0xEE, + 0xEE, 0xEE, 0xEE, 0xFE, 0x7E, 0x0E, 0x0F, 0x0F, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xDE, 0xFE, 0xE0, + 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0xFE, 0xE0, + 0xFC, 0x7E, 0x0E, 0xFE, 0xFC, 0x00, 0x00, 0x00, + 0x00, 0x10, 0x30, 0x70, 0x70, 0xFC, 0xFC, 0x70, + 0x70, 0x70, 0x70, 0x7E, 0x3E, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xEE, 0xEE, 0xEE, + 0xEE, 0xEE, 0xEE, 0xFE, 0x7E, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xEE, 0xEE, 0xEE, + 0xEE, 0xEE, 0x7C, 0x38, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xEE, 0xEE, 0xEE, + 0xFE, 0xFE, 0xFE, 0xEE, 0x44, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xEE, 0xEE, 0xEE, + 0x7C, 0x7C, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xEE, 0xEE, 0xEE, + 0xEE, 0xEE, 0xFE, 0x7E, 0x0E, 0x0E, 0xFE, 0xFC, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFE, 0x1E, + 0x3C, 0x78, 0xF0, 0xFE, 0xFE, 0x00, 0x00, 0x00, + 0x00, 0x1E, 0x3E, 0x38, 0x38, 0x38, 0xF0, 0xF0, + 0x38, 0x38, 0x38, 0x3E, 0x1E, 0x00, 0x00, 0x00, + 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, + 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, + 0x00, 0xF0, 0xF8, 0x38, 0x38, 0x38, 0x1E, 0x1E, + 0x38, 0x38, 0x38, 0xF8, 0xF0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x66, 0xFE, 0xFE, 0xCC, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, + 0x00, 0xEE, 0x28, 0x4C, 0x48, 0x48, 0x00, 0xFE, + 0x00, 0x38, 0x7C, 0xEE, 0xE0, 0xFC, 0xE0, 0xF8, + 0xE0, 0xE0, 0xEE, 0x7C, 0x38, 0x00, 0x00, 0x00, + 0x00, 0x10, 0x38, 0x38, 0x6C, 0x54, 0xF6, 0xEE, + 0x6C, 0x7C, 0x28, 0x38, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x38, 0x38, 0x18, 0x30, 0x00, + 0x00, 0x3E, 0x7E, 0x70, 0x70, 0x70, 0xF8, 0xF8, + 0x70, 0x70, 0x70, 0x70, 0x70, 0xF0, 0xE0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xEE, 0xEE, 0x66, 0xCC, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xDB, 0xDB, 0xDB, 0x00, 0x00, 0x00, + 0x00, 0x38, 0x38, 0x38, 0x38, 0xFE, 0xFE, 0x38, + 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, + 0x00, 0x38, 0x38, 0x38, 0xFE, 0xFE, 0x38, 0xFE, + 0xFE, 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, + 0x00, 0x7C, 0xEE, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xCE, 0x1C, + 0x38, 0x70, 0xE0, 0xDB, 0x1B, 0x00, 0x00, 0x00, + 0xEE, 0x7C, 0x00, 0x7C, 0xFE, 0xEE, 0xE0, 0xFC, + 0x7E, 0x0E, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x0E, 0x1C, + 0x38, 0x70, 0x38, 0x1C, 0x0E, 0x06, 0x00, 0x00, + 0x00, 0x7F, 0xFF, 0xEE, 0xEE, 0xEE, 0xEF, 0xEF, + 0xEE, 0xEE, 0xEE, 0xFF, 0x7F, 0x00, 0x00, 0x00, + 0x00, 0x10, 0x38, 0x38, 0x6C, 0x54, 0xF6, 0xEE, + 0x6C, 0x7C, 0x28, 0x38, 0x10, 0x00, 0x00, 0x00, + 0xEE, 0x7C, 0x00, 0xFE, 0xFE, 0x0E, 0x1E, 0x3C, + 0x78, 0xF0, 0xE0, 0xFE, 0xFE, 0x00, 0x00, 0x00, + 0x00, 0x10, 0x38, 0x38, 0x6C, 0x54, 0xF6, 0xEE, + 0x6C, 0x7C, 0x28, 0x38, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x10, 0x38, 0x38, 0x6C, 0x54, 0xF6, 0xEE, + 0x6C, 0x7C, 0x28, 0x38, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x18, 0x30, 0x30, 0x30, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x30, 0x30, 0x30, 0x60, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x36, 0x6C, 0x6C, 0x6C, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x36, 0x36, 0x36, 0x6C, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x7E, + 0x7E, 0x7E, 0x7E, 0x3C, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3C, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFE, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x7B, 0xDE, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xF1, 0xFB, 0x5F, 0x55, 0x51, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xEE, 0x7C, 0x38, 0x00, 0x7E, 0xFE, 0xE0, + 0xFC, 0x7E, 0x0E, 0xFE, 0xFC, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x70, 0x38, + 0x1C, 0x0E, 0x1C, 0x38, 0x70, 0x60, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xFE, 0xFA, + 0xDE, 0xDE, 0xFC, 0xFE, 0x6E, 0x00, 0x00, 0x00, + 0x00, 0x10, 0x38, 0x38, 0x6C, 0x54, 0xF6, 0xEE, + 0x6C, 0x7C, 0x28, 0x38, 0x10, 0x00, 0x00, 0x00, + 0x00, 0xEE, 0x7C, 0x38, 0x00, 0xFE, 0xFE, 0x1E, + 0x3C, 0x78, 0xF0, 0xFE, 0xFE, 0x00, 0x00, 0x00, + 0x00, 0xEE, 0x00, 0xEE, 0xEE, 0xEE, 0xEE, 0x7C, + 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x38, 0x00, + 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, + 0x00, 0x00, 0x00, 0x10, 0x10, 0x7C, 0xFE, 0xD6, + 0xD0, 0xD0, 0xD6, 0xFE, 0x7C, 0x10, 0x10, 0x00, + 0x00, 0x3C, 0x7E, 0x76, 0x70, 0xFC, 0xFC, 0xFC, + 0x70, 0x76, 0xFE, 0xFE, 0xDC, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xEE, 0xEE, 0x7C, 0xFE, + 0xFE, 0xFE, 0xFE, 0x7C, 0xEE, 0xEE, 0x00, 0x00, + 0x00, 0x00, 0xEE, 0xEE, 0xEE, 0x7C, 0x38, 0xFE, + 0x38, 0xFE, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x38, 0x38, 0x38, 0x38, 0x00, + 0x00, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00, + 0x00, 0x3C, 0x7C, 0x7C, 0x70, 0x3C, 0x7E, 0x66, + 0x7E, 0x3C, 0x0E, 0x3E, 0x3E, 0x3C, 0x00, 0x00, + 0x00, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x3C, 0x7E, 0xC3, 0x99, 0xBD, 0xA5, 0xA1, + 0xA5, 0xBD, 0x99, 0xC3, 0x7E, 0x3C, 0x00, 0x00, + 0x00, 0x78, 0x0C, 0x7C, 0xCC, 0x7C, 0x00, 0xFC, + 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, + 0x7C, 0xF8, 0xF8, 0x7C, 0x3E, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7E, 0x7E, 0x7E, 0x06, 0x02, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x7E, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x3C, 0x7E, 0xC3, 0xB9, 0xBD, 0xA5, 0xB9, + 0xB9, 0xA5, 0xA5, 0xC3, 0x7E, 0x3C, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xFE, 0xFE, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x78, 0xFC, 0xCC, 0xFC, 0x78, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x38, 0x38, 0xFE, 0xFE, 0xFE, 0x38, + 0x38, 0x00, 0xFE, 0xFE, 0xFE, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xF0, 0xF8, 0x18, 0x78, 0xF0, 0xC0, + 0xF8, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xF0, 0xF8, 0x18, 0x30, 0x18, 0xF8, + 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x38, 0x70, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEE, 0xEE, + 0xEE, 0xEE, 0xEE, 0xFE, 0xFC, 0xE0, 0xE0, 0xC0, + 0x00, 0x00, 0x00, 0x7F, 0xDB, 0xDB, 0xDB, 0x7B, + 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x38, + 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x18, 0x1C, 0x0C, 0x1C, 0x18, 0x00, 0x00, + 0x00, 0x00, 0x60, 0xE0, 0x60, 0x60, 0x60, 0xF0, + 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x70, 0xF8, 0x88, 0xF8, 0x70, 0x00, 0xF8, + 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD8, + 0x6C, 0x36, 0x36, 0x6C, 0xD8, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x60, 0xE0, 0x62, 0x66, 0xFE, 0x1C, + 0x38, 0x76, 0xEE, 0xD6, 0x3E, 0x3E, 0x06, 0x00, + 0x00, 0x00, 0x60, 0xE0, 0x62, 0x66, 0xFE, 0x1C, + 0x38, 0x70, 0xFC, 0xC6, 0x0C, 0x18, 0x1E, 0x00, + 0x00, 0x00, 0xE0, 0x30, 0x62, 0x36, 0xEE, 0x1C, + 0x3A, 0x76, 0xEE, 0xD6, 0x3E, 0x3E, 0x06, 0x00, + 0x00, 0x00, 0x1C, 0x1C, 0x1C, 0x00, 0x1C, 0x1C, + 0x7C, 0xF8, 0xE0, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, + 0x00, 0xE0, 0x70, 0x00, 0x10, 0x38, 0x7C, 0xEE, + 0xFE, 0xFE, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00, + 0x00, 0x0E, 0x1C, 0x00, 0x10, 0x38, 0x7C, 0xEE, + 0xFE, 0xFE, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00, + 0x00, 0x38, 0x6C, 0xC6, 0x10, 0x38, 0x7C, 0xEE, + 0xFE, 0xFE, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00, + 0x00, 0x76, 0xDC, 0x00, 0x10, 0x38, 0x7C, 0xEE, + 0xFE, 0xFE, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00, + 0x00, 0xEE, 0xEE, 0x10, 0x38, 0x7C, 0xEE, 0xFE, + 0xFE, 0xEE, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00, + 0x00, 0x38, 0x6C, 0x38, 0x38, 0x7C, 0xEE, 0xFE, + 0xFE, 0xEE, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00, + 0x00, 0x1F, 0x3F, 0x7F, 0xFE, 0xEE, 0xFF, 0xFF, + 0xFE, 0xEE, 0xEF, 0xEF, 0xEF, 0x00, 0x00, 0x00, + 0x00, 0x7C, 0xFE, 0xEE, 0xE0, 0xE0, 0xE0, 0xE0, + 0xE0, 0xE0, 0xEE, 0xFE, 0x7C, 0x0E, 0x6E, 0x7C, + 0x00, 0x70, 0x38, 0x00, 0xFE, 0xFE, 0xE0, 0xE0, + 0xF8, 0xE0, 0xE0, 0xFE, 0xFE, 0x00, 0x00, 0x00, + 0x00, 0x1C, 0x38, 0x00, 0xFE, 0xFE, 0xE0, 0xE0, + 0xF8, 0xE0, 0xE0, 0xFE, 0xFE, 0x00, 0x00, 0x00, + 0x00, 0x7C, 0xEE, 0x00, 0xFE, 0xFE, 0xE0, 0xE0, + 0xF8, 0xE0, 0xE0, 0xFE, 0xFE, 0x00, 0x00, 0x00, + 0xEE, 0xEE, 0x00, 0xFE, 0xFE, 0xE0, 0xE0, 0xF8, + 0xF8, 0xE0, 0xE0, 0xFE, 0xFE, 0x00, 0x00, 0x00, + 0x00, 0x70, 0x38, 0x00, 0x38, 0x38, 0x38, 0x38, + 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00, + 0x00, 0x1C, 0x38, 0x00, 0x38, 0x38, 0x38, 0x38, + 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00, + 0x00, 0x38, 0x6C, 0x38, 0x38, 0x38, 0x38, 0x38, + 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00, + 0x00, 0xEE, 0xEE, 0x00, 0x38, 0x38, 0x38, 0x38, + 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xF8, 0xFC, 0xEE, 0xEE, 0xEE, 0xFE, + 0xEE, 0xEE, 0xEE, 0xFC, 0xF8, 0x00, 0x00, 0x00, + 0x00, 0x76, 0xDC, 0x00, 0xEE, 0xEE, 0xEE, 0xF6, + 0xFE, 0xDE, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00, + 0x00, 0x70, 0x38, 0x00, 0x7C, 0xFE, 0xEE, 0xEE, + 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x1C, 0x38, 0x00, 0x7C, 0xFE, 0xEE, 0xEE, + 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x7C, 0xEE, 0x00, 0x7C, 0xFE, 0xEE, 0xEE, + 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x76, 0xDC, 0x00, 0x7C, 0xFE, 0xEE, 0xEE, + 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0xEE, 0xEE, 0x00, 0x7C, 0xFE, 0xEE, 0xEE, 0xEE, + 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xEE, 0x7C, + 0x38, 0x38, 0x7C, 0xEE, 0xC6, 0x00, 0x00, 0x00, + 0x00, 0x7A, 0xFC, 0xEE, 0xEE, 0xEE, 0xFE, 0xFE, + 0xFE, 0xEE, 0xEE, 0xFE, 0x7C, 0x80, 0x00, 0x00, + 0x00, 0x70, 0x38, 0x00, 0xEE, 0xEE, 0xEE, 0xEE, + 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x1C, 0x38, 0x00, 0xEE, 0xEE, 0xEE, 0xEE, + 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x7C, 0xEE, 0x00, 0xEE, 0xEE, 0xEE, 0xEE, + 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0xEE, 0xEE, 0x00, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, + 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x1C, 0x38, 0x00, 0xEE, 0xEE, 0xEE, 0xEE, + 0x7C, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xE0, 0xE0, 0xFC, 0xFE, 0xEE, 0xEE, + 0xEE, 0xFE, 0xFC, 0xE0, 0xE0, 0x00, 0x00, 0x00, + 0x00, 0x7C, 0xFE, 0xEE, 0xEE, 0xEE, 0xFE, 0xFC, + 0xEE, 0xEE, 0xEE, 0xFE, 0xFC, 0xE0, 0xC0, 0x00, + 0x00, 0x00, 0x70, 0x38, 0x00, 0x7C, 0x7E, 0x0E, + 0x7E, 0xFE, 0xEE, 0xFE, 0x7E, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x1C, 0x38, 0x00, 0x7C, 0x7E, 0x0E, + 0x7E, 0xFE, 0xEE, 0xFE, 0x7E, 0x00, 0x00, 0x00, + 0x00, 0x38, 0x7C, 0xEE, 0x00, 0x7C, 0x7E, 0x0E, + 0x7E, 0xFE, 0xEE, 0xFE, 0x7E, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x76, 0xDC, 0x00, 0x7C, 0x7E, 0x0E, + 0x7E, 0xFE, 0xEE, 0xFE, 0x7E, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xEE, 0xEE, 0x00, 0x7C, 0x7E, 0x0E, + 0x7E, 0xFE, 0xEE, 0xFE, 0x7E, 0x00, 0x00, 0x00, + 0x00, 0x38, 0x6C, 0x38, 0x00, 0x7C, 0x7E, 0x0E, + 0x7E, 0xFE, 0xEE, 0xFE, 0x7E, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x74, 0x7E, 0x7E, 0x1A, + 0x7E, 0xFE, 0xD8, 0xFE, 0x7E, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xFE, + 0xEE, 0xE0, 0xEE, 0xFE, 0x7C, 0x1C, 0x7E, 0x7C, + 0x00, 0x00, 0x70, 0x38, 0x00, 0x7C, 0xFE, 0xEE, + 0xFE, 0xFE, 0xE0, 0xFE, 0x7E, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x38, 0x70, 0x00, 0x7C, 0xFE, 0xEE, + 0xFE, 0xFE, 0xE0, 0xFE, 0x7E, 0x00, 0x00, 0x00, + 0x00, 0x38, 0x7C, 0xEE, 0x00, 0x7C, 0xFE, 0xEE, + 0xFE, 0xFE, 0xE0, 0xFE, 0x7E, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xEE, 0xEE, 0x00, 0x7C, 0xFE, 0xEE, + 0xFE, 0xFE, 0xE0, 0xFE, 0x7E, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x70, 0x38, 0x00, 0x38, 0x38, 0x38, + 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x1C, 0x38, 0x00, 0x38, 0x38, 0x38, + 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00, + 0x00, 0x38, 0x7C, 0xEE, 0x00, 0x38, 0x38, 0x38, + 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xEE, 0xEE, 0x00, 0x38, 0x38, 0x38, + 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00, + 0x00, 0xEC, 0x7C, 0xF8, 0xFC, 0x7E, 0xFE, 0xEE, + 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x76, 0xFE, 0xDC, 0x00, 0xFC, 0xFE, 0xEE, + 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xE0, 0x70, 0x00, 0x7C, 0xFE, 0xEE, + 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x38, 0x70, 0x00, 0x7C, 0xFE, 0xEE, + 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x38, 0x7C, 0xEE, 0x00, 0x7C, 0xFE, 0xEE, + 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x76, 0xFE, 0xDC, 0x00, 0x7C, 0xFE, 0xEE, + 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xEE, 0xEE, 0x00, 0x7C, 0xFE, 0xEE, + 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x38, 0x38, 0x00, 0xFE, + 0xFE, 0x00, 0x38, 0x38, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x7C, 0xFE, 0xEE, + 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x80, 0x00, 0x00, + 0x00, 0x00, 0xE0, 0x70, 0x00, 0xEE, 0xEE, 0xEE, + 0xEE, 0xEE, 0xEE, 0xFE, 0x7E, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x38, 0x70, 0x00, 0xEE, 0xEE, 0xEE, + 0xEE, 0xEE, 0xEE, 0xFE, 0x7E, 0x00, 0x00, 0x00, + 0x00, 0x38, 0x7C, 0xEE, 0x00, 0xEE, 0xEE, 0xEE, + 0xEE, 0xEE, 0xEE, 0xFE, 0x7E, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xEE, 0xEE, 0x00, 0xEE, 0xEE, 0xEE, + 0xEE, 0xEE, 0xEE, 0xFE, 0x7E, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x1C, 0x38, 0x00, 0xEE, 0xEE, 0xEE, + 0xEE, 0xEE, 0xEE, 0xFE, 0x7E, 0x0E, 0xFE, 0xFC, + 0x00, 0x00, 0xE0, 0xE0, 0xFC, 0xFE, 0xEE, 0xEE, + 0xEE, 0xEE, 0xEE, 0xEE, 0xFE, 0xFC, 0xE0, 0xE0, + 0x00, 0x00, 0xEE, 0xEE, 0x00, 0xEE, 0xEE, 0xEE, + 0xEE, 0xEE, 0xEE, 0xFE, 0x7E, 0x0E, 0xFE, 0xFC, +}; + +const struct fb_font_desc font_bold = { + .name = "NetSurf Bold", + .width = 8, + .height = 16, + .encoding = "CP1252", + .data = fontdata_bold, +}; + + +static const uint32_t fontdata_italic[FONTDATAMAX] = { + 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77, + 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, 0x00, 0xFE, + 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77, + 0x00, 0xE4, 0xAC, 0xA4, 0xA4, 0xEE, 0x00, 0xFE, + 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77, + 0x00, 0xEC, 0xA2, 0xA4, 0xA8, 0xEE, 0x00, 0xFE, + 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77, + 0x00, 0xEC, 0xA2, 0xAC, 0xA2, 0xEC, 0x00, 0xFE, + 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77, + 0x00, 0xEA, 0xAA, 0xAE, 0xA2, 0xE2, 0x00, 0xFE, + 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77, + 0x00, 0xEE, 0xA8, 0xAE, 0xA2, 0xEE, 0x00, 0xFE, + 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77, + 0x00, 0xE6, 0xA8, 0xAE, 0xAA, 0xEE, 0x00, 0xFE, + 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77, + 0x00, 0xEE, 0xA2, 0xA4, 0xA4, 0xE4, 0x00, 0xFE, + 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77, + 0x00, 0xEE, 0xAA, 0xAE, 0xAA, 0xEE, 0x00, 0xFE, + 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77, + 0x00, 0xEE, 0xAA, 0xAE, 0xA2, 0xE2, 0x00, 0xFE, + 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77, + 0x00, 0xE4, 0xAA, 0xAE, 0xAA, 0xEA, 0x00, 0xFE, + 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77, + 0x00, 0xEC, 0xAA, 0xAC, 0xAA, 0xEC, 0x00, 0xFE, + 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77, + 0x00, 0xE4, 0xAA, 0xA8, 0xAA, 0xE4, 0x00, 0xFE, + 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77, + 0x00, 0xEC, 0xAA, 0xAA, 0xAA, 0xEC, 0x00, 0xFE, + 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77, + 0x00, 0xEE, 0xA8, 0xAC, 0xA8, 0xEE, 0x00, 0xFE, + 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77, + 0x00, 0xEE, 0xA8, 0xAC, 0xA8, 0xE8, 0x00, 0xFE, + 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77, + 0x00, 0x4E, 0xCA, 0x4A, 0x4A, 0xEE, 0x00, 0xFE, + 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77, + 0x00, 0x44, 0xCC, 0x44, 0x44, 0xEE, 0x00, 0xFE, + 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77, + 0x00, 0x4C, 0xC2, 0x44, 0x48, 0xEE, 0x00, 0xFE, + 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77, + 0x00, 0x4C, 0xC2, 0x4C, 0x42, 0xEC, 0x00, 0xFE, + 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77, + 0x00, 0x4A, 0xCA, 0x4E, 0x42, 0xE2, 0x00, 0xFE, + 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77, + 0x00, 0x4E, 0xC8, 0x4E, 0x42, 0xEE, 0x00, 0xFE, + 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77, + 0x00, 0x46, 0xC8, 0x4E, 0x4A, 0xEE, 0x00, 0xFE, + 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77, + 0x00, 0x4E, 0xC2, 0x44, 0x44, 0xE4, 0x00, 0xFE, + 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77, + 0x00, 0x4E, 0xCA, 0x4E, 0x4A, 0xEE, 0x00, 0xFE, + 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77, + 0x00, 0x4E, 0xCA, 0x4E, 0x42, 0xE2, 0x00, 0xFE, + 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77, + 0x00, 0x44, 0xCA, 0x4E, 0x4A, 0xEA, 0x00, 0xFE, + 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77, + 0x00, 0x4C, 0xCA, 0x4C, 0x4A, 0xEC, 0x00, 0xFE, + 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77, + 0x00, 0x44, 0xCA, 0x48, 0x4A, 0xE4, 0x00, 0xFE, + 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77, + 0x00, 0x4C, 0xCA, 0x4A, 0x4A, 0xEC, 0x00, 0xFE, + 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77, + 0x00, 0x4E, 0xC8, 0x4C, 0x48, 0xEE, 0x00, 0xFE, + 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77, + 0x00, 0x4E, 0xC8, 0x4C, 0x48, 0xE8, 0x00, 0xFE, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x06, 0x06, 0x06, 0x06, 0x0C, 0x0C, 0x0C, + 0x0C, 0x18, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x1B, 0x1B, 0x36, 0x36, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1B, 0x1B, 0x1B, 0x7F, 0x7F, 0x36, 0x36, + 0xFF, 0xFF, 0x6C, 0x6C, 0x6C, 0x00, 0x00, 0x00, + 0x00, 0x04, 0x3E, 0x7F, 0x6B, 0x68, 0x78, 0x3C, + 0x1E, 0x16, 0xD6, 0xFE, 0x7C, 0x20, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xCE, 0x1C, + 0x38, 0x70, 0xE6, 0xC6, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1C, 0x3E, 0x36, 0x36, 0x3C, 0x39, 0x7F, + 0x6E, 0xCC, 0xCC, 0xFE, 0x7A, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x06, 0x06, 0x0C, 0x0C, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x06, 0x0E, 0x1C, 0x38, 0x30, 0x60, 0x60, 0xC0, + 0xC0, 0xC0, 0xC0, 0xC0, 0xE0, 0x70, 0x30, 0x00, + 0x18, 0x1C, 0x0E, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x0C, 0x0C, 0x18, 0x38, 0x70, 0xE0, 0xC0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x36, 0x36, 0x1C, 0x7F, + 0xFE, 0x38, 0x6C, 0x6C, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x7E, + 0xFC, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x18, 0x38, 0x70, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0xFC, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x0E, 0x1C, + 0x38, 0x70, 0xE0, 0xC0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1E, 0x3F, 0x33, 0x33, 0x67, 0x6E, 0x76, + 0xE6, 0xCC, 0xCC, 0xFC, 0x78, 0x00, 0x00, 0x00, + 0x00, 0x06, 0x0E, 0x1E, 0x3C, 0x0C, 0x0C, 0x18, + 0x18, 0x18, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, + 0x00, 0x1E, 0x3F, 0x33, 0x03, 0x07, 0x1E, 0x7C, + 0x60, 0xC0, 0xC0, 0xFC, 0xFC, 0x00, 0x00, 0x00, + 0x00, 0x1E, 0x3F, 0x33, 0x03, 0x06, 0x1E, 0x1E, + 0x06, 0x06, 0xCC, 0xFC, 0x78, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x03, 0x07, 0x0F, 0x1E, 0x36, 0x7F, + 0x7F, 0x0C, 0x0C, 0x18, 0x18, 0x00, 0x00, 0x00, + 0x00, 0x1F, 0x1F, 0x30, 0x30, 0x7C, 0x7E, 0x06, + 0x06, 0x06, 0xCE, 0xFC, 0x78, 0x00, 0x00, 0x00, + 0x00, 0x0F, 0x1F, 0x38, 0x30, 0x60, 0x7C, 0x7E, + 0xC6, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x3F, 0x7F, 0x63, 0x03, 0x06, 0x06, 0x0C, + 0x0C, 0x18, 0x18, 0x30, 0x30, 0x00, 0x00, 0x00, + 0x00, 0x1E, 0x3F, 0x33, 0x33, 0x33, 0x1E, 0x7C, + 0x66, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x1E, 0x3F, 0x33, 0x63, 0x63, 0x7E, 0x3E, + 0x06, 0x0C, 0x1C, 0xF8, 0xF0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x0C, 0x00, + 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x0C, 0x00, + 0x00, 0x00, 0x18, 0x38, 0x30, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x06, 0x0E, 0x1C, 0x38, 0x70, 0x70, + 0x70, 0x38, 0x1C, 0x0C, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3E, 0x7C, 0x00, 0x00, + 0x7C, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x18, 0x18, 0x0C, 0x0C, 0x06, 0x0E, + 0x1C, 0x38, 0x70, 0x60, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1E, 0x3F, 0x33, 0x33, 0x03, 0x07, 0x0E, + 0x1C, 0x18, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, + 0x00, 0x1E, 0x3F, 0x33, 0x63, 0x6F, 0x6B, 0x6B, + 0xCF, 0xCE, 0xC0, 0xFC, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x1E, 0x3F, 0x33, 0x33, 0x66, 0x7E, 0x7E, + 0x66, 0xCC, 0xCC, 0xCC, 0xCC, 0x00, 0x00, 0x00, + 0x00, 0x3E, 0x3F, 0x33, 0x63, 0x63, 0x7E, 0x7C, + 0x66, 0xC6, 0xC6, 0xFE, 0xFC, 0x00, 0x00, 0x00, + 0x00, 0x1E, 0x3F, 0x33, 0x30, 0x60, 0x60, 0x60, + 0x60, 0xC0, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x3E, 0x3F, 0x33, 0x63, 0x63, 0x63, 0x63, + 0xC3, 0xC6, 0xCE, 0xFC, 0xF8, 0x00, 0x00, 0x00, + 0x00, 0x3F, 0x3F, 0x30, 0x30, 0x60, 0x7C, 0x7C, + 0x60, 0xC0, 0xC0, 0xFE, 0xFE, 0x00, 0x00, 0x00, + 0x00, 0x3F, 0x3F, 0x30, 0x30, 0x60, 0x7C, 0x7C, + 0x60, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x00, + 0x00, 0x1E, 0x3F, 0x33, 0x30, 0x60, 0x60, 0x6E, + 0x6E, 0xC6, 0xCE, 0xFC, 0x78, 0x00, 0x00, 0x00, + 0x00, 0x33, 0x33, 0x33, 0x63, 0x66, 0x7E, 0x7E, + 0xC6, 0xC6, 0xCC, 0xCC, 0xCC, 0x00, 0x00, 0x00, + 0x00, 0x3F, 0x3F, 0x0C, 0x0C, 0x18, 0x18, 0x18, + 0x18, 0x30, 0x30, 0xFC, 0xFC, 0x00, 0x00, 0x00, + 0x00, 0x03, 0x03, 0x03, 0x03, 0x06, 0x06, 0x06, + 0x06, 0x0C, 0xCC, 0xFC, 0x78, 0x00, 0x00, 0x00, + 0x00, 0x30, 0x30, 0x33, 0x36, 0x7C, 0x78, 0x70, + 0x78, 0xF8, 0xDC, 0xCE, 0xC6, 0x00, 0x00, 0x00, + 0x00, 0x30, 0x30, 0x30, 0x30, 0x60, 0x60, 0x60, + 0x60, 0xC0, 0xC0, 0xFE, 0xFE, 0x00, 0x00, 0x00, + 0x00, 0x33, 0x33, 0x3F, 0x3F, 0x7F, 0x6B, 0x66, + 0x66, 0xC6, 0xCC, 0xCC, 0xCC, 0x00, 0x00, 0x00, + 0x00, 0x33, 0x33, 0x3B, 0x3B, 0x7B, 0x7E, 0x6E, + 0x6E, 0xCE, 0xCC, 0xCC, 0xCC, 0x00, 0x00, 0x00, + 0x00, 0x1E, 0x3F, 0x33, 0x33, 0x63, 0x66, 0x66, + 0xC6, 0xCC, 0xCC, 0xFC, 0x78, 0x00, 0x00, 0x00, + 0x00, 0x3E, 0x3F, 0x33, 0x33, 0x67, 0x7E, 0x7C, + 0x60, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x00, + 0x00, 0x1E, 0x3F, 0x33, 0x33, 0x63, 0x66, 0x66, + 0xC6, 0xF6, 0xDC, 0xF8, 0x7C, 0x0C, 0x00, 0x00, + 0x00, 0x3E, 0x3F, 0x33, 0x33, 0x63, 0x7E, 0x7C, + 0x6E, 0xC6, 0xC6, 0xCC, 0xCC, 0x00, 0x00, 0x00, + 0x00, 0x1E, 0x3F, 0x33, 0x60, 0x60, 0x7C, 0x3E, + 0x06, 0x06, 0xCE, 0xFC, 0x78, 0x00, 0x00, 0x00, + 0x00, 0x7F, 0x7F, 0x18, 0x18, 0x30, 0x30, 0x30, + 0x30, 0x60, 0x60, 0x60, 0x60, 0x00, 0x00, 0x00, + 0x00, 0x33, 0x33, 0x33, 0x33, 0x63, 0x66, 0x66, + 0x66, 0xC6, 0xCC, 0xFC, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x33, 0x33, 0x33, 0x33, 0x63, 0x63, 0x66, + 0x66, 0x6C, 0x38, 0x38, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x33, 0x33, 0x33, 0x33, 0x63, 0x63, 0x6B, + 0x6B, 0xFE, 0xFE, 0xEE, 0x44, 0x00, 0x00, 0x00, + 0x00, 0x63, 0x63, 0x63, 0x77, 0x3E, 0x1C, 0x38, + 0x7C, 0xEE, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, + 0x00, 0x66, 0x66, 0x66, 0x66, 0x3C, 0x3C, 0x18, + 0x18, 0x30, 0x30, 0x60, 0x60, 0x00, 0x00, 0x00, + 0x00, 0x7F, 0x7F, 0x03, 0x07, 0x0E, 0x0C, 0x18, + 0x38, 0x70, 0xE0, 0xFE, 0xFE, 0x00, 0x00, 0x00, + 0x00, 0x0F, 0x0F, 0x0C, 0x0C, 0x18, 0x18, 0x18, + 0x18, 0x30, 0x30, 0x3E, 0x3E, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xE0, 0x70, + 0x38, 0x1C, 0x0E, 0x06, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1F, 0x1F, 0x03, 0x03, 0x06, 0x06, 0x06, + 0x06, 0x0C, 0x0C, 0x7C, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x04, 0x0E, 0x1F, 0x3B, 0x63, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFE, 0x00, + 0x00, 0x00, 0x00, 0x0C, 0x0E, 0x0C, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x3E, 0x06, + 0x7E, 0xFC, 0xCC, 0xFC, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x18, 0x18, 0x30, 0x30, 0x3E, 0x7F, 0x63, + 0x63, 0xC6, 0xC6, 0xFE, 0xFC, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x7E, 0x66, + 0xC0, 0xC0, 0xCC, 0xFC, 0x78, 0x00, 0x00, 0x00, + 0x00, 0x03, 0x03, 0x03, 0x06, 0x3E, 0x7E, 0x66, + 0xC6, 0xCC, 0xCC, 0xFC, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x7E, 0x66, + 0xFE, 0xFC, 0xC0, 0xFC, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x07, 0x0F, 0x0C, 0x18, 0x7E, 0x7E, 0x30, + 0x30, 0x30, 0x60, 0x60, 0x60, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x7F, 0x63, + 0x63, 0xC6, 0xC6, 0xFE, 0x7E, 0x0C, 0xFC, 0xF8, + 0x00, 0x00, 0x30, 0x30, 0x30, 0x6E, 0x7F, 0x73, + 0x63, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x06, 0x06, 0x00, 0x1C, 0x3C, 0x0C, + 0x0C, 0x18, 0x18, 0x7C, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x03, 0x03, 0x00, 0x0E, 0x1E, 0x06, + 0x06, 0x0C, 0x0C, 0x0C, 0x0C, 0x18, 0xF8, 0xF0, + 0x00, 0x30, 0x30, 0x30, 0x33, 0x67, 0x6E, 0x7C, + 0x7C, 0xDC, 0xCE, 0xC6, 0xC6, 0x00, 0x00, 0x00, + 0x00, 0x0E, 0x0E, 0x06, 0x06, 0x0C, 0x0C, 0x0C, + 0x0C, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0x7F, 0x7F, + 0x6B, 0xD6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x6C, 0x7E, 0x76, + 0x66, 0xCC, 0xCC, 0xCC, 0xCC, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x7E, 0x66, + 0x66, 0xCC, 0xCC, 0xFC, 0x78, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x3F, 0x33, + 0x63, 0x66, 0x66, 0xFE, 0xFC, 0xC0, 0xC0, 0xC0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x7F, 0x63, + 0x63, 0xC6, 0xC6, 0xFE, 0x7C, 0x0C, 0x0E, 0x0E, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x7F, 0x70, + 0x60, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x7F, 0x60, + 0x7C, 0x3E, 0x06, 0xFE, 0xFC, 0x00, 0x00, 0x00, + 0x00, 0x06, 0x06, 0x0C, 0x0C, 0x3F, 0x3F, 0x18, + 0x18, 0x30, 0x30, 0x3E, 0x1C, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x33, 0x66, + 0x66, 0x66, 0xCC, 0xFE, 0x76, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x66, 0x66, + 0xCC, 0xCC, 0xF8, 0x70, 0x20, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x63, 0x63, 0x63, + 0x6B, 0xDE, 0xFE, 0xFE, 0x6C, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x63, 0x63, 0x77, + 0x3E, 0x7C, 0xEE, 0xC6, 0xC6, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x63, 0x63, 0x63, + 0x63, 0xC6, 0xC6, 0xFE, 0x7E, 0x0C, 0xFC, 0xF8, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x7F, 0x07, + 0x1E, 0x78, 0xE0, 0xFE, 0xFE, 0x00, 0x00, 0x00, + 0x00, 0x07, 0x0E, 0x0C, 0x0C, 0x18, 0x70, 0x70, + 0x18, 0x18, 0x30, 0x38, 0x1C, 0x00, 0x00, 0x00, + 0x06, 0x06, 0x06, 0x06, 0x0C, 0x0C, 0x0C, 0x0C, + 0x18, 0x18, 0x18, 0x18, 0x30, 0x30, 0x30, 0x00, + 0x00, 0x38, 0x1C, 0x0C, 0x18, 0x18, 0x0E, 0x0E, + 0x18, 0x30, 0x30, 0x70, 0xE0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x1D, 0x3F, 0x37, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77, + 0x00, 0xEE, 0x28, 0x4C, 0x48, 0x48, 0x00, 0xFE, + 0x00, 0x06, 0x0F, 0x1B, 0x18, 0x7E, 0x30, 0x7C, + 0x60, 0x60, 0x6C, 0x3C, 0x30, 0x00, 0x00, 0x00, + 0x00, 0x10, 0x38, 0x38, 0x6C, 0x54, 0xF6, 0xEE, + 0x6C, 0x7C, 0x28, 0x38, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x18, 0x18, 0x10, 0x20, 0x00, + 0x00, 0x07, 0x0F, 0x0C, 0x18, 0x7E, 0x7E, 0x30, + 0x30, 0x30, 0x60, 0x60, 0x60, 0xC0, 0x80, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x66, 0x66, 0x44, 0x88, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xDB, 0xDB, 0x00, 0x00, 0x00, + 0x00, 0x06, 0x06, 0x06, 0x1F, 0x3F, 0x0C, 0x0C, + 0x0C, 0x18, 0x18, 0x18, 0x18, 0x30, 0x00, 0x00, + 0x00, 0x06, 0x06, 0x06, 0x1F, 0x3F, 0x0C, 0x3F, + 0x3F, 0x18, 0x18, 0x18, 0x18, 0x30, 0x00, 0x00, + 0x00, 0x3E, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x61, 0x63, 0x06, + 0x0C, 0x30, 0x60, 0xDB, 0x9B, 0x00, 0x00, 0x00, + 0x63, 0x3E, 0x00, 0x1E, 0x3F, 0x33, 0x60, 0x7C, + 0x3E, 0x06, 0xCE, 0xFC, 0x78, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x0E, + 0x1C, 0x30, 0x38, 0x1C, 0x0C, 0x00, 0x00, 0x00, + 0x00, 0x1F, 0x3F, 0x33, 0x33, 0x66, 0x67, 0x67, + 0x66, 0xCC, 0xCC, 0xFF, 0x7F, 0x00, 0x00, 0x00, + 0x00, 0x10, 0x38, 0x38, 0x6C, 0x54, 0xF6, 0xEE, + 0x6C, 0x7C, 0x28, 0x38, 0x10, 0x00, 0x00, 0x00, + 0x63, 0x3E, 0x00, 0x7F, 0x7F, 0x03, 0x07, 0x0E, + 0x18, 0x70, 0xE0, 0xFE, 0xFE, 0x00, 0x00, 0x00, + 0x00, 0x10, 0x38, 0x38, 0x6C, 0x54, 0xF6, 0xEE, + 0x6C, 0x7C, 0x28, 0x38, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x10, 0x38, 0x38, 0x6C, 0x54, 0xF6, 0xEE, + 0x6C, 0x7C, 0x28, 0x38, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x04, 0x08, 0x10, 0x18, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0C, 0x04, 0x08, 0x10, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x09, 0x12, 0x1B, 0x36, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x1B, 0x1B, 0x09, 0x12, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x3F, + 0x3F, 0x7E, 0x7E, 0x3C, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x19, 0x26, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFB, 0xFF, 0x55, 0xA2, 0xA2, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x63, 0x36, 0x1C, 0x00, 0x3F, 0x7F, 0x60, + 0x7C, 0x3E, 0x06, 0xFE, 0xFC, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x1C, + 0x0E, 0x0C, 0x1C, 0x38, 0x30, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x7F, 0x6D, + 0x6F, 0xDE, 0xD8, 0xFE, 0x6E, 0x00, 0x00, 0x00, + 0x00, 0x10, 0x38, 0x38, 0x6C, 0x54, 0xF6, 0xEE, + 0x6C, 0x7C, 0x28, 0x38, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x63, 0x36, 0x1C, 0x00, 0x7F, 0x7F, 0x07, + 0x1E, 0x78, 0xE0, 0xFE, 0xFE, 0x00, 0x00, 0x00, + 0x00, 0x33, 0x00, 0x66, 0x66, 0x66, 0x3C, 0x3C, + 0x18, 0x30, 0x30, 0x30, 0x60, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x0C, 0x00, + 0x0C, 0x18, 0x18, 0x18, 0x18, 0x30, 0x30, 0x00, + 0x00, 0x00, 0x00, 0x04, 0x04, 0x3E, 0x7F, 0x6B, + 0x68, 0xD0, 0xD6, 0xFE, 0x7C, 0x20, 0x20, 0x00, + 0x00, 0x0F, 0x1F, 0x19, 0x18, 0x30, 0x7C, 0x7C, + 0x30, 0x60, 0xE6, 0xFE, 0xDC, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x19, 0x33, 0x1E, 0x3F, + 0x33, 0x66, 0x7E, 0x3C, 0x66, 0xCC, 0x00, 0x00, + 0x00, 0x00, 0x19, 0x19, 0x19, 0x1E, 0x0C, 0x3F, + 0x0C, 0x7E, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x06, 0x06, 0x0C, 0x0C, 0x00, + 0x00, 0x18, 0x18, 0x30, 0x30, 0x00, 0x00, 0x00, + 0x00, 0x07, 0x0E, 0x18, 0x18, 0x3C, 0x7E, 0x66, + 0x7E, 0x3C, 0x18, 0x18, 0x70, 0xE0, 0x00, 0x00, + 0x00, 0x00, 0x33, 0x66, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0E, 0x1F, 0x21, 0x21, 0x4D, 0x51, 0x51, + 0x91, 0xA1, 0x9A, 0x82, 0x7C, 0x38, 0x00, 0x00, + 0x00, 0x1C, 0x02, 0x1E, 0x22, 0x3C, 0x00, 0x7C, + 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1B, + 0x36, 0xD8, 0xD8, 0x6C, 0x36, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x1E, 0x3E, 0x06, 0x0C, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0E, 0x1F, 0x21, 0x49, 0x55, 0x55, 0x59, + 0x99, 0xA5, 0xA5, 0x82, 0x7E, 0x78, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1E, 0x3F, 0x33, 0x3F, 0x3C, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x06, 0x06, 0x3F, 0x3F, 0x0C, + 0x0C, 0x00, 0x7E, 0x7E, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3C, 0x3E, 0x06, 0x3C, 0x78, 0x60, + 0x7C, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3C, 0x3E, 0x06, 0x18, 0x0C, 0x7C, + 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x06, 0x0C, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x33, + 0x33, 0x66, 0x66, 0x7E, 0x7C, 0xC0, 0xC0, 0x80, + 0x00, 0x00, 0x00, 0x3F, 0x6F, 0xDB, 0xDB, 0x7B, + 0x1B, 0x36, 0x36, 0x36, 0x36, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, + 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x18, 0x1C, 0x0C, 0x1C, 0x30, 0x00, 0x00, + 0x00, 0x00, 0x18, 0x38, 0x18, 0x30, 0x30, 0x78, + 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0C, 0x1E, 0x22, 0x3C, 0x18, 0x00, 0x3C, + 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6C, + 0x36, 0x36, 0x36, 0x6C, 0xD8, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x10, 0x30, 0x10, 0x23, 0x76, 0x0C, + 0x18, 0x64, 0xCC, 0x94, 0x3E, 0x08, 0x08, 0x00, + 0x00, 0x00, 0x10, 0x30, 0x10, 0x23, 0x76, 0x0C, + 0x18, 0x60, 0xDC, 0x82, 0x1C, 0x20, 0x3C, 0x00, + 0x00, 0x00, 0x38, 0x04, 0x18, 0x0B, 0x76, 0x0C, + 0x18, 0x64, 0xCC, 0x96, 0x3E, 0x08, 0x08, 0x00, + 0x00, 0x00, 0x00, 0x06, 0x06, 0x00, 0x0C, 0x0C, + 0x3C, 0x70, 0xC0, 0xC6, 0xC6, 0xFC, 0x78, 0x00, + 0x00, 0x18, 0x0C, 0x00, 0x04, 0x1C, 0x36, 0x63, + 0x7F, 0xFE, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, + 0x00, 0x03, 0x06, 0x00, 0x04, 0x1C, 0x36, 0x63, + 0x7F, 0xFE, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, + 0x00, 0x0E, 0x1B, 0x11, 0x04, 0x1C, 0x36, 0x63, + 0x7F, 0xFE, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, + 0x00, 0x1D, 0x37, 0x00, 0x04, 0x1C, 0x36, 0x63, + 0x7F, 0xFE, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, + 0x00, 0x1B, 0x1B, 0x04, 0x0E, 0x36, 0x63, 0x7F, + 0x7F, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, + 0x00, 0x0E, 0x11, 0x0E, 0x0E, 0x36, 0x63, 0x7F, + 0x7F, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, + 0x00, 0x07, 0x0F, 0x1F, 0x3B, 0x66, 0x7F, 0x7F, + 0x66, 0xCC, 0xCC, 0xCF, 0xCF, 0x00, 0x00, 0x00, + 0x00, 0x1E, 0x3F, 0x33, 0x30, 0x60, 0x60, 0x60, + 0x60, 0xC0, 0xC6, 0xFE, 0x7C, 0x1C, 0xCC, 0x78, + 0x00, 0x0C, 0x06, 0x00, 0x3F, 0x7F, 0x60, 0x78, + 0x78, 0xC0, 0xC0, 0xFE, 0xFE, 0x00, 0x00, 0x00, + 0x00, 0x03, 0x06, 0x00, 0x3F, 0x7F, 0x60, 0x78, + 0x78, 0xC0, 0xC0, 0xFE, 0xFE, 0x00, 0x00, 0x00, + 0x00, 0x0E, 0x1B, 0x00, 0x3F, 0x7F, 0x60, 0x78, + 0x78, 0xC0, 0xC0, 0xFE, 0xFE, 0x00, 0x00, 0x00, + 0x1B, 0x1B, 0x00, 0x3F, 0x3F, 0x60, 0x60, 0x78, + 0x78, 0xC0, 0xC0, 0xFE, 0xFE, 0x00, 0x00, 0x00, + 0x00, 0x0C, 0x06, 0x00, 0x1F, 0x1F, 0x0C, 0x0C, + 0x0C, 0x18, 0x18, 0x7C, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x03, 0x06, 0x00, 0x1F, 0x1F, 0x0C, 0x0C, + 0x0C, 0x18, 0x18, 0x7C, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x06, 0x09, 0x1F, 0x1F, 0x0C, 0x0C, 0x0C, + 0x0C, 0x18, 0x18, 0x7C, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x1B, 0x1B, 0x00, 0x1F, 0x1F, 0x0C, 0x0C, + 0x0C, 0x18, 0x18, 0x7C, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x1E, 0x1F, 0x1B, 0x33, 0x33, 0x7B, + 0x33, 0x66, 0x6E, 0x7C, 0x78, 0x00, 0x00, 0x00, + 0x00, 0x1D, 0x37, 0x00, 0x31, 0x63, 0x73, 0x7B, + 0x7F, 0xDE, 0xCE, 0xC6, 0xC6, 0x00, 0x00, 0x00, + 0x00, 0x0C, 0x06, 0x00, 0x3E, 0x7F, 0x63, 0x63, + 0x63, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x03, 0x06, 0x00, 0x3E, 0x7F, 0x63, 0x63, + 0x63, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x0E, 0x1B, 0x00, 0x3E, 0x7F, 0x63, 0x63, + 0x63, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x1D, 0x37, 0x00, 0x3E, 0x7F, 0x63, 0x63, + 0x63, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x1B, 0x1B, 0x00, 0x3E, 0x7F, 0x63, 0x63, + 0x63, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x63, 0x77, 0x3E, + 0x1C, 0x38, 0x7C, 0xEE, 0xC6, 0x00, 0x00, 0x00, + 0x00, 0x1D, 0x3E, 0x37, 0x6B, 0x6B, 0x6B, 0xD6, + 0xD6, 0xD6, 0xEE, 0x7C, 0xB8, 0x00, 0x00, 0x00, + 0x00, 0x0C, 0x06, 0x00, 0x33, 0x33, 0x63, 0x66, + 0x66, 0xC6, 0xCE, 0xFC, 0x78, 0x00, 0x00, 0x00, + 0x00, 0x03, 0x06, 0x00, 0x33, 0x33, 0x63, 0x66, + 0x66, 0xC6, 0xCE, 0xFC, 0x78, 0x00, 0x00, 0x00, + 0x00, 0x0E, 0x1B, 0x00, 0x33, 0x33, 0x63, 0x66, + 0x66, 0xC6, 0xCE, 0xFC, 0x78, 0x00, 0x00, 0x00, + 0x1B, 0x1B, 0x00, 0x33, 0x33, 0x63, 0x63, 0x63, + 0x66, 0xC6, 0xCE, 0xFC, 0x78, 0x00, 0x00, 0x00, + 0x00, 0x06, 0x0C, 0x00, 0x33, 0x33, 0x66, 0x6E, + 0x7C, 0x38, 0x30, 0x60, 0x60, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x18, 0x18, 0x1F, 0x3F, 0x33, 0x33, + 0x3F, 0x7C, 0x60, 0x60, 0x60, 0x00, 0x00, 0x00, + 0x00, 0x0E, 0x1F, 0x1B, 0x1B, 0x33, 0x3F, 0x3E, + 0x33, 0x66, 0x66, 0x7E, 0x7C, 0xC0, 0x80, 0x00, + 0x00, 0x00, 0x0C, 0x06, 0x00, 0x3F, 0x7F, 0x63, + 0x63, 0xCE, 0xCE, 0xFE, 0x76, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x06, 0x0C, 0x00, 0x3F, 0x7F, 0x63, + 0x63, 0xC6, 0xCE, 0xFE, 0x76, 0x00, 0x00, 0x00, + 0x00, 0x04, 0x0E, 0x1B, 0x00, 0x3F, 0x7F, 0x63, + 0x63, 0xC6, 0xCE, 0xFE, 0x76, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x1D, 0x37, 0x00, 0x3F, 0x7F, 0x63, + 0x63, 0xC6, 0xCE, 0xFE, 0x76, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x1B, 0x1B, 0x00, 0x3F, 0x7F, 0x63, + 0x63, 0xC6, 0xCE, 0xFE, 0x76, 0x00, 0x00, 0x00, + 0x00, 0x0E, 0x1B, 0x0E, 0x00, 0x3E, 0x7F, 0x63, + 0x63, 0xC6, 0xCE, 0xFE, 0x76, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3A, 0x3F, 0x0D, + 0x1F, 0x7E, 0xD8, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x7F, + 0x63, 0xC0, 0xC6, 0xFE, 0x7C, 0x30, 0xF8, 0xF0, + 0x00, 0x00, 0x0C, 0x06, 0x00, 0x3E, 0x7F, 0x63, + 0x7F, 0xFE, 0xC0, 0xFE, 0x7E, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x06, 0x0C, 0x00, 0x3E, 0x7F, 0x63, + 0x7F, 0xFE, 0xC0, 0xFE, 0x7E, 0x00, 0x00, 0x00, + 0x00, 0x04, 0x0E, 0x1B, 0x00, 0x3E, 0x7F, 0x63, + 0x7F, 0xFE, 0xC0, 0xFE, 0x7E, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x1B, 0x1B, 0x00, 0x3E, 0x7F, 0x63, + 0x7F, 0xFE, 0xC0, 0xFE, 0x7E, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0C, 0x06, 0x00, 0x0C, 0x0C, 0x0C, + 0x0C, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x03, 0x06, 0x00, 0x0C, 0x0C, 0x0C, + 0x0C, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, + 0x00, 0x06, 0x0F, 0x19, 0x00, 0x0C, 0x0C, 0x0C, + 0x0C, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x1B, 0x1B, 0x00, 0x0C, 0x0C, 0x0C, + 0x0C, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, + 0x00, 0x1B, 0x1F, 0x3E, 0x37, 0x3E, 0x7F, 0x63, + 0x63, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x1D, 0x3F, 0x37, 0x00, 0x7E, 0x7F, 0x63, + 0x63, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x18, 0x0C, 0x00, 0x3E, 0x7F, 0x63, + 0x63, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x06, 0x0C, 0x00, 0x3E, 0x7F, 0x63, + 0x63, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x04, 0x0E, 0x1B, 0x00, 0x3E, 0x7F, 0x63, + 0x63, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x1D, 0x3F, 0x37, 0x00, 0x3E, 0x7F, 0x63, + 0x63, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x1B, 0x1B, 0x00, 0x3E, 0x7F, 0x63, + 0x63, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x0C, 0x0C, 0x00, 0x3F, + 0x7E, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x7F, 0x67, + 0x6B, 0xD6, 0xE6, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x18, 0x0C, 0x00, 0x63, 0x63, 0x63, + 0x63, 0xC6, 0xC6, 0xFE, 0x7E, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x06, 0x0C, 0x00, 0x63, 0x63, 0x63, + 0x63, 0xC6, 0xC6, 0xFE, 0x7E, 0x00, 0x00, 0x00, + 0x00, 0x04, 0x0E, 0x1B, 0x00, 0x63, 0x63, 0x63, + 0x63, 0xC6, 0xC6, 0xFE, 0x7E, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x1B, 0x1B, 0x00, 0x63, 0x63, 0x63, + 0x63, 0xC6, 0xC6, 0xFE, 0x7E, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x03, 0x06, 0x00, 0x63, 0x63, 0x63, + 0x63, 0xC6, 0xC6, 0xFE, 0x7E, 0x0C, 0xF8, 0xF0, + 0x00, 0x00, 0x18, 0x18, 0x18, 0x3E, 0x3F, 0x33, + 0x33, 0x66, 0x66, 0x7E, 0x7C, 0xC0, 0xC0, 0xC0, + 0x00, 0x00, 0x00, 0x1B, 0x00, 0x63, 0x63, 0x63, + 0x63, 0xC6, 0xC6, 0xFE, 0x7E, 0x0C, 0xF8, 0xF0, +}; + +const struct fb_font_desc font_italic = { + .name = "NetSurf Italic", + .width = 8, + .height = 16, + .encoding = "CP1252", + .data = fontdata_italic, +}; + + +static const uint32_t fontdata_italic_bold[FONTDATAMAX] = { + 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77, + 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, 0x00, 0xFE, + 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77, + 0x00, 0xE4, 0xAC, 0xA4, 0xA4, 0xEE, 0x00, 0xFE, + 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77, + 0x00, 0xEC, 0xA2, 0xA4, 0xA8, 0xEE, 0x00, 0xFE, + 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77, + 0x00, 0xEC, 0xA2, 0xAC, 0xA2, 0xEC, 0x00, 0xFE, + 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77, + 0x00, 0xEA, 0xAA, 0xAE, 0xA2, 0xE2, 0x00, 0xFE, + 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77, + 0x00, 0xEE, 0xA8, 0xAE, 0xA2, 0xEE, 0x00, 0xFE, + 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77, + 0x00, 0xE6, 0xA8, 0xAE, 0xAA, 0xEE, 0x00, 0xFE, + 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77, + 0x00, 0xEE, 0xA2, 0xA4, 0xA4, 0xE4, 0x00, 0xFE, + 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77, + 0x00, 0xEE, 0xAA, 0xAE, 0xAA, 0xEE, 0x00, 0xFE, + 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77, + 0x00, 0xEE, 0xAA, 0xAE, 0xA2, 0xE2, 0x00, 0xFE, + 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77, + 0x00, 0xE4, 0xAA, 0xAE, 0xAA, 0xEA, 0x00, 0xFE, + 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77, + 0x00, 0xEC, 0xAA, 0xAC, 0xAA, 0xEC, 0x00, 0xFE, + 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77, + 0x00, 0xE4, 0xAA, 0xA8, 0xAA, 0xE4, 0x00, 0xFE, + 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77, + 0x00, 0xEC, 0xAA, 0xAA, 0xAA, 0xEC, 0x00, 0xFE, + 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77, + 0x00, 0xEE, 0xA8, 0xAC, 0xA8, 0xEE, 0x00, 0xFE, + 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77, + 0x00, 0xEE, 0xA8, 0xAC, 0xA8, 0xE8, 0x00, 0xFE, + 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77, + 0x00, 0x4E, 0xCA, 0x4A, 0x4A, 0xEE, 0x00, 0xFE, + 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77, + 0x00, 0x44, 0xCC, 0x44, 0x44, 0xEE, 0x00, 0xFE, + 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77, + 0x00, 0x4C, 0xC2, 0x44, 0x48, 0xEE, 0x00, 0xFE, + 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77, + 0x00, 0x4C, 0xC2, 0x4C, 0x42, 0xEC, 0x00, 0xFE, + 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77, + 0x00, 0x4A, 0xCA, 0x4E, 0x42, 0xE2, 0x00, 0xFE, + 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77, + 0x00, 0x4E, 0xC8, 0x4E, 0x42, 0xEE, 0x00, 0xFE, + 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77, + 0x00, 0x46, 0xC8, 0x4E, 0x4A, 0xEE, 0x00, 0xFE, + 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77, + 0x00, 0x4E, 0xC2, 0x44, 0x44, 0xE4, 0x00, 0xFE, + 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77, + 0x00, 0x4E, 0xCA, 0x4E, 0x4A, 0xEE, 0x00, 0xFE, + 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77, + 0x00, 0x4E, 0xCA, 0x4E, 0x42, 0xE2, 0x00, 0xFE, + 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77, + 0x00, 0x44, 0xCA, 0x4E, 0x4A, 0xEA, 0x00, 0xFE, + 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77, + 0x00, 0x4C, 0xCA, 0x4C, 0x4A, 0xEC, 0x00, 0xFE, + 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77, + 0x00, 0x44, 0xCA, 0x48, 0x4A, 0xE4, 0x00, 0xFE, + 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77, + 0x00, 0x4C, 0xCA, 0x4A, 0x4A, 0xEC, 0x00, 0xFE, + 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77, + 0x00, 0x4E, 0xC8, 0x4C, 0x48, 0xEE, 0x00, 0xFE, + 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77, + 0x00, 0x4E, 0xC8, 0x4C, 0x48, 0xE8, 0x00, 0xFE, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0E, 0x0E, 0x0E, 0x0E, 0x1C, 0x1C, 0x1C, + 0x1C, 0x00, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x77, 0x77, 0x77, 0x77, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x36, 0x36, 0x7F, 0x7F, 0x7F, 0x36, 0x6C, + 0xFE, 0xFE, 0xFE, 0x6C, 0x6C, 0x00, 0x00, 0x00, + 0x00, 0x08, 0x3E, 0x7F, 0x7B, 0x78, 0x7C, 0x7C, + 0x3E, 0x1E, 0xDE, 0xFE, 0x7C, 0x10, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x70, 0x73, 0x77, 0x0E, + 0x3C, 0x70, 0xEE, 0xCE, 0x0E, 0x00, 0x00, 0x00, + 0x00, 0x1C, 0x3E, 0x7E, 0x7C, 0x7C, 0x3B, 0xFE, + 0xFE, 0xEC, 0xEE, 0xFE, 0x74, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x1C, 0x1C, 0x1C, 0x1C, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x03, 0x06, 0x0E, 0x1C, 0x1C, 0x38, 0x38, 0x70, + 0x70, 0x70, 0x38, 0x38, 0x1C, 0x0C, 0x06, 0x00, + 0x60, 0x30, 0x38, 0x1C, 0x1C, 0x0E, 0x0E, 0x0E, + 0x1C, 0x1C, 0x38, 0x38, 0x70, 0x60, 0xC0, 0x00, + 0x00, 0x00, 0x00, 0x08, 0x2A, 0x7F, 0x3E, 0x18, + 0x7C, 0xFE, 0x54, 0x10, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x1C, 0x7E, + 0x7E, 0x38, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x38, 0x78, 0x70, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, + 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x38, 0x38, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0F, 0x3C, + 0x78, 0xF0, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1C, 0x3E, 0x77, 0x77, 0x77, 0x77, 0xEE, + 0xEE, 0xEE, 0xEE, 0x7C, 0x38, 0x00, 0x00, 0x00, + 0x00, 0x0C, 0x1C, 0x3C, 0x3C, 0x1C, 0x1C, 0x38, + 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00, + 0x00, 0x3E, 0x7F, 0x77, 0x07, 0x07, 0x3E, 0x7C, + 0xE0, 0xE0, 0xE0, 0xFE, 0xFE, 0x00, 0x00, 0x00, + 0x00, 0x3E, 0x7F, 0x77, 0x07, 0x07, 0x1E, 0x3C, + 0x0E, 0x0E, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x02, 0x06, 0x0E, 0x1E, 0x3E, 0x76, 0xEC, + 0xFE, 0xFE, 0x1C, 0x1C, 0x1C, 0x00, 0x00, 0x00, + 0x00, 0x7F, 0x7F, 0x70, 0x70, 0x7C, 0x7E, 0x0E, + 0x0E, 0x0E, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x3E, 0x7E, 0x70, 0x70, 0x7C, 0x7E, 0xEE, + 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x7F, 0x7F, 0x07, 0x07, 0x0E, 0x0E, 0x1C, + 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00, + 0x00, 0x3E, 0x7F, 0x77, 0x77, 0x7F, 0x3E, 0x7E, + 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x3E, 0x7F, 0x77, 0x77, 0x77, 0x7F, 0x3E, + 0x0E, 0x0E, 0x0E, 0x7C, 0x78, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x1C, 0x00, + 0x00, 0x00, 0x38, 0x38, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x1C, 0x00, + 0x00, 0x18, 0x38, 0x38, 0x30, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x03, 0x07, 0x0E, 0x1C, 0x70, + 0x70, 0x38, 0x1C, 0x0E, 0x06, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x7F, 0x00, + 0x00, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x30, 0x38, 0x1C, 0x0E, 0x0E, + 0x0E, 0x1C, 0x38, 0x70, 0x60, 0x00, 0x00, 0x00, + 0x00, 0x3E, 0x7F, 0x77, 0x07, 0x07, 0x1E, 0x7C, + 0x70, 0x00, 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x3E, 0x7F, 0x77, 0x77, 0x77, 0x7F, 0xFE, + 0xEC, 0xE0, 0xE0, 0xFC, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x3E, 0x7F, 0x77, 0x77, 0x77, 0x76, 0xFE, + 0xFE, 0xEE, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00, + 0x00, 0x7E, 0x7F, 0x77, 0x77, 0x77, 0x7E, 0xFC, + 0xEE, 0xEE, 0xEE, 0xFE, 0xFC, 0x00, 0x00, 0x00, + 0x00, 0x3E, 0x7F, 0x77, 0x77, 0x70, 0x70, 0xE0, + 0xE0, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x7C, 0x7E, 0x77, 0x77, 0x77, 0x76, 0xEE, + 0xEE, 0xEE, 0xEE, 0xFC, 0xF8, 0x00, 0x00, 0x00, + 0x00, 0x7F, 0x7F, 0x70, 0x70, 0x70, 0x7C, 0xF8, + 0xE0, 0xE0, 0xE0, 0xFE, 0xFE, 0x00, 0x00, 0x00, + 0x00, 0x7F, 0x7F, 0x70, 0x70, 0x70, 0x7C, 0xF8, + 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0x00, 0x00, 0x00, + 0x00, 0x3E, 0x7F, 0x77, 0x77, 0x70, 0x70, 0xFE, + 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x77, 0x77, 0x77, 0x77, 0x77, 0x7E, 0xFE, + 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00, + 0x00, 0x7F, 0x7F, 0x1C, 0x1C, 0x1C, 0x1C, 0x38, + 0x38, 0x38, 0x38, 0xFE, 0xFE, 0x00, 0x00, 0x00, + 0x00, 0x07, 0x07, 0x07, 0x07, 0x07, 0x06, 0x0E, + 0x0E, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x70, 0x70, 0x72, 0x77, 0x7F, 0x7E, 0xF8, + 0xF8, 0xFC, 0xFE, 0xEE, 0xE6, 0x00, 0x00, 0x00, + 0x00, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0xE0, + 0xE0, 0xE0, 0xE0, 0xFE, 0xFE, 0x00, 0x00, 0x00, + 0x00, 0x63, 0x77, 0x7F, 0x7F, 0x7F, 0x7E, 0xEE, + 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00, + 0x00, 0x67, 0x77, 0x77, 0x7F, 0x7F, 0x7E, 0xFE, + 0xFE, 0xFE, 0xEE, 0xEE, 0xE6, 0x00, 0x00, 0x00, + 0x00, 0x3E, 0x7F, 0x77, 0x77, 0x77, 0x76, 0xEE, + 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x7E, 0x7F, 0x77, 0x77, 0x77, 0x77, 0xFE, + 0xFC, 0xE0, 0xE0, 0xE0, 0xE0, 0x00, 0x00, 0x00, + 0x00, 0x3E, 0x7F, 0x77, 0x77, 0x77, 0x76, 0xEE, + 0xEE, 0xFE, 0xFE, 0xFE, 0x7E, 0x06, 0x00, 0x00, + 0x00, 0x7E, 0x7F, 0x77, 0x77, 0x77, 0x7E, 0xFC, + 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00, + 0x00, 0x3E, 0x7F, 0x77, 0x70, 0x70, 0x7C, 0x3E, + 0x0E, 0x0E, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x7F, 0x7F, 0x1C, 0x1C, 0x1C, 0x1C, 0x38, + 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00, + 0x00, 0x77, 0x77, 0x77, 0x77, 0x77, 0x76, 0xEE, + 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x77, 0x77, 0x77, 0x77, 0x77, 0x76, 0xEE, + 0x6C, 0x7C, 0x38, 0x38, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x77, 0x77, 0x77, 0x77, 0x77, 0x76, 0xEE, + 0xFE, 0xFE, 0xFE, 0xEE, 0x44, 0x00, 0x00, 0x00, + 0x00, 0x77, 0x77, 0x77, 0x77, 0x3E, 0x1C, 0x38, + 0x7C, 0xEE, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00, + 0x00, 0x77, 0x77, 0x77, 0x77, 0x77, 0x3E, 0x38, + 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00, + 0x00, 0x7F, 0x7F, 0x07, 0x07, 0x0E, 0x1C, 0x38, + 0x70, 0xE0, 0xE0, 0xFE, 0xFE, 0x00, 0x00, 0x00, + 0x00, 0x1F, 0x1F, 0x1C, 0x1C, 0x1C, 0x1C, 0x38, + 0x38, 0x38, 0x38, 0x3E, 0x3E, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x20, 0x70, 0x78, 0x38, + 0x1C, 0x1E, 0x0E, 0x04, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x7E, 0x7E, 0x0E, 0x0E, 0x0E, 0x0E, 0x1C, + 0x1C, 0x1C, 0x1C, 0xFC, 0xFC, 0x00, 0x00, 0x00, + 0x00, 0x08, 0x1C, 0x3E, 0x77, 0x63, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, + 0x00, 0x00, 0x00, 0x18, 0x1C, 0x0C, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x3E, 0x0E, + 0x3E, 0x7E, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x38, 0x38, 0x38, 0x70, 0x7C, 0x7E, 0x6E, + 0xEE, 0xEE, 0xEE, 0xFC, 0xF8, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x7E, 0xEE, + 0xE0, 0xE0, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x07, 0x07, 0x07, 0x07, 0x3F, 0x7E, 0xEE, + 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x7E, 0xEE, + 0xFE, 0xFC, 0xE0, 0xFC, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x1F, 0x3F, 0x38, 0x38, 0x70, 0x7C, 0x7C, + 0x70, 0xE0, 0xE0, 0xE0, 0xE0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x7E, 0xEE, + 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x1C, 0xFC, 0xF8, + 0x00, 0x00, 0x70, 0x70, 0x70, 0x7C, 0x7E, 0xEE, + 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0E, 0x0E, 0x00, 0x1E, 0x3E, 0x1C, + 0x1C, 0x38, 0x38, 0x7C, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0E, 0x0E, 0x00, 0x1E, 0x3E, 0x0E, + 0x1C, 0x1C, 0x1C, 0x1C, 0x38, 0x38, 0xF8, 0xF0, + 0x00, 0x38, 0x38, 0x38, 0x3A, 0x7F, 0x7E, 0x7C, + 0x70, 0xF8, 0xFC, 0xEE, 0xEE, 0x00, 0x00, 0x00, + 0x00, 0x3C, 0x3C, 0x1C, 0x1C, 0x38, 0x38, 0x38, + 0x38, 0x70, 0x70, 0x70, 0x70, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0x7E, 0xFE, + 0xFE, 0xEE, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x7E, 0xEE, + 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x7E, 0xEE, + 0xEE, 0xEE, 0xEE, 0xFC, 0x78, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x7E, 0xEE, + 0xEE, 0xEE, 0xEE, 0xFC, 0xF8, 0xE0, 0xE0, 0xE0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x7E, 0xEE, + 0xEE, 0xEE, 0xEE, 0xFC, 0x7C, 0x1C, 0x1E, 0x1E, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0x7E, 0x70, + 0x70, 0xE0, 0xE0, 0xE0, 0xE0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x3E, 0x70, + 0x7C, 0x3E, 0x0E, 0x7C, 0xF8, 0x00, 0x00, 0x00, + 0x00, 0x38, 0x38, 0x38, 0x70, 0x7C, 0x7C, 0x70, + 0xE0, 0xE0, 0xE0, 0xFC, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x76, 0xEE, + 0xEE, 0xEE, 0xEE, 0xFE, 0x7E, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x76, 0xEE, + 0xEE, 0xEE, 0x7C, 0x38, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x76, 0xEE, + 0xFE, 0xFE, 0xFE, 0xEE, 0x44, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x76, 0x7E, + 0x38, 0x7C, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x76, 0xEE, + 0xEE, 0xEE, 0xFE, 0x7E, 0x1C, 0x1C, 0xFC, 0xF8, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x7E, 0x1E, + 0x3C, 0x78, 0xF0, 0xFE, 0xFE, 0x00, 0x00, 0x00, + 0x00, 0x0F, 0x1F, 0x1C, 0x1C, 0x1C, 0x78, 0xF0, + 0x38, 0x38, 0x38, 0x3E, 0x1E, 0x00, 0x00, 0x00, + 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x38, + 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, + 0x00, 0x78, 0x7C, 0x1C, 0x1C, 0x1C, 0x0F, 0x1E, + 0x38, 0x38, 0x38, 0xF8, 0xF0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x33, 0x7F, 0x7F, 0x66, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x7F, 0x00, 0x77, 0x55, 0x55, 0x55, 0x77, + 0x00, 0xEE, 0x28, 0x4C, 0x48, 0x48, 0x00, 0xFE, + 0x00, 0x06, 0x1F, 0x3B, 0x70, 0xFE, 0x70, 0xF8, + 0xE0, 0xE0, 0xEE, 0xFC, 0x70, 0x00, 0x00, 0x00, + 0x00, 0x10, 0x38, 0x38, 0x6C, 0x54, 0xF6, 0xEE, + 0x6C, 0x7C, 0x28, 0x38, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x38, 0x38, 0x30, 0x60, 0x00, + 0x00, 0x1F, 0x3F, 0x38, 0x38, 0x70, 0x7C, 0x7C, + 0x70, 0xE0, 0xE0, 0xE0, 0xE0, 0xC0, 0xC0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xEE, 0xEE, 0xCC, 0x98, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xDB, 0xDB, 0xDB, 0x00, 0x00, 0x00, + 0x00, 0x1C, 0x1C, 0x1C, 0x1C, 0x7F, 0x7F, 0x38, + 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, + 0x00, 0x1C, 0x1C, 0x1C, 0x7F, 0x7F, 0x1C, 0xFE, + 0xFE, 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, + 0x00, 0x3E, 0x77, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x63, 0x67, 0x1C, + 0x38, 0x70, 0xE0, 0xDB, 0x1B, 0x00, 0x00, 0x00, + 0x77, 0x3E, 0x00, 0x3E, 0x7F, 0x77, 0x70, 0x7C, + 0x3E, 0x0E, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x1C, + 0x38, 0x70, 0x38, 0x1C, 0x0E, 0x06, 0x00, 0x00, + 0x00, 0x3F, 0x7F, 0x77, 0x77, 0x77, 0x77, 0xEF, + 0xEE, 0xEE, 0xEE, 0xFF, 0x7F, 0x00, 0x00, 0x00, + 0x00, 0x10, 0x38, 0x38, 0x6C, 0x54, 0xF6, 0xEE, + 0x6C, 0x7C, 0x28, 0x38, 0x10, 0x00, 0x00, 0x00, + 0x77, 0x3E, 0x00, 0x7F, 0x7F, 0x07, 0x0E, 0x1C, + 0x38, 0x70, 0xE0, 0xFE, 0xFE, 0x00, 0x00, 0x00, + 0x00, 0x10, 0x38, 0x38, 0x6C, 0x54, 0xF6, 0xEE, + 0x6C, 0x7C, 0x28, 0x38, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x10, 0x38, 0x38, 0x6C, 0x54, 0xF6, 0xEE, + 0x6C, 0x7C, 0x28, 0x38, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0C, 0x18, 0x18, 0x18, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x18, 0x18, 0x18, 0x30, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x1B, 0x36, 0x36, 0x36, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x1B, 0x1B, 0x1B, 0x36, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x7E, + 0x7E, 0x7E, 0x7E, 0x3C, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3C, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFE, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x3B, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x79, 0x7F, 0x2F, 0x29, 0x29, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x77, 0x3E, 0x1C, 0x00, 0x1F, 0x3E, 0x70, + 0x7C, 0x3E, 0x0E, 0x7C, 0xF8, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x38, 0x38, + 0x1C, 0x0E, 0x1C, 0x38, 0x70, 0x60, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x7F, 0xFA, + 0xDE, 0xDE, 0xFC, 0xFE, 0x6E, 0x00, 0x00, 0x00, + 0x00, 0x10, 0x38, 0x38, 0x6C, 0x54, 0xF6, 0xEE, + 0x6C, 0x7C, 0x28, 0x38, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x77, 0x3E, 0x1C, 0x00, 0x7F, 0x7E, 0x1E, + 0x3C, 0x78, 0xF0, 0xFE, 0xFE, 0x00, 0x00, 0x00, + 0x00, 0x3B, 0x00, 0x77, 0x77, 0x77, 0x77, 0x3E, + 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x1C, 0x00, + 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, + 0x00, 0x00, 0x00, 0x08, 0x08, 0x3E, 0x7F, 0xD6, + 0xD0, 0xD0, 0xD6, 0xFE, 0x7C, 0x10, 0x10, 0x00, + 0x00, 0x1E, 0x3F, 0x3B, 0x38, 0x7E, 0x7E, 0xFC, + 0x70, 0x76, 0xFE, 0xFE, 0xDC, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x77, 0x77, 0x3E, 0xFE, + 0xFE, 0xFE, 0xFE, 0x7C, 0xEE, 0xEE, 0x00, 0x00, + 0x00, 0x00, 0x77, 0x77, 0x77, 0x3E, 0x1C, 0xFE, + 0x38, 0xFE, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x1C, 0x1C, 0x1C, 0x1C, 0x00, + 0x00, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00, + 0x00, 0x1E, 0x3E, 0x3E, 0x38, 0x1E, 0x3F, 0x66, + 0x7E, 0x3C, 0x0E, 0x3E, 0x3E, 0x3C, 0x00, 0x00, + 0x00, 0x77, 0x77, 0x77, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1E, 0x3F, 0x61, 0x4D, 0x5D, 0x51, 0xA1, + 0xA5, 0xBD, 0x99, 0xC3, 0x7E, 0x3C, 0x00, 0x00, + 0x00, 0x3C, 0x06, 0x3E, 0x66, 0x3E, 0x00, 0xFC, + 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, + 0x7C, 0xF8, 0xF8, 0x7C, 0x3E, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x03, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x7E, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1E, 0x3F, 0x61, 0x59, 0x5D, 0x55, 0xB9, + 0xB9, 0xA5, 0xA5, 0xC3, 0x7E, 0x3C, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x7F, 0x7F, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x3C, 0x7E, 0x66, 0x7E, 0x3C, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x1C, 0x1C, 0x7F, 0x7F, 0x7F, 0x38, + 0x38, 0x00, 0xFE, 0xFE, 0xFE, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x78, 0x7C, 0x0C, 0x3C, 0x78, 0xC0, + 0xF8, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x78, 0x7C, 0x0C, 0x18, 0x0C, 0xF8, + 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x1C, 0x38, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0xEE, + 0xEE, 0xEE, 0xEE, 0xFE, 0xFC, 0xE0, 0xE0, 0xC0, + 0x00, 0x00, 0x00, 0x3F, 0x6D, 0x6D, 0x6D, 0x7A, + 0x36, 0x36, 0x36, 0x36, 0x36, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x38, + 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x18, 0x1C, 0x0C, 0x1C, 0x18, 0x00, 0x00, + 0x00, 0x00, 0x30, 0x70, 0x30, 0x30, 0x30, 0xF0, + 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x38, 0x7C, 0x44, 0x7C, 0x38, 0x00, 0xF8, + 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD8, + 0x6C, 0x36, 0x36, 0x6C, 0xD8, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x30, 0x70, 0x31, 0x33, 0x7F, 0x1C, + 0x38, 0x76, 0xEE, 0xD6, 0x3E, 0x3E, 0x06, 0x00, + 0x00, 0x00, 0x30, 0x70, 0x31, 0x33, 0x7F, 0x1C, + 0x38, 0x70, 0xFC, 0xC6, 0x0C, 0x18, 0x1E, 0x00, + 0x00, 0x00, 0x70, 0x18, 0x31, 0x1B, 0x77, 0x1C, + 0x3A, 0x76, 0xEE, 0xD6, 0x3E, 0x3E, 0x06, 0x00, + 0x00, 0x00, 0x0E, 0x0E, 0x0E, 0x00, 0x0E, 0x1C, + 0x7C, 0xF8, 0xE0, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, + 0x00, 0x70, 0x38, 0x00, 0x08, 0x1C, 0x3E, 0xEE, + 0xFE, 0xFE, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00, + 0x00, 0x07, 0x0E, 0x00, 0x08, 0x1C, 0x3E, 0xEE, + 0xFE, 0xFE, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00, + 0x00, 0x1C, 0x36, 0x63, 0x08, 0x1C, 0x3E, 0xEE, + 0xFE, 0xFE, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00, + 0x00, 0x3B, 0x6E, 0x00, 0x08, 0x1C, 0x3E, 0xEE, + 0xFE, 0xFE, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00, + 0x00, 0x77, 0x77, 0x08, 0x1C, 0x3E, 0x76, 0xFE, + 0xFE, 0xEE, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00, + 0x00, 0x1C, 0x36, 0x1C, 0x1C, 0x3E, 0x76, 0xFE, + 0xFE, 0xEE, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00, + 0x00, 0x0F, 0x1F, 0x3F, 0x7F, 0x77, 0x7F, 0xFF, + 0xFE, 0xEE, 0xEF, 0xEF, 0xEF, 0x00, 0x00, 0x00, + 0x00, 0x3E, 0x7F, 0x77, 0x70, 0x70, 0x70, 0xE0, + 0xE0, 0xE0, 0xEE, 0xFE, 0x7C, 0x0E, 0x6E, 0x7C, + 0x00, 0x38, 0x1C, 0x00, 0x7F, 0x7F, 0x70, 0xE0, + 0xF8, 0xE0, 0xE0, 0xFE, 0xFE, 0x00, 0x00, 0x00, + 0x00, 0x0E, 0x1C, 0x00, 0x7F, 0x7F, 0x70, 0xE0, + 0xF8, 0xE0, 0xE0, 0xFE, 0xFE, 0x00, 0x00, 0x00, + 0x00, 0x3E, 0x77, 0x00, 0x7F, 0x7F, 0x70, 0xE0, + 0xF8, 0xE0, 0xE0, 0xFE, 0xFE, 0x00, 0x00, 0x00, + 0x77, 0x77, 0x00, 0x7F, 0x7F, 0x70, 0x70, 0xF8, + 0xF8, 0xE0, 0xE0, 0xFE, 0xFE, 0x00, 0x00, 0x00, + 0x00, 0x38, 0x1C, 0x00, 0x1C, 0x1C, 0x1C, 0x38, + 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00, + 0x00, 0x0E, 0x1C, 0x00, 0x1C, 0x1C, 0x1C, 0x38, + 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00, + 0x00, 0x1C, 0x36, 0x1C, 0x1C, 0x1C, 0x1C, 0x38, + 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00, + 0x00, 0x77, 0x77, 0x00, 0x1C, 0x1C, 0x1C, 0x38, + 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7C, 0x7E, 0x77, 0x77, 0x76, 0xFE, + 0xEE, 0xEE, 0xEE, 0xFC, 0xF8, 0x00, 0x00, 0x00, + 0x00, 0x3B, 0x6E, 0x00, 0x77, 0x77, 0x76, 0xF6, + 0xFE, 0xDE, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00, + 0x00, 0x38, 0x1C, 0x00, 0x3E, 0x7F, 0x76, 0xEE, + 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x0E, 0x1C, 0x00, 0x3E, 0x7F, 0x76, 0xEE, + 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x3E, 0x77, 0x00, 0x3E, 0x7F, 0x76, 0xEE, + 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x3B, 0x6E, 0x00, 0x3E, 0x7F, 0x76, 0xEE, + 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x77, 0x77, 0x00, 0x3E, 0x7F, 0x77, 0x76, 0xEE, + 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x63, 0x76, 0x7C, + 0x38, 0x38, 0x7C, 0xEE, 0xC6, 0x00, 0x00, 0x00, + 0x00, 0x3D, 0x7E, 0x77, 0x77, 0x77, 0x7E, 0xFE, + 0xFE, 0xEE, 0xEE, 0xFE, 0x7C, 0x80, 0x00, 0x00, + 0x00, 0x38, 0x1C, 0x00, 0x77, 0x77, 0x76, 0xEE, + 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x0E, 0x1C, 0x00, 0x77, 0x77, 0x76, 0xEE, + 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x3E, 0x77, 0x00, 0x77, 0x77, 0x76, 0xEE, + 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x77, 0x77, 0x00, 0x77, 0x77, 0x77, 0x76, 0xEE, + 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x0E, 0x1C, 0x00, 0x77, 0x77, 0x76, 0xEE, + 0x7C, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x70, 0x70, 0x7E, 0x7F, 0x76, 0xEE, + 0xEE, 0xFE, 0xFC, 0xE0, 0xE0, 0x00, 0x00, 0x00, + 0x00, 0x3E, 0x7F, 0x77, 0x77, 0x77, 0x7E, 0xFC, + 0xEE, 0xEE, 0xEE, 0xFE, 0xFC, 0xE0, 0xC0, 0x00, + 0x00, 0x00, 0x70, 0x38, 0x00, 0x3C, 0x3E, 0x0E, + 0x3E, 0x7E, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x1C, 0x38, 0x00, 0x3C, 0x3E, 0x0E, + 0x3E, 0x7E, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x38, 0x7C, 0xEE, 0x00, 0x3C, 0x3E, 0x0E, + 0x3E, 0x7E, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x76, 0xDC, 0x00, 0x3C, 0x3E, 0x0E, + 0x3E, 0x7E, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xEE, 0xEE, 0x00, 0x3C, 0x3E, 0x0E, + 0x3E, 0x7E, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x38, 0x6C, 0x38, 0x00, 0x3C, 0x3E, 0x0E, + 0x3E, 0x7E, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3A, 0x3F, 0x3F, 0x1A, + 0x7E, 0xFE, 0xD8, 0xFE, 0x7E, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0xFE, + 0xEE, 0xE0, 0xEE, 0xFE, 0x7C, 0x1C, 0x7E, 0x7C, + 0x00, 0x00, 0x38, 0x1C, 0x00, 0x3E, 0x7F, 0xEE, + 0xFE, 0xFE, 0xE0, 0xFE, 0x7E, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x1C, 0x38, 0x00, 0x3E, 0x7F, 0xEE, + 0xFE, 0xFE, 0xE0, 0xFE, 0x7E, 0x00, 0x00, 0x00, + 0x00, 0x1C, 0x3E, 0x77, 0x00, 0x3E, 0x7F, 0xEE, + 0xFE, 0xFE, 0xE0, 0xFE, 0x7E, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x77, 0x77, 0x00, 0x3E, 0x7F, 0xEE, + 0xFE, 0xFE, 0xE0, 0xFE, 0x7E, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x38, 0x1C, 0x00, 0x1C, 0x1C, 0x38, + 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0E, 0x1C, 0x00, 0x1C, 0x1C, 0x38, + 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00, + 0x00, 0x1C, 0x3E, 0x77, 0x00, 0x1C, 0x1C, 0x38, + 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x77, 0x77, 0x00, 0x1C, 0x1C, 0x38, + 0x38, 0x38, 0x38, 0x38, 0x38, 0x00, 0x00, 0x00, + 0x00, 0x76, 0x3E, 0x7C, 0x7E, 0x3F, 0x7E, 0xEE, + 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x3B, 0x7F, 0x6E, 0x00, 0x7E, 0x7F, 0xEE, + 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x70, 0x38, 0x00, 0x3C, 0x7E, 0xEE, + 0xEE, 0xEE, 0xEE, 0xFC, 0x78, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x1C, 0x38, 0x00, 0x3C, 0x7E, 0xEE, + 0xEE, 0xEE, 0xEE, 0xFC, 0x78, 0x00, 0x00, 0x00, + 0x00, 0x1C, 0x3E, 0x77, 0x00, 0x3C, 0x7E, 0xEE, + 0xEE, 0xEE, 0xEE, 0xFC, 0x78, 0x00, 0x00, 0x00, + 0x00, 0x3B, 0x7F, 0x6E, 0x00, 0x3C, 0x7E, 0xEE, + 0xEE, 0xEE, 0xEE, 0xFC, 0x78, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x77, 0x77, 0x00, 0x3C, 0x7E, 0xEE, + 0xEE, 0xEE, 0xEE, 0xFC, 0x78, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x1C, 0x1C, 0x00, 0xFE, + 0xFE, 0x00, 0x38, 0x38, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x3E, 0x7E, 0xEE, + 0xEE, 0xEE, 0xEE, 0xFE, 0x7C, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x70, 0x38, 0x00, 0x77, 0x76, 0xEE, + 0xEE, 0xEE, 0xEE, 0xFE, 0x7E, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x1C, 0x38, 0x00, 0x77, 0x76, 0xEE, + 0xEE, 0xEE, 0xEE, 0xFE, 0x7E, 0x00, 0x00, 0x00, + 0x00, 0x1C, 0x3E, 0x77, 0x00, 0x77, 0x76, 0xEE, + 0xEE, 0xEE, 0xEE, 0xFE, 0x7E, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x77, 0x77, 0x00, 0x77, 0x76, 0xEE, + 0xEE, 0xEE, 0xEE, 0xFE, 0x7E, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0E, 0x1C, 0x00, 0x77, 0x76, 0xEE, + 0xEE, 0xEE, 0xEE, 0xFE, 0x7E, 0x0E, 0xFE, 0xFC, + 0x00, 0x00, 0x70, 0x70, 0x7E, 0x7F, 0x76, 0xEE, + 0xEE, 0xEE, 0xEE, 0xEE, 0xFE, 0xFC, 0xE0, 0xE0, + 0x00, 0x00, 0x77, 0x77, 0x00, 0x77, 0x76, 0xEE, + 0xEE, 0xEE, 0xEE, 0xFE, 0x7E, 0x0E, 0xFE, 0xFC, +}; + +const struct fb_font_desc font_italic_bold = { + .name = "NetSurf Italic Bold", + .width = 8, + .height = 16, + .encoding = "CP1252", + .data = fontdata_italic_bold, +}; + + +static const uint32_t fontdata_regular[FONTDATAMAX] = { + 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, + 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, 0x00, 0xFE, + 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, + 0x00, 0xE4, 0xAC, 0xA4, 0xA4, 0xEE, 0x00, 0xFE, + 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, + 0x00, 0xEC, 0xA2, 0xA4, 0xA8, 0xEE, 0x00, 0xFE, + 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, + 0x00, 0xEC, 0xA2, 0xAC, 0xA2, 0xEC, 0x00, 0xFE, + 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, + 0x00, 0xEA, 0xAA, 0xAE, 0xA2, 0xE2, 0x00, 0xFE, + 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, + 0x00, 0xEE, 0xA8, 0xAE, 0xA2, 0xEE, 0x00, 0xFE, + 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, + 0x00, 0xE6, 0xA8, 0xAE, 0xAA, 0xEE, 0x00, 0xFE, + 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, + 0x00, 0xEE, 0xA2, 0xA4, 0xA4, 0xE4, 0x00, 0xFE, + 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, + 0x00, 0xEE, 0xAA, 0xAE, 0xAA, 0xEE, 0x00, 0xFE, + 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, + 0x00, 0xEE, 0xAA, 0xAE, 0xA2, 0xE2, 0x00, 0xFE, + 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, + 0x00, 0xE4, 0xAA, 0xAE, 0xAA, 0xEA, 0x00, 0xFE, + 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, + 0x00, 0xEC, 0xAA, 0xAC, 0xAA, 0xEC, 0x00, 0xFE, + 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, + 0x00, 0xE4, 0xAA, 0xA8, 0xAA, 0xE4, 0x00, 0xFE, + 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, + 0x00, 0xEC, 0xAA, 0xAA, 0xAA, 0xEC, 0x00, 0xFE, + 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, + 0x00, 0xEE, 0xA8, 0xAC, 0xA8, 0xEE, 0x00, 0xFE, + 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, + 0x00, 0xEE, 0xA8, 0xAC, 0xA8, 0xE8, 0x00, 0xFE, + 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, + 0x00, 0x4E, 0xCA, 0x4A, 0x4A, 0xEE, 0x00, 0xFE, + 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, + 0x00, 0x44, 0xCC, 0x44, 0x44, 0xEE, 0x00, 0xFE, + 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, + 0x00, 0x4C, 0xC2, 0x44, 0x48, 0xEE, 0x00, 0xFE, + 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, + 0x00, 0x4C, 0xC2, 0x4C, 0x42, 0xEC, 0x00, 0xFE, + 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, + 0x00, 0x4A, 0xCA, 0x4E, 0x42, 0xE2, 0x00, 0xFE, + 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, + 0x00, 0x4E, 0xC8, 0x4E, 0x42, 0xEE, 0x00, 0xFE, + 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, + 0x00, 0x46, 0xC8, 0x4E, 0x4A, 0xEE, 0x00, 0xFE, + 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, + 0x00, 0x4E, 0xC2, 0x44, 0x44, 0xE4, 0x00, 0xFE, + 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, + 0x00, 0x4E, 0xCA, 0x4E, 0x4A, 0xEE, 0x00, 0xFE, + 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, + 0x00, 0x4E, 0xCA, 0x4E, 0x42, 0xE2, 0x00, 0xFE, + 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, + 0x00, 0x44, 0xCA, 0x4E, 0x4A, 0xEA, 0x00, 0xFE, + 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, + 0x00, 0x4C, 0xCA, 0x4C, 0x4A, 0xEC, 0x00, 0xFE, + 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, + 0x00, 0x44, 0xCA, 0x48, 0x4A, 0xE4, 0x00, 0xFE, + 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, + 0x00, 0x4C, 0xCA, 0x4A, 0x4A, 0xEC, 0x00, 0xFE, + 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, + 0x00, 0x4E, 0xC8, 0x4C, 0x48, 0xEE, 0x00, 0xFE, + 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, + 0x00, 0x4E, 0xC8, 0x4C, 0x48, 0xE8, 0x00, 0xFE, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x6C, 0x6C, 0x6C, 0x6C, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x6C, 0x6C, 0x6C, 0xFE, 0xFE, 0x6C, 0x6C, + 0xFE, 0xFE, 0x6C, 0x6C, 0x6C, 0x00, 0x00, 0x00, + 0x00, 0x10, 0x7C, 0xFE, 0xD6, 0xD0, 0xF0, 0x7C, + 0x1E, 0x16, 0xD6, 0xFE, 0x7C, 0x10, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xCE, 0x1C, + 0x38, 0x70, 0xE6, 0xC6, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x70, 0xF8, 0xD8, 0xD8, 0xF8, 0x72, 0xFE, + 0xDE, 0xCC, 0xCC, 0xFE, 0x7A, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x06, 0x0E, 0x1C, 0x18, 0x38, 0x30, 0x30, 0x30, + 0x30, 0x38, 0x18, 0x1C, 0x0E, 0x06, 0x00, 0x00, + 0x60, 0x70, 0x38, 0x18, 0x1C, 0x0C, 0x0C, 0x0C, + 0x0C, 0x1C, 0x18, 0x38, 0x70, 0x60, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x6C, 0x6C, 0x38, 0xFE, + 0xFE, 0x38, 0x6C, 0x6C, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x7E, 0x7E, + 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x18, 0x38, 0x30, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x7E, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x0E, 0x1C, + 0x38, 0x70, 0xE0, 0xC0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x7C, 0xFE, 0xC6, 0xCE, 0xCE, 0xD6, 0xD6, + 0xE6, 0xE6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x18, 0x38, 0x78, 0x78, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, + 0x00, 0x7C, 0xFE, 0xC6, 0x06, 0x06, 0x3E, 0x7C, + 0xE0, 0xC0, 0xC0, 0xFE, 0xFE, 0x00, 0x00, 0x00, + 0x00, 0x7C, 0xFE, 0xC6, 0x06, 0x06, 0x3C, 0x3C, + 0x06, 0x06, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x04, 0x0C, 0x1C, 0x3C, 0x7C, 0xEC, 0xFE, + 0xFE, 0x0C, 0x0C, 0x0C, 0x0C, 0x00, 0x00, 0x00, + 0x00, 0xFE, 0xFE, 0xC0, 0xC0, 0xC0, 0xFC, 0xFE, + 0x06, 0x06, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x3C, 0x7C, 0xE0, 0xC0, 0xC0, 0xFC, 0xFE, + 0xC6, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0xFE, 0xFE, 0xC6, 0x0E, 0x0C, 0x1C, 0x18, + 0x38, 0x30, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, + 0x00, 0x7C, 0xFE, 0xC6, 0xC6, 0xC6, 0x7C, 0x7C, + 0xC6, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x7C, 0xFE, 0xC6, 0xC6, 0xC6, 0xFE, 0x7E, + 0x06, 0x06, 0x0E, 0x7C, 0x78, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, + 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, + 0x00, 0x18, 0x18, 0x38, 0x30, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x06, 0x0E, 0x1C, 0x38, 0x70, 0x70, + 0x38, 0x1C, 0x0E, 0x06, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x7E, 0x7E, 0x00, 0x00, + 0x7E, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x60, 0x70, 0x38, 0x1C, 0x0E, 0x0E, + 0x1C, 0x38, 0x70, 0x60, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x7C, 0xFE, 0xC6, 0xC6, 0x06, 0x1E, 0x3C, + 0x30, 0x30, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, + 0x00, 0x7C, 0xFE, 0xC6, 0xCE, 0xDE, 0xD6, 0xD6, + 0xDE, 0xCC, 0xC0, 0xFC, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x7C, 0xFE, 0xC6, 0xC6, 0xC6, 0xFE, 0xFE, + 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, + 0x00, 0xFC, 0xFE, 0xC6, 0xC6, 0xC6, 0xFC, 0xFC, + 0xC6, 0xC6, 0xC6, 0xFE, 0xFC, 0x00, 0x00, 0x00, + 0x00, 0x7C, 0xFE, 0xC6, 0xC0, 0xC0, 0xC0, 0xC0, + 0xC0, 0xC0, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0xF8, 0xFC, 0xCE, 0xC6, 0xC6, 0xC6, 0xC6, + 0xC6, 0xC6, 0xCE, 0xFC, 0xF8, 0x00, 0x00, 0x00, + 0x00, 0xFE, 0xFE, 0xC0, 0xC0, 0xC0, 0xF8, 0xF8, + 0xC0, 0xC0, 0xC0, 0xFE, 0xFE, 0x00, 0x00, 0x00, + 0x00, 0xFE, 0xFE, 0xC0, 0xC0, 0xC0, 0xF8, 0xF8, + 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x00, + 0x00, 0x7C, 0xFE, 0xC6, 0xC0, 0xC0, 0xDE, 0xDE, + 0xC6, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xFE, 0xFE, + 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, + 0x00, 0x7E, 0x7E, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x7E, 0x7E, 0x00, 0x00, 0x00, + 0x00, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, + 0x0C, 0x0C, 0xCC, 0xFC, 0x78, 0x00, 0x00, 0x00, + 0x00, 0xC0, 0xC6, 0xCE, 0xDC, 0xF8, 0xF0, 0xE0, + 0xF0, 0xF8, 0xDC, 0xCE, 0xC6, 0x00, 0x00, 0x00, + 0x00, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, + 0xC0, 0xC0, 0xC0, 0xFE, 0xFE, 0x00, 0x00, 0x00, + 0x00, 0xC6, 0xC6, 0xEE, 0xFE, 0xFE, 0xFE, 0xD6, + 0xD6, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, + 0x00, 0xC6, 0xC6, 0xE6, 0xE6, 0xF6, 0xF6, 0xDE, + 0xDE, 0xCE, 0xCE, 0xC6, 0xC6, 0x00, 0x00, 0x00, + 0x00, 0x7C, 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, + 0xC6, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0xFC, 0xFE, 0xC6, 0xC6, 0xC6, 0xFE, 0xFC, + 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x00, + 0x00, 0x7C, 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, + 0xC6, 0xD6, 0xDE, 0xFE, 0x7C, 0x06, 0x00, 0x00, + 0x00, 0xFC, 0xFE, 0xC6, 0xC6, 0xC6, 0xFC, 0xFC, + 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, + 0x00, 0x7C, 0xFE, 0xC6, 0xC0, 0xC0, 0xFC, 0x7E, + 0x06, 0x06, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x7E, 0x7E, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, + 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, + 0xC6, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xEE, + 0x6C, 0x7C, 0x38, 0x38, 0x10, 0x00, 0x00, 0x00, + 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xD6, + 0xD6, 0xFE, 0xFE, 0xEE, 0x44, 0x00, 0x00, 0x00, + 0x00, 0xC6, 0xC6, 0xC6, 0xEE, 0x7C, 0x38, 0x38, + 0x7C, 0xEE, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, + 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xEE, 0x7C, 0x38, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, + 0x00, 0xFE, 0xFE, 0x0E, 0x0C, 0x1C, 0x18, 0x38, + 0x30, 0x70, 0x60, 0xFE, 0xFE, 0x00, 0x00, 0x00, + 0x00, 0x3E, 0x3E, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x3E, 0x3E, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xE0, 0x70, + 0x38, 0x1C, 0x0E, 0x06, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x7C, 0x7C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, + 0x0C, 0x0C, 0x0C, 0x7C, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x10, 0x38, 0x7C, 0xEE, 0xC6, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, + 0x00, 0x00, 0x30, 0x30, 0x18, 0x08, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x7E, 0x06, + 0x7E, 0xFE, 0xC6, 0xFE, 0x7E, 0x00, 0x00, 0x00, + 0x00, 0xC0, 0xC0, 0xC0, 0xC0, 0xFC, 0xFE, 0xC6, + 0xC6, 0xC6, 0xC6, 0xFE, 0xFC, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xFE, 0xC6, + 0xC0, 0xC0, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x06, 0x06, 0x06, 0x06, 0x7E, 0xFE, 0xC6, + 0xC6, 0xC6, 0xC6, 0xFE, 0x7E, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xFE, 0xC6, + 0xFE, 0xFE, 0xC0, 0xFE, 0x7E, 0x00, 0x00, 0x00, + 0x00, 0x1E, 0x3E, 0x30, 0x30, 0x30, 0x78, 0x78, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0xFE, 0xC6, + 0xC6, 0xC6, 0xC6, 0xFE, 0x7E, 0x06, 0x7E, 0x7C, + 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0xDC, 0xFE, 0xE6, + 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x18, 0x18, 0x00, 0x38, 0x38, 0x18, + 0x18, 0x18, 0x18, 0x3C, 0x3C, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0C, 0x0C, 0x00, 0x1C, 0x1C, 0x0C, + 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x7C, 0x78, + 0x00, 0xC0, 0xC0, 0xC0, 0xC0, 0xC6, 0xCE, 0xDC, + 0xF8, 0xF8, 0xDC, 0xCE, 0xC6, 0x00, 0x00, 0x00, + 0x00, 0x38, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xEC, 0xFE, 0xFE, + 0xD6, 0xD6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xDC, 0xFE, 0xE6, + 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xFE, 0xC6, + 0xC6, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xFE, 0xC6, + 0xC6, 0xC6, 0xC6, 0xFE, 0xFC, 0xC0, 0xC0, 0xC0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0xFE, 0xC6, + 0xC6, 0xC6, 0xC6, 0xFE, 0x7E, 0x06, 0x07, 0x07, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xDE, 0xFE, 0xE0, + 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0xFE, 0xC0, + 0xFC, 0x7C, 0x06, 0xFE, 0xFC, 0x00, 0x00, 0x00, + 0x00, 0x10, 0x30, 0x30, 0x30, 0x7C, 0xFC, 0x30, + 0x30, 0x30, 0x30, 0x3E, 0x1E, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xC6, 0xC6, + 0xC6, 0xC6, 0xCE, 0xFE, 0x76, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xC6, 0xC6, + 0xC6, 0xEE, 0x7C, 0x38, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xC6, 0xC6, + 0xD6, 0xD6, 0xFE, 0xFE, 0x6C, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xC6, 0xEE, + 0x7C, 0x7C, 0xEE, 0xC6, 0xC6, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xC6, 0xC6, + 0xC6, 0xC6, 0xC6, 0xFE, 0x7E, 0x06, 0xFE, 0xFC, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFE, 0x0E, + 0x3C, 0x78, 0xE0, 0xFE, 0xFE, 0x00, 0x00, 0x00, + 0x00, 0x0E, 0x1E, 0x18, 0x18, 0x18, 0x70, 0x70, + 0x18, 0x18, 0x18, 0x1E, 0x0E, 0x00, 0x00, 0x00, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, + 0x00, 0x70, 0x78, 0x18, 0x18, 0x18, 0x0E, 0x0E, + 0x18, 0x18, 0x18, 0x78, 0x70, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x76, 0xFE, 0xDC, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFE, 0x00, 0xEE, 0xAA, 0xAA, 0xAA, 0xEE, + 0x00, 0xEE, 0x28, 0x4C, 0x48, 0x48, 0x00, 0xFE, + 0x00, 0x18, 0x3C, 0x66, 0x60, 0xFC, 0x60, 0xF8, + 0x60, 0x60, 0x66, 0x3C, 0x18, 0x00, 0x00, 0x00, + 0x00, 0x10, 0x38, 0x38, 0x6C, 0x54, 0xF6, 0xEE, + 0x6C, 0x7C, 0x28, 0x38, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x18, 0x18, 0x08, 0x10, 0x00, + 0x00, 0x1E, 0x3E, 0x30, 0x30, 0x30, 0x78, 0x78, + 0x30, 0x30, 0x30, 0x30, 0x30, 0xF0, 0x60, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x66, 0x66, 0x22, 0x44, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xDB, 0xDB, 0x00, 0x00, 0x00, + 0x00, 0x18, 0x18, 0x18, 0x7E, 0x7E, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, + 0x00, 0x18, 0x18, 0x18, 0x7E, 0x7E, 0x18, 0x7E, + 0x7E, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, + 0x00, 0x7C, 0xC6, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xC2, 0xC6, 0x0C, + 0x18, 0x30, 0x60, 0xDB, 0x9B, 0x00, 0x00, 0x00, + 0xC6, 0x7C, 0x00, 0x7C, 0xFE, 0xC6, 0xC0, 0xFC, + 0x7E, 0x06, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x1C, + 0x38, 0x30, 0x38, 0x1C, 0x0C, 0x00, 0x00, 0x00, + 0x00, 0x7F, 0xFF, 0xCC, 0xCC, 0xCC, 0xCF, 0xCF, + 0xCC, 0xCC, 0xCC, 0xFF, 0x7F, 0x00, 0x00, 0x00, + 0x00, 0x10, 0x38, 0x38, 0x6C, 0x54, 0xF6, 0xEE, + 0x6C, 0x7C, 0x28, 0x38, 0x10, 0x00, 0x00, 0x00, + 0xC6, 0x7C, 0x00, 0xFE, 0xFE, 0x06, 0x0C, 0x18, + 0x30, 0x60, 0xC0, 0xFE, 0xFE, 0x00, 0x00, 0x00, + 0x00, 0x10, 0x38, 0x38, 0x6C, 0x54, 0xF6, 0xEE, + 0x6C, 0x7C, 0x28, 0x38, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x10, 0x38, 0x38, 0x6C, 0x54, 0xF6, 0xEE, + 0x6C, 0x7C, 0x28, 0x38, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x10, 0x20, 0x30, 0x30, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x30, 0x30, 0x10, 0x20, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x24, 0x48, 0x6C, 0x6C, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x36, 0x36, 0x12, 0x24, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x7E, + 0x7E, 0x7E, 0x7E, 0x3C, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x32, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xF1, 0xFB, 0x5F, 0x55, 0x51, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xC6, 0x6C, 0x38, 0x00, 0x7E, 0xFE, 0xC0, + 0xFC, 0x7C, 0x06, 0xFE, 0xFC, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x38, + 0x1C, 0x0C, 0x1C, 0x38, 0x30, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xFE, 0xDA, + 0xDE, 0xDE, 0xD8, 0xFE, 0x6E, 0x00, 0x00, 0x00, + 0x00, 0x10, 0x38, 0x38, 0x6C, 0x54, 0xF6, 0xEE, + 0x6C, 0x7C, 0x28, 0x38, 0x10, 0x00, 0x00, 0x00, + 0x00, 0xC6, 0x6C, 0x38, 0x00, 0xFE, 0xFE, 0x0E, + 0x3C, 0x78, 0xE0, 0xFE, 0xFE, 0x00, 0x00, 0x00, + 0x00, 0x6C, 0x00, 0xC6, 0xC6, 0xC6, 0xEE, 0x7C, + 0x38, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, + 0x00, 0x00, 0x00, 0x10, 0x10, 0x7C, 0xFE, 0xD6, + 0xD0, 0xD0, 0xD6, 0xFE, 0x7C, 0x10, 0x10, 0x00, + 0x00, 0x3C, 0x7E, 0x66, 0x60, 0x60, 0xF8, 0xF8, + 0x60, 0x60, 0xE6, 0xFE, 0xDC, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x66, 0x66, 0x3C, 0x7E, + 0x66, 0x66, 0x7E, 0x3C, 0x66, 0x66, 0x00, 0x00, + 0x00, 0x00, 0x66, 0x66, 0x66, 0x3C, 0x18, 0x7E, + 0x18, 0x7E, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x18, 0x00, + 0x00, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, + 0x00, 0x3C, 0x7C, 0x60, 0x60, 0x3C, 0x7E, 0x66, + 0x7E, 0x3C, 0x06, 0x06, 0x3E, 0x3C, 0x00, 0x00, + 0x00, 0x00, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x3C, 0x7E, 0xC3, 0x99, 0xBD, 0xA5, 0xA1, + 0xA5, 0xBD, 0x99, 0xC3, 0x7E, 0x3C, 0x00, 0x00, + 0x00, 0x70, 0x08, 0x78, 0x88, 0x78, 0x00, 0xF8, + 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, + 0x6C, 0xD8, 0xD8, 0x6C, 0x36, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7E, 0x7E, 0x06, 0x02, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x3C, 0x7E, 0xC3, 0xB9, 0xBD, 0xA5, 0xB9, + 0xB9, 0xA5, 0xA5, 0xC3, 0x7E, 0x3C, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x78, 0xFC, 0xCC, 0xFC, 0x78, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x18, 0x18, 0x7E, 0x7E, 0x18, + 0x18, 0x00, 0x7E, 0x7E, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xF0, 0xF8, 0x18, 0x78, 0xF0, 0xC0, + 0xF8, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xF0, 0xF8, 0x18, 0x30, 0x18, 0xF8, + 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x18, 0x30, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x66, + 0x66, 0x66, 0x66, 0x7E, 0x7C, 0x60, 0x60, 0xC0, + 0x00, 0x00, 0x00, 0x7F, 0xDB, 0xDB, 0xDB, 0x7B, + 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, + 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x18, 0x1C, 0x0C, 0x1C, 0x18, 0x00, 0x00, + 0x00, 0x00, 0x60, 0xE0, 0x60, 0x60, 0x60, 0xF0, + 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x70, 0xF8, 0x88, 0xF8, 0x70, 0x00, 0xF8, + 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD8, + 0x6C, 0x36, 0x36, 0x6C, 0xD8, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x40, 0xC0, 0x42, 0x46, 0xEC, 0x18, + 0x30, 0x64, 0xCC, 0x94, 0x3E, 0x04, 0x04, 0x00, + 0x00, 0x00, 0x40, 0xC0, 0x42, 0x46, 0xEC, 0x18, + 0x30, 0x60, 0xDC, 0x82, 0x0C, 0x10, 0x1E, 0x00, + 0x00, 0x00, 0xE0, 0x10, 0x62, 0x16, 0xEC, 0x18, + 0x30, 0x64, 0xCC, 0x96, 0x3E, 0x04, 0x04, 0x00, + 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x18, 0x18, + 0x78, 0xF0, 0xC0, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, + 0x00, 0x60, 0x30, 0x00, 0x10, 0x38, 0x6C, 0xC6, + 0xFE, 0xFE, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, + 0x00, 0x0C, 0x18, 0x00, 0x10, 0x38, 0x6C, 0xC6, + 0xFE, 0xFE, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, + 0x00, 0x38, 0x6C, 0x44, 0x10, 0x38, 0x6C, 0xC6, + 0xFE, 0xFE, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, + 0x00, 0x76, 0xDC, 0x00, 0x10, 0x38, 0x6C, 0xC6, + 0xFE, 0xFE, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, + 0x6C, 0x6C, 0x00, 0x10, 0x38, 0x6C, 0xC6, 0xFE, + 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, + 0x00, 0x38, 0x44, 0x38, 0x38, 0x6C, 0xC6, 0xFE, + 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, + 0x00, 0x1F, 0x3F, 0x7C, 0xEC, 0xCC, 0xFE, 0xFE, + 0xCC, 0xCC, 0xCC, 0xCF, 0xCF, 0x00, 0x00, 0x00, + 0x00, 0x7C, 0xFE, 0xC6, 0xC0, 0xC0, 0xC0, 0xC0, + 0xC0, 0xC0, 0xC6, 0xFE, 0x7C, 0x0E, 0x66, 0x3C, + 0x00, 0x30, 0x18, 0x00, 0xFE, 0xFE, 0xC0, 0xF0, + 0xF0, 0xC0, 0xC0, 0xFE, 0xFE, 0x00, 0x00, 0x00, + 0x00, 0x0C, 0x18, 0x00, 0xFE, 0xFE, 0xC0, 0xF0, + 0xF0, 0xC0, 0xC0, 0xFE, 0xFE, 0x00, 0x00, 0x00, + 0x00, 0x38, 0x6C, 0x00, 0xFE, 0xFE, 0xC0, 0xF0, + 0xF0, 0xC0, 0xC0, 0xFE, 0xFE, 0x00, 0x00, 0x00, + 0x6C, 0x6C, 0x00, 0xFE, 0xFE, 0xC0, 0xC0, 0xF0, + 0xF0, 0xC0, 0xC0, 0xFE, 0xFE, 0x00, 0x00, 0x00, + 0x00, 0x30, 0x18, 0x00, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, + 0x00, 0x0C, 0x18, 0x00, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, + 0x00, 0x18, 0x24, 0x18, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, + 0x00, 0x66, 0x66, 0x00, 0x18, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x78, 0x7C, 0x6E, 0x66, 0x66, 0xF6, + 0x66, 0x66, 0x6E, 0x7C, 0x78, 0x00, 0x00, 0x00, + 0x00, 0x76, 0xDC, 0x00, 0xC6, 0xC6, 0xE6, 0xF6, + 0xFE, 0xDE, 0xCE, 0xC6, 0xC6, 0x00, 0x00, 0x00, + 0x00, 0x30, 0x18, 0x00, 0x7C, 0xFE, 0xC6, 0xC6, + 0xC6, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x0C, 0x18, 0x00, 0x7C, 0xFE, 0xC6, 0xC6, + 0xC6, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x38, 0x6C, 0x00, 0x7C, 0xFE, 0xC6, 0xC6, + 0xC6, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x76, 0xDC, 0x00, 0x7C, 0xFE, 0xC6, 0xC6, + 0xC6, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x6C, 0x00, 0x7C, 0xFE, 0xC6, 0xC6, 0xC6, + 0xC6, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xEE, 0x7C, + 0x38, 0x38, 0x7C, 0xEE, 0xC6, 0x00, 0x00, 0x00, + 0x00, 0x7E, 0xFE, 0xC6, 0xC6, 0xCE, 0xCE, 0xD6, + 0xD6, 0xE6, 0xE6, 0xFE, 0x7C, 0x80, 0x00, 0x00, + 0x00, 0x30, 0x18, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, + 0xC6, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x0C, 0x18, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, + 0xC6, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x38, 0x6C, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, + 0xC6, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x6C, 0x6C, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, + 0xC6, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x0C, 0x18, 0x00, 0x66, 0x66, 0x66, 0x7E, + 0x3C, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x60, 0x60, 0x7C, 0x7E, 0x66, 0x66, + 0x7E, 0x7C, 0x60, 0x60, 0x60, 0x00, 0x00, 0x00, + 0x00, 0x3C, 0x7E, 0x66, 0x66, 0x66, 0x7E, 0x7C, + 0x66, 0x66, 0x66, 0x7E, 0x7C, 0xE0, 0xC0, 0x00, + 0x00, 0x00, 0x30, 0x18, 0x00, 0x7E, 0xFE, 0xC6, + 0xC6, 0xCE, 0xCE, 0xFE, 0x76, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x18, 0x30, 0x00, 0x7E, 0xFE, 0xC6, + 0xC6, 0xC6, 0xCE, 0xFE, 0x76, 0x00, 0x00, 0x00, + 0x00, 0x10, 0x38, 0x6C, 0x00, 0x7E, 0xFE, 0xC6, + 0xC6, 0xC6, 0xCE, 0xFE, 0x76, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x76, 0xDC, 0x00, 0x7E, 0xFE, 0xC6, + 0xC6, 0xC6, 0xCE, 0xFE, 0x76, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x6C, 0x6C, 0x00, 0x7E, 0xFE, 0xC6, + 0xC6, 0xC6, 0xCE, 0xFE, 0x76, 0x00, 0x00, 0x00, + 0x00, 0x38, 0x6C, 0x38, 0x00, 0x7E, 0xFE, 0xC6, + 0xC6, 0xC6, 0xCE, 0xFE, 0x76, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0x7E, 0x1A, + 0x3E, 0x7E, 0xD8, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xFE, + 0xC6, 0xC0, 0xC6, 0xFE, 0x7C, 0x18, 0x7C, 0x78, + 0x00, 0x00, 0x30, 0x18, 0x00, 0x7C, 0xFE, 0xC6, + 0xFE, 0xFE, 0xC0, 0xFE, 0x7E, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x18, 0x30, 0x00, 0x7C, 0xFE, 0xC6, + 0xFE, 0xFE, 0xC0, 0xFE, 0x7E, 0x00, 0x00, 0x00, + 0x00, 0x10, 0x38, 0x6C, 0x00, 0x7C, 0xFE, 0xC6, + 0xFE, 0xFE, 0xC0, 0xFE, 0x7E, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x6C, 0x6C, 0x00, 0x7C, 0xFE, 0xC6, + 0xFE, 0xFE, 0xC0, 0xFE, 0x7E, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x30, 0x18, 0x00, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0C, 0x18, 0x00, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, + 0x00, 0x18, 0x3C, 0x66, 0x00, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x66, 0x66, 0x00, 0x18, 0x18, 0x18, + 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, + 0x00, 0x6C, 0x7C, 0xF8, 0xDC, 0x7C, 0xFE, 0xC6, + 0xC6, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x76, 0xFE, 0xDC, 0x00, 0xFC, 0xFE, 0xC6, + 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x60, 0x30, 0x00, 0x7C, 0xFE, 0xC6, + 0xC6, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x18, 0x30, 0x00, 0x7C, 0xFE, 0xC6, + 0xC6, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x10, 0x38, 0x6C, 0x00, 0x7C, 0xFE, 0xC6, + 0xC6, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x76, 0xFE, 0xDC, 0x00, 0x7C, 0xFE, 0xC6, + 0xC6, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x6C, 0x6C, 0x00, 0x7C, 0xFE, 0xC6, + 0xC6, 0xC6, 0xC6, 0xFE, 0x7C, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x7E, + 0x7E, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x7C, 0xFE, 0xCE, + 0xD6, 0xD6, 0xE6, 0xFE, 0x7C, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x60, 0x30, 0x00, 0xC6, 0xC6, 0xC6, + 0xC6, 0xC6, 0xC6, 0xFE, 0x7E, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x18, 0x30, 0x00, 0xC6, 0xC6, 0xC6, + 0xC6, 0xC6, 0xC6, 0xFE, 0x7E, 0x00, 0x00, 0x00, + 0x00, 0x10, 0x38, 0x6C, 0x00, 0xC6, 0xC6, 0xC6, + 0xC6, 0xC6, 0xC6, 0xFE, 0x7E, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x6C, 0x6C, 0x00, 0xC6, 0xC6, 0xC6, + 0xC6, 0xC6, 0xC6, 0xFE, 0x7E, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0C, 0x18, 0x00, 0xC6, 0xC6, 0xC6, + 0xC6, 0xC6, 0xC6, 0xFE, 0x7E, 0x06, 0xFC, 0xF8, + 0x00, 0x00, 0x60, 0x60, 0x60, 0x7C, 0x7E, 0x66, + 0x66, 0x66, 0x66, 0x7E, 0x7C, 0x60, 0x60, 0x60, + 0x00, 0x00, 0x6C, 0x6C, 0x00, 0xC6, 0xC6, 0xC6, + 0xC6, 0xC6, 0xC6, 0xFE, 0x7E, 0x06, 0xFE, 0xFC, +}; + +const struct fb_font_desc font_regular = { + .name = "NetSurf Regular", + .width = 8, + .height = 16, + .encoding = "CP1252", + .data = fontdata_regular, +}; + #endif diff --git a/atari/plot/font_internal.h b/atari/plot/font_internal.h index 628a63cdc..9bfbbedef 100644 --- a/atari/plot/font_internal.h +++ b/atari/plot/font_internal.h @@ -1,36 +1,37 @@ -/*
- * Copyright 2008 Vincent Sanders <vince@simtec.co.uk>
- * Copyright 2011 Ole Loots <ole@monochrom.net>
- *
- * This file is part of NetSurf, http://www.netsurf-browser.org/
- *
- * NetSurf is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
- *
- * NetSurf is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
+/* + * Copyright 2008 Vincent Sanders <vince@simtec.co.uk> + * Copyright 2011 Ole Loots <ole@monochrom.net> + * + * This file is part of NetSurf, http://www.netsurf-browser.org/ + * + * NetSurf is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * NetSurf is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. */ - #ifdef WITH_INTERNAL_FONT_DRIVER
-#ifndef FONT_PLOTTER_INTERNAL
+ +#ifdef WITH_INTERNAL_FONT_DRIVER +#ifndef FONT_PLOTTER_INTERNAL #define FONT_PLOTTER_INTERNAL -#include "atari/plot/plot.h"
-
-int ctor_font_plotter_internal( FONT_PLOTTER self );
-
-struct fb_font_desc {
- const char *name;
- int width, height;
- const char *encoding;
- const uint32_t *data;
-};
-
-
+#include "atari/plot/plot.h" + +int ctor_font_plotter_internal( FONT_PLOTTER self ); + +struct fb_font_desc { + const char *name; + int width, height; + const char *encoding; + const uint32_t *data; +}; + + #endif #endif diff --git a/atari/plot/font_vdi.c b/atari/plot/font_vdi.c index 7f3dacf63..7c186107a 100755..100644 --- a/atari/plot/font_vdi.c +++ b/atari/plot/font_vdi.c @@ -29,13 +29,10 @@ #include "atari/encoding.h" - - //static char * lstr = NULL; - static int dtor( FONT_PLOTTER self ); -static int str_width( FONT_PLOTTER self,const plot_font_style_t *fstyle, const char * str, size_t length, int * width ); +static int str_width( FONT_PLOTTER self,const plot_font_style_t *fstyle, const char * str, size_t length, int * width ); static int str_split( FONT_PLOTTER self, const plot_font_style_t *fstyle,const char *string, size_t length,int x, size_t *char_offset, int *actual_x ); static int pixel_pos( FONT_PLOTTER self, const plot_font_style_t *fstyle,const char *string, diff --git a/atari/plot/font_vdi.h b/atari/plot/font_vdi.h index 6de2c4e29..3a1fdb54b 100755..100644 --- a/atari/plot/font_vdi.h +++ b/atari/plot/font_vdi.h @@ -1,25 +1,26 @@ -/*
- * Copyright 2010 Ole Loots <ole@monochrom.net>
- *
- * This file is part of NetSurf, http://www.netsurf-browser.org/
- *
- * NetSurf is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
- *
- * NetSurf is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+/* + * Copyright 2010 Ole Loots <ole@monochrom.net> + * + * This file is part of NetSurf, http://www.netsurf-browser.org/ + * + * NetSurf is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * NetSurf is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + #ifdef WITH_VDI_FONT_DRIVER -#ifndef FONT_PLOTTER_VDI
-#define FONT_PLOTTER_VDI
-
-int ctor_font_plotter_vdi( FONT_PLOTTER self );
-
+#ifndef FONT_PLOTTER_VDI +#define FONT_PLOTTER_VDI + +int ctor_font_plotter_vdi( FONT_PLOTTER self ); + #endif #endif diff --git a/atari/plot/fontplot.h b/atari/plot/fontplot.h index 27524fded..6690bff2c 100644 --- a/atari/plot/fontplot.h +++ b/atari/plot/fontplot.h @@ -1,3 +1,21 @@ +/* + * Copyright 2010 Ole Loots <ole@monochrom.net> + * + * This file is part of NetSurf, http://www.netsurf-browser.org/ + * + * NetSurf is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * NetSurf is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + #ifndef FONT_PLOT_H #define FONT_PLOT_H diff --git a/atari/plot/plot.c b/atari/plot/plot.c index ac998a4d5..ac998a4d5 100755..100644 --- a/atari/plot/plot.c +++ b/atari/plot/plot.c diff --git a/atari/plot/plot.h b/atari/plot/plot.h index 22f8781c2..22f8781c2 100755..100644 --- a/atari/plot/plot.h +++ b/atari/plot/plot.h diff --git a/atari/redrawslots.c b/atari/redrawslots.c index 6977a6d2d..f5351866a 100644 --- a/atari/redrawslots.c +++ b/atari/redrawslots.c @@ -1,19 +1,19 @@ -/*
- * Copyright 2011 Ole Loots <ole@monochrom.net>
- *
- * This file is part of NetSurf, http://www.netsurf-browser.org/
- *
- * NetSurf is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
- *
- * NetSurf is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
+/* + * Copyright 2011 Ole Loots <ole@monochrom.net> + * + * This file is part of NetSurf, http://www.netsurf-browser.org/ + * + * NetSurf is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * NetSurf is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <stdbool.h> @@ -25,101 +25,101 @@ void redraw_slots_init(struct s_redrw_slots * slots, short size) { - // TODO: allocate slots dynamically! + // TODO: allocate slots dynamically! slots->size = MIN( MAX_REDRW_SLOTS , size); slots->areas_used = 0; } void redraw_slots_free(struct s_redrw_slots * slots) { - // TOOD: free areas... + // TOOD: free areas... } -static inline bool rect_intersect( struct rect * box1, struct rect * box2 )
-{
- if (box2->x1 < box1->x0)
- return false;
-
- if (box2->y1 < box1->y0)
- return false;
-
- if (box2->x0 > box1->x1)
- return false;
-
- if (box2->y0 > box1->y1)
- return false;
-
- return true;
+static inline bool rect_intersect( struct rect * box1, struct rect * box2 ) +{ + if (box2->x1 < box1->x0) + return false; + + if (box2->y1 < box1->y0) + return false; + + if (box2->x0 > box1->x1) + return false; + + if (box2->y0 > box1->y1) + return false; + + return true; } void redraw_slot_schedule_grect(struct s_redrw_slots * slots, GRECT *area, - bool force) + bool force) { - redraw_slot_schedule(slots, area->g_x, area->g_y, - area->g_x + area->g_w, area->g_y + area->g_h, force); + redraw_slot_schedule(slots, area->g_x, area->g_y, + area->g_x + area->g_w, area->g_y + area->g_h, force); } -/*
- schedule redraw coords.
-*/
+/* + schedule redraw coords. +*/ void redraw_slot_schedule(struct s_redrw_slots * slots, short x0, short y0, - short x1, short y1, bool force)
-{
- int i = 0;
- struct rect area;
-
- area.x0 = x0;
- area.y0 = y0;
- area.x1 = x1;
- area.y1 = y1;
- - if (force == false) {
- for (i=0; i<slots->areas_used; i++) {
- if (slots->areas[i].x0 <= x0
- && slots->areas[i].x1 >= x1
- && slots->areas[i].y0 <= y0
- && slots->areas[i].y1 >= y1) {
- /* the area is already queued for redraw */
- return;
- } else {
- if (rect_intersect(&slots->areas[i], &area )) {
- slots->areas[i].x0 = MIN(slots->areas[i].x0, x0);
- slots->areas[i].y0 = MIN(slots->areas[i].y0, y0);
- slots->areas[i].x1 = MAX(slots->areas[i].x1, x1);
- slots->areas[i].y1 = MAX(slots->areas[i].y1, y1);
- return;
- }
- }
- } - }
-
- if (slots->areas_used < slots->size) {
- slots->areas[slots->areas_used].x0 = x0;
- slots->areas[slots->areas_used].x1 = x1;
- slots->areas[slots->areas_used].y0 = y0;
- slots->areas[slots->areas_used].y1 = y1;
- slots->areas_used++;
- } else {
- /*
- we are out of available slots, merge box with last slot
- this is dumb... but also a very rare case.
- */
- slots->areas[slots->size-1].x0 = MIN(slots->areas[i].x0, x0);
- slots->areas[slots->size-1].y0 = MIN(slots->areas[i].y0, y0);
- slots->areas[slots->size-1].x1 = MAX(slots->areas[i].x1, x1);
- slots->areas[slots->size-1].y1 = MAX(slots->areas[i].y1, y1);
- }
- - return;
+ short x1, short y1, bool force) +{ + int i = 0; + struct rect area; + + area.x0 = x0; + area.y0 = y0; + area.x1 = x1; + area.y1 = y1; + + if (force == false) { + for (i=0; i<slots->areas_used; i++) { + if (slots->areas[i].x0 <= x0 + && slots->areas[i].x1 >= x1 + && slots->areas[i].y0 <= y0 + && slots->areas[i].y1 >= y1) { + /* the area is already queued for redraw */ + return; + } else { + if (rect_intersect(&slots->areas[i], &area )) { + slots->areas[i].x0 = MIN(slots->areas[i].x0, x0); + slots->areas[i].y0 = MIN(slots->areas[i].y0, y0); + slots->areas[i].x1 = MAX(slots->areas[i].x1, x1); + slots->areas[i].y1 = MAX(slots->areas[i].y1, y1); + return; + } + } + } + } + + if (slots->areas_used < slots->size) { + slots->areas[slots->areas_used].x0 = x0; + slots->areas[slots->areas_used].x1 = x1; + slots->areas[slots->areas_used].y0 = y0; + slots->areas[slots->areas_used].y1 = y1; + slots->areas_used++; + } else { + /* + we are out of available slots, merge box with last slot + this is dumb... but also a very rare case. + */ + slots->areas[slots->size-1].x0 = MIN(slots->areas[i].x0, x0); + slots->areas[slots->size-1].y0 = MIN(slots->areas[i].y0, y0); + slots->areas[slots->size-1].x1 = MAX(slots->areas[i].x1, x1); + slots->areas[slots->size-1].y1 = MAX(slots->areas[i].y1, y1); + } + + return; } void redraw_slots_remove_area(struct s_redrw_slots * slots, int i) { - int x; - for(x = i+1; i<slots->areas_used; x++){ - slots->areas[x-1] = slots->areas[x]; - } - slots->areas_used--; + int x; + for (x = i+1; i<slots->areas_used; x++) { + slots->areas[x-1] = slots->areas[x]; + } + slots->areas_used--; } diff --git a/atari/redrawslots.h b/atari/redrawslots.h index c972c17ed..ca72a0172 100644 --- a/atari/redrawslots.h +++ b/atari/redrawslots.h @@ -1,19 +1,19 @@ -/*
- * Copyright 2012 Ole Loots <ole@monochrom.net>
- *
- * This file is part of NetSurf, http://www.netsurf-browser.org/
- *
- * NetSurf is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
- *
- * NetSurf is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
+/* + * Copyright 2012 Ole Loots <ole@monochrom.net> + * + * This file is part of NetSurf, http://www.netsurf-browser.org/ + * + * NetSurf is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * NetSurf is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. */ @@ -24,23 +24,23 @@ #include "utils/utils.h" -/*
- MAX_REDRW_SLOTS
- This is the number of redraw requests that the slotlist can store.
- If a redraw is scheduled and all slots are used, the rectangle will
- be merged to one of the existing slots.
- */
+/** + * This is the number of redraw requests that the slotlist can store. + * If a redraw is scheduled and all slots are used, the rectangle will + * be merged to one of the existing slots. + */ #define MAX_REDRW_SLOTS 32 -
-/*
- This struct holds scheduled redraw requests.
-*/
-struct rect;
-struct s_redrw_slots
-{
+ +struct rect; + +/** + * This struct holds scheduled redraw requests. + */ +struct s_redrw_slots +{ struct rect areas[MAX_REDRW_SLOTS]; - short size;
- short volatile areas_used;
+ short size; + short volatile areas_used; }; void redraw_slots_init(struct s_redrw_slots * slots, short size); diff --git a/atari/rootwin.c b/atari/rootwin.c index 7b4cd0361..7b4cd0361 100755..100644 --- a/atari/rootwin.c +++ b/atari/rootwin.c diff --git a/atari/rootwin.h b/atari/rootwin.h index a5b22c968..99b286f70 100755..100644 --- a/atari/rootwin.h +++ b/atari/rootwin.h @@ -1,34 +1,34 @@ -/*
- * Copyright 2010 Ole Loots <ole@monochrom.net>
- *
- * This file is part of NetSurf, http://www.netsurf-browser.org/
- *
- * NetSurf is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
- *
- * NetSurf is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef NS_ATARI_BROWSER_WIN_H
+/* + * Copyright 2010 Ole Loots <ole@monochrom.net> + * + * This file is part of NetSurf, http://www.netsurf-browser.org/ + * + * NetSurf is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * NetSurf is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#ifndef NS_ATARI_BROWSER_WIN_H #define NS_ATARI_BROWSER_WIN_H -#include <atari/gui.h>
-
-#define GEMTK_WM_VISIBLE(gw) (gw->root->handle->status & WS_OPEN)
-#define GEMWIN_VISIBLE(win) (win->status & WS_OPEN)
-
-#define WIDGET_STATUSBAR 0x1
-#define WIDGET_TOOLBAR 0x2
+#include <atari/gui.h> + +#define GEMTK_WM_VISIBLE(gw) (gw->root->handle->status & WS_OPEN) +#define GEMWIN_VISIBLE(win) (win->status & WS_OPEN) + +#define WIDGET_STATUSBAR 0x1 +#define WIDGET_TOOLBAR 0x2 #define WIDGET_SCROLL 0x4 #define WIDGET_RESIZE 0x8 -#define WIN_TOP 0x100 +#define WIN_TOP 0x100 enum browser_area_e { BROWSER_AREA_CONTENT = 1, @@ -37,40 +37,40 @@ enum browser_area_e { BROWSER_AREA_URL_INPUT, BROWSER_AREA_SEARCH }; -
-
-/* -------------------------------------------------------------------------- */
-/* Public module functions: */
-/* -------------------------------------------------------------------------- */
-
-/* Creates an normal Browser window with [toolbar], [statusbar] */
+ + +/* -------------------------------------------------------------------------- */ +/* Public module functions: */ +/* -------------------------------------------------------------------------- */ + +/* Creates an normal Browser window with [toolbar], [statusbar] */ int window_create(struct gui_window * gw, struct browser_window * bw, struct gui_window * existing, - unsigned long flags );
-/* Destroys WinDom part of gui_window */
-int window_destroy(ROOTWIN *rootwin);
-
-/** show the window at specified position and make gw the active tab. */
-void window_open(ROOTWIN *rootwin, struct gui_window *gw, GRECT pos);
-
-void window_snd_redraw(ROOTWIN *rootwin, short x, short y, short w, short h );
-/* Update Shade / Unshade state of the fwd/back buttons*/
-void window_update_back_forward(struct s_gui_win_root * rootwin);
-/* set root browser component: */
-void window_attach_browser(ROOTWIN *rootwin, CMP_BROWSER b);
-
-/* set focus element */
+ unsigned long flags ); +/* Destroys WinDom part of gui_window */ +int window_destroy(ROOTWIN *rootwin); + +/** show the window at specified position and make gw the active tab. */ +void window_open(ROOTWIN *rootwin, struct gui_window *gw, GRECT pos); + +void window_snd_redraw(ROOTWIN *rootwin, short x, short y, short w, short h ); +/* Update Shade / Unshade state of the fwd/back buttons*/ +void window_update_back_forward(struct s_gui_win_root * rootwin); +/* set root browser component: */ +void window_attach_browser(ROOTWIN *rootwin, CMP_BROWSER b); + +/* set focus element */ void window_set_focus(ROOTWIN *rootwin, enum focus_element_type type, - void * element );
-/* Shade / Unshade the forward/back bt. of toolbar, depending on history.*/
+ void * element ); +/* Shade / Unshade the forward/back bt. of toolbar, depending on history.*/ bool window_widget_has_focus(ROOTWIN *rootwin, enum focus_element_type t, - void * element);
-bool window_url_widget_has_focus(ROOTWIN *rootwin);
-void window_set_url(ROOTWIN *rootwin, const char * text);
+ void * element); +bool window_url_widget_has_focus(ROOTWIN *rootwin); +void window_set_url(ROOTWIN *rootwin, const char * text); void window_set_stauts(ROOTWIN *rootwin, char * text); void window_set_title(ROOTWIN *rootwin, char * text); -void window_set_content_size(ROOTWIN *rootwin, int w, int h);
+void window_set_content_size(ROOTWIN *rootwin, int w, int h); void window_set_icon(ROOTWIN *rootwin, struct bitmap * bmp ); void window_set_active_gui_window(ROOTWIN *rootwin, struct gui_window *gw); void window_restore_active_gui_window(ROOTWIN *rootwin); @@ -87,11 +87,11 @@ void window_get_grect(ROOTWIN *rootwin, enum browser_area_e which, GRECT *d); void window_redraw_favicon(struct s_gui_win_root * rootwin, GRECT *clip); void window_unref_gui_window(ROOTWIN *rootwin, struct gui_window *gw); bool window_key_input(unsigned short kcode, unsigned short kstate, - unsigned short nkc);
-
-
-/* -------------------------------------------------------------------------- */
-/* Public event handlers: */
-/* -------------------------------------------------------------------------- */
-
-#endif
+ unsigned short nkc); + + +/* -------------------------------------------------------------------------- */ +/* Public event handlers: */ +/* -------------------------------------------------------------------------- */ + +#endif diff --git a/atari/save.h b/atari/save.h index 0775723f2..01086be4b 100644 --- a/atari/save.h +++ b/atari/save.h @@ -1,19 +1,19 @@ -/*
- * Copyright 2012 Ole Loots <ole@monochrom.net>
- *
- * This file is part of NetSurf, http://www.netsurf-browser.org/
- *
- * NetSurf is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
- *
- * NetSurf is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
+/* + * Copyright 2012 Ole Loots <ole@monochrom.net> + * + * This file is part of NetSurf, http://www.netsurf-browser.org/ + * + * NetSurf is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * NetSurf is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef NSATARI_SAVE_H diff --git a/atari/schedule.c b/atari/schedule.c index 4ff51d4f9..4ff51d4f9 100755..100644 --- a/atari/schedule.c +++ b/atari/schedule.c diff --git a/atari/schedule.h b/atari/schedule.h index 05eebb2d7..05eebb2d7 100755..100644 --- a/atari/schedule.h +++ b/atari/schedule.h diff --git a/atari/search.c b/atari/search.c index cd9847bf2..c2b02f06a 100644 --- a/atari/search.c +++ b/atari/search.c @@ -61,53 +61,53 @@ struct gui_search_table *atari_search_table = &search_table; /** -* Change the displayed search status. -* \param found search pattern matched in text -* \param p the pointer sent to search_verify_new() / search_create_context() -*/ - + * Change the displayed search status. + * \param found search pattern matched in text + * \param p the pointer sent to search_verify_new() / search_create_context() + */ void nsatari_search_set_status(bool found, void *p) { LOG(("%p set status: %d\n", p, found)); // TODO: maybe update GUI } -/** -* display hourglass while searching -* \param active start/stop indicator -* \param p the pointer sent to search_verify_new() / search_create_context() -*/ +/** + * display hourglass while searching + * \param active start/stop indicator + * \param p the pointer sent to search_verify_new() / search_create_context() + */ void nsatari_search_set_hourglass(bool active, void *p) { SEARCH_FORM_SESSION s = (SEARCH_FORM_SESSION)p; LOG(("active: %d, session: %p", active, p)); - if (active) + if (active) { gui_window_set_pointer(s->g, GUI_POINTER_PROGRESS); - else + } else { gui_window_set_pointer(s->g, GUI_POINTER_DEFAULT); + } } -/** -* add search string to recent searches list -* front is at liberty how to implement the bare notification -* should normally store a strdup() of the string; -* core gives no guarantee of the integrity of the const char * -* \param string search pattern -* \param p the pointer sent to search_verify_new() / search_create_context() -*/ +/** + * add search string to recent searches list + * front is at liberty how to implement the bare notification + * should normally store a strdup() of the string; + * core gives no guarantee of the integrity of the const char * + * \param string search pattern + * \param p the pointer sent to search_verify_new() / search_create_context() + */ void nsatari_search_add_recent(const char *string, void *p) { LOG(("%p add recent: %s\n", p, string)); } -/** -* activate search forwards button in gui -* \param active activate/inactivate -* \param p the pointer sent to search_verify_new() / search_create_context() -*/ +/** + * activate search forwards button in gui + * \param active activate/inactivate + * \param p the pointer sent to search_verify_new() / search_create_context() + */ void nsatari_search_set_forward_state(bool active, void *p) { struct gui_window *gw; @@ -120,21 +120,21 @@ void nsatari_search_set_forward_state(bool active, void *p) gw = s->g; toolbar = toolbar_get_form(gw->root->toolbar); - if(active) + if (active) { toolbar[TOOLBAR_BT_SEARCH_FWD].ob_state &= ~OS_DISABLED; - else + } else { toolbar[TOOLBAR_BT_SEARCH_FWD].ob_state |= OS_DISABLED; + } window_get_grect(gw->root, BROWSER_AREA_SEARCH, &area); window_schedule_redraw_grect(gw->root, &area); - } -/** -* activate search back button in gui -* \param active activate/inactivate -* \param p the pointer sent to search_verify_new() / search_create_context() -*/ +/** + * activate search back button in gui + * \param active activate/inactivate + * \param p the pointer sent to search_verify_new() / search_create_context() + */ void nsatari_search_set_back_state(bool active, void *p) { struct gui_window *gw; @@ -148,10 +148,11 @@ void nsatari_search_set_back_state(bool active, void *p) gw = s->g; toolbar = toolbar_get_form(gw->root->toolbar); - if(active) + if (active) { toolbar[TOOLBAR_BT_SEARCH_BACK].ob_state &= ~OS_DISABLED; - else + } else { toolbar[TOOLBAR_BT_SEARCH_BACK].ob_state |= OS_DISABLED; + } window_get_grect(gw->root, BROWSER_AREA_SEARCH, &area); window_schedule_redraw_grect(gw->root, &area); } @@ -165,10 +166,12 @@ static int apply_form(OBJECT *obj, struct s_search_form_state *s) s->flags = 0; - if( (obj[TOOLBAR_CB_CASESENSE].ob_state & OS_SELECTED) != 0 ) + if ((obj[TOOLBAR_CB_CASESENSE].ob_state & OS_SELECTED) != 0 ) { s->flags |= SEARCH_FLAG_CASE_SENSITIVE; - if( (obj[TOOLBAR_CB_SHOWALL].ob_state & OS_SELECTED) != 0 ) + } + if ((obj[TOOLBAR_CB_SHOWALL].ob_state & OS_SELECTED) != 0 ) { s->flags |= SEARCH_FLAG_SHOWALL; + } cstr = gemtk_obj_get_text(obj, TOOLBAR_TB_SRCH); snprintf(s->text, 32, "%s", cstr); @@ -180,9 +183,10 @@ static void set_text(OBJECT *obj, short idx, char * text, int len) { char spare[255]; - if( len > 254 ) + if (len > 254) { len = 254; - if( text != NULL ){ + } + if (text != NULL) { strncpy(spare, text, 254); } else { strcpy(spare, ""); @@ -191,19 +195,18 @@ static void set_text(OBJECT *obj, short idx, char * text, int len) set_string(obj, idx, spare); } + void nsatari_search_restore_form( struct s_search_form_session *s, OBJECT *obj) { if ((s->state.flags & SEARCH_FLAG_SHOWALL) != 0) { obj[TOOLBAR_CB_SHOWALL].ob_state |= OS_SELECTED; - } - else { + } else { obj[TOOLBAR_CB_SHOWALL].ob_state &= ~OS_SELECTED; } if ((s->state.flags & SEARCH_FLAG_CASE_SENSITIVE) != 0) { obj[TOOLBAR_CB_CASESENSE].ob_state |= OS_SELECTED; - } - else { + } else { obj[TOOLBAR_CB_CASESENSE].ob_state &= ~OS_SELECTED; } @@ -215,9 +218,9 @@ void nsatari_search_restore_form( struct s_search_form_session *s, OBJECT *obj) TEDINFO *t = ((TEDINFO *)get_obspec(obj, TOOLBAR_TB_SRCH)); set_text(obj, TOOLBAR_TB_SRCH, s->state.text, t->te_txtlen); - } + void nsatari_search_session_destroy(struct s_search_form_session *s) { if (s != NULL) { @@ -227,6 +230,7 @@ void nsatari_search_session_destroy(struct s_search_form_session *s) } } + /** checks for search parameters changes */ static bool search_session_compare(struct s_search_form_session *s, OBJECT *obj) { @@ -245,7 +249,7 @@ static bool search_session_compare(struct s_search_form_session *s, OBJECT *obj) char * cstr; cstr = gemtk_obj_get_text(obj, TOOLBAR_TB_SRCH); - if (cstr != NULL){ + if (cstr != NULL) { if (strcmp(cstr, (char*)&s->state.text) != 0) { return (true); } @@ -256,34 +260,31 @@ static bool search_session_compare(struct s_search_form_session *s, OBJECT *obj) void nsatari_search_perform(struct s_search_form_session *s, OBJECT *obj, - search_flags_t f) + search_flags_t f) { assert(s!=null); assert(input_window->browser->bw == s->g->browser->bw); - - if(search_session_compare(s, obj)){ + if (search_session_compare(s, obj)) { browser_window_search_clear(s->g->browser->bw); apply_form(obj, &s->state); - } else { - } /* get search direction manually: */ - if ( (f&SEARCH_FLAG_FORWARDS) != 0 ) + if ( (f&SEARCH_FLAG_FORWARDS) != 0 ) { s->state.flags |= SEARCH_FLAG_FORWARDS; - else + } else { s->state.flags &= (~SEARCH_FLAG_FORWARDS); + } browser_window_search(s->g->browser->bw, s, - s->state.flags, - gemtk_obj_get_text(obj, TOOLBAR_TB_SRCH)); - + s->state.flags, + gemtk_obj_get_text(obj, TOOLBAR_TB_SRCH)); } struct s_search_form_session * nsatari_search_session_create(OBJECT * obj, - struct gui_window *gw) + struct gui_window *gw) { struct s_search_form_session *sfs; diff --git a/atari/settings.c b/atari/settings.c index fe42f2ab2..6a9faf190 100644 --- a/atari/settings.c +++ b/atari/settings.c @@ -1,3 +1,22 @@ +/* + * Copyright 2013 Ole Loots <ole@monochrom.net> + * + * This file is part of NetSurf, http://www.netsurf-browser.org/ + * + * NetSurf is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * NetSurf is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ + #include <sys/types.h> #include <sys/stat.h> #include <dirent.h> diff --git a/atari/settings.h b/atari/settings.h index 87597e6a0..ac7bd8aa4 100644 --- a/atari/settings.h +++ b/atari/settings.h @@ -1,7 +1,25 @@ +/* + * Copyright 2013 Ole Loots <ole@monochrom.net> + * + * This file is part of NetSurf, http://www.netsurf-browser.org/ + * + * NetSurf is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * NetSurf is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ + #ifndef NS_ATARI_SETTINGS #define NS_ATARI_SETTINGS - void open_settings(void); void close_settings(void); diff --git a/atari/statusbar.c b/atari/statusbar.c index b10a95a0e..b10a95a0e 100755..100644 --- a/atari/statusbar.c +++ b/atari/statusbar.c diff --git a/atari/statusbar.h b/atari/statusbar.h index 7739c6fed..8ac090497 100755..100644 --- a/atari/statusbar.h +++ b/atari/statusbar.h @@ -1,41 +1,40 @@ -/*
- * Copyright 2010 Ole Loots <ole@monochrom.net>
- *
- * This file is part of NetSurf, http://www.netsurf-browser.org/
- *
- * NetSurf is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
- *
- * NetSurf is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef NS_ATARI_STATUSBAR
-#define NS_ATARI_STATUSBAR
-
-#define STATUSBAR_HEIGHT 16
-#define STATUSBAR_MAX_SLEN 255
-
-struct s_statusbar
-{ -#ifdef WITH_COMPONENT_STATUSBAR
+/* + * Copyright 2010 Ole Loots <ole@monochrom.net> + * + * This file is part of NetSurf, http://www.netsurf-browser.org/ + * + * NetSurf is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * NetSurf is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#ifndef NS_ATARI_STATUSBAR +#define NS_ATARI_STATUSBAR + +#define STATUSBAR_HEIGHT 16 +#define STATUSBAR_MAX_SLEN 255 + +struct s_statusbar { +#ifdef WITH_COMPONENT_STATUSBAR COMPONENT * comp; -#endif
- char text[STATUSBAR_MAX_SLEN+1];
- size_t textlen;
+#endif + char text[STATUSBAR_MAX_SLEN+1]; + size_t textlen; bool attached; - short aes_win;
-};
-
-
-CMP_STATUSBAR sb_create( struct gui_window * gw );
-void sb_destroy( CMP_STATUSBAR s );
+ short aes_win; +}; + +CMP_STATUSBAR sb_create( struct gui_window * gw ); +void sb_destroy( CMP_STATUSBAR s ); void sb_set_text( CMP_STATUSBAR sb , const char * text ); -void sb_attach(CMP_STATUSBAR sb, struct gui_window * gw);
-#endif
+void sb_attach(CMP_STATUSBAR sb, struct gui_window * gw); + +#endif diff --git a/atari/toolbar.c b/atari/toolbar.c index 02861818f..c2e7ced06 100644 --- a/atari/toolbar.c +++ b/atari/toolbar.c @@ -69,15 +69,14 @@ enum e_toolbar_button_states { struct s_toolbar; -struct s_tb_button -{ +struct s_tb_button { short rsc_id; void (*cb_click)(struct s_toolbar *tb); hlcache_handle *icon[TOOLBAR_BUTTON_NUM_STATES]; struct s_toolbar *owner; - enum e_toolbar_button_states state; - short index; - GRECT area; + enum e_toolbar_button_states state; + short index; + GRECT area; }; @@ -97,50 +96,48 @@ static int area_full_height = 0; static float toolbar_url_scale = 1.0; static plot_font_style_t font_style_url = { - .family = PLOT_FONT_FAMILY_SANS_SERIF, - .size = 14*FONT_SIZE_SCALE, - .weight = 400, - .flags = FONTF_NONE, - .background = 0xffffff, - .foreground = 0x0 - }; + .family = PLOT_FONT_FAMILY_SANS_SERIF, + .size = 14*FONT_SIZE_SCALE, + .weight = 400, + .flags = FONTF_NONE, + .background = 0xffffff, + .foreground = 0x0 +}; /* prototypes & order for button widgets: */ - -static struct s_tb_button tb_buttons[] = -{ +static struct s_tb_button tb_buttons[] = { { - TOOLBAR_BT_BACK, - toolbar_back_click, - {0,0}, - 0, 0, 0, {0,0,0,0} - }, + TOOLBAR_BT_BACK, + toolbar_back_click, + {0,0}, + 0, 0, 0, {0,0,0,0} + }, { - TOOLBAR_BT_HOME, - toolbar_home_click, - {0,0}, - 0, 0, 0, {0,0,0,0} - }, + TOOLBAR_BT_HOME, + toolbar_home_click, + {0,0}, + 0, 0, 0, {0,0,0,0} + }, { - TOOLBAR_BT_FORWARD, - toolbar_forward_click, - {0,0}, - 0, 0, 0, {0,0,0,0} - }, + TOOLBAR_BT_FORWARD, + toolbar_forward_click, + {0,0}, + 0, 0, 0, {0,0,0,0} + }, { - TOOLBAR_BT_STOP, - toolbar_stop_click, - {0,0}, - 0, 0, 0, {0,0,0,0} - }, + TOOLBAR_BT_STOP, + toolbar_stop_click, + {0,0}, + 0, 0, 0, {0,0,0,0} + }, { - TOOLBAR_BT_RELOAD, - toolbar_reload_click, - {0,0}, - 0, 0, 0, {0,0,0,0} - }, + TOOLBAR_BT_RELOAD, + toolbar_reload_click, + {0,0}, + 0, 0, 0, {0,0,0,0} + }, { 0, 0, {0,0}, 0, -1, 0, {0,0,0,0}} }; @@ -148,8 +145,7 @@ struct s_toolbar_style { int font_height_pt; }; -static struct s_toolbar_style toolbar_styles[] = -{ +static struct s_toolbar_style toolbar_styles[] = { /* small (18 px height) */ {9}, /* medium (default - 26 px height) */ @@ -161,16 +157,16 @@ static struct s_toolbar_style toolbar_styles[] = }; static const struct redraw_context toolbar_rdrw_ctx = { - .interactive = true, - .background_images = true, - .plot = &atari_plotters - }; + .interactive = true, + .background_images = true, + .plot = &atari_plotters +}; static void tb_txt_request_redraw(void *data, int x, int y, int w, int h ); /** -* Find a button for a specific resource ID -*/ + * Find a button for a specific resource ID + */ static struct s_tb_button *find_button(struct s_toolbar *tb, int rsc_id) { int i = 0; @@ -184,54 +180,54 @@ static struct s_tb_button *find_button(struct s_toolbar *tb, int rsc_id) } /** -* Callback for textarea redraw -*/ + * Callback for textarea redraw + */ static void tb_txt_request_redraw(void *data, int x, int y, int w, int h) { - GRECT area; + GRECT area; struct s_toolbar * tb = (struct s_toolbar *)data; if (tb->attached == false) { - return; - } + return; + } toolbar_get_grect(tb, TOOLBAR_AREA_URL, &area); area.g_x += x; area.g_y += y; area.g_w = w; area.g_h = h; - //dbg_grect("tb_txt_request_redraw", &area); + /* dbg_grect("tb_txt_request_redraw", &area); */ window_schedule_redraw_grect(tb->owner, &area); - return; + return; } static void tb_txt_callback(void *data, struct textarea_msg *msg) { switch (msg->type) { - case TEXTAREA_MSG_DRAG_REPORT: + case TEXTAREA_MSG_DRAG_REPORT: break; - case TEXTAREA_MSG_REDRAW_REQUEST: - tb_txt_request_redraw(data, - msg->data.redraw.x0, msg->data.redraw.y0, - msg->data.redraw.x1 - msg->data.redraw.x0, - msg->data.redraw.y1 - msg->data.redraw.y0); + case TEXTAREA_MSG_REDRAW_REQUEST: + tb_txt_request_redraw(data, + msg->data.redraw.x0, msg->data.redraw.y0, + msg->data.redraw.x1 - msg->data.redraw.x0, + msg->data.redraw.y1 - msg->data.redraw.y0); break; - default: + default: break; } } static struct s_tb_button *button_init(struct s_toolbar *tb, OBJECT * tree, int index, - struct s_tb_button * instance) + struct s_tb_button * instance) { *instance = tb_buttons[index]; instance->owner = tb; - return(instance); + return(instance); } @@ -244,12 +240,12 @@ void toolbar_init( void ) { static USERBLK userblk; - aes_toolbar = gemtk_obj_get_tree(TOOLBAR); - throbber_form = gemtk_obj_get_tree(THROBBER); + aes_toolbar = gemtk_obj_get_tree(TOOLBAR); + throbber_form = gemtk_obj_get_tree(THROBBER); userblk.ub_code = toolbar_url_userdraw; - userblk.ub_parm = (long) aes_toolbar[TOOLBAR_AREA_URL].ob_spec.userblk; - aes_toolbar[TOOLBAR_AREA_URL].ob_spec.userblk = &userblk; + userblk.ub_parm = (long) aes_toolbar[TOOLBAR_AREA_URL].ob_spec.userblk; + aes_toolbar[TOOLBAR_AREA_URL].ob_spec.userblk = &userblk; aes_toolbar[TOOLBAR_CB_SHOWALL].ob_state &= ~OS_SELECTED; aes_toolbar[TOOLBAR_CB_CASESENSE].ob_state &= ~OS_SELECTED; @@ -257,11 +253,11 @@ void toolbar_init( void ) /* init default values: */ gemtk_obj_set_str_safe(aes_toolbar, TOOLBAR_TB_SRCH, (char*)""); - area_full_height = aes_toolbar->ob_height; + area_full_height = aes_toolbar->ob_height; area_search_height = aes_toolbar[TOOLBAR_AREA_SEARCH].ob_height; area_navigation_height = aes_toolbar[TOOLBAR_AREA_NAVIGATION].ob_height; - init = true; + init = true; } @@ -327,7 +323,7 @@ struct s_toolbar *toolbar_create(struct s_gui_win_root *owner) ta_setup.text.foreground = 0x000000; ta_setup.text.background = 0xffffff; t->url.textarea = textarea_create(ta_flags, &ta_setup, - tb_txt_callback, t); + tb_txt_callback, t); /* create the throbber widget: */ t->throbber.index = THROBBER_INACTIVE_INDEX; @@ -335,14 +331,14 @@ struct s_toolbar *toolbar_create(struct s_gui_win_root *owner) t->throbber.running = false; LOG(("created toolbar: %p, root: %p, textarea: %p, throbber: %p", t, - owner, t->url.textarea, t->throbber)); + owner, t->url.textarea, t->throbber)); return( t ); } void toolbar_destroy(struct s_toolbar *tb) { - free(tb->buttons); + free(tb->buttons); free(tb->form); textarea_destroy(tb->url.textarea); @@ -369,102 +365,101 @@ static int toolbar_calculate_height(struct s_toolbar *tb) static void toolbar_reflow(struct s_toolbar *tb) { - int i; - short offx, offy; + int i; + short offx, offy; - // position toolbar areas: - tb->form->ob_x = tb->area.g_x; - tb->form->ob_y = tb->area.g_y; - tb->form->ob_width = tb->area.g_w; - tb->form->ob_height = toolbar_calculate_height(tb); + // position toolbar areas: + tb->form->ob_x = tb->area.g_x; + tb->form->ob_y = tb->area.g_y; + tb->form->ob_width = tb->area.g_w; + tb->form->ob_height = toolbar_calculate_height(tb); // expand the "main" areas to the current width: - tb->form[TOOLBAR_AREA_NAVIGATION].ob_width = tb->area.g_w; - tb->form[TOOLBAR_AREA_SEARCH].ob_width = tb->area.g_w; + tb->form[TOOLBAR_AREA_NAVIGATION].ob_width = tb->area.g_w; + tb->form[TOOLBAR_AREA_SEARCH].ob_width = tb->area.g_w; - if (tb->search_visible) { + if (tb->search_visible) { tb->form[TOOLBAR_AREA_SEARCH].ob_state &= ~OF_HIDETREE; - } else { - tb->form[TOOLBAR_AREA_SEARCH].ob_state |= OF_HIDETREE; + } else { + tb->form[TOOLBAR_AREA_SEARCH].ob_state |= OF_HIDETREE; - } + } // align TOOLBAR_AREA_RIGHT IBOX at right edge: - tb->form[TOOLBAR_AREA_RIGHT].ob_x = tb->area.g_w - - tb->form[TOOLBAR_AREA_RIGHT].ob_width; + tb->form[TOOLBAR_AREA_RIGHT].ob_x = tb->area.g_w + - tb->form[TOOLBAR_AREA_RIGHT].ob_width; // center the URL area: - tb->form[TOOLBAR_AREA_URL].ob_width = tb->area.g_w - - (tb->form[TOOLBAR_AREA_LEFT].ob_width - + tb->form[TOOLBAR_AREA_RIGHT].ob_width); + tb->form[TOOLBAR_AREA_URL].ob_width = tb->area.g_w + - (tb->form[TOOLBAR_AREA_LEFT].ob_width + + tb->form[TOOLBAR_AREA_RIGHT].ob_width); - // position throbber image above IBOX: - objc_offset(tb->form, TOOLBAR_THROBBER_AREA, &offx, &offy); - throbber_form[tb->throbber.index].ob_x = offx; - throbber_form[tb->throbber.index].ob_y = offy; + // position throbber image above IBOX: + objc_offset(tb->form, TOOLBAR_THROBBER_AREA, &offx, &offy); + throbber_form[tb->throbber.index].ob_x = offx; + throbber_form[tb->throbber.index].ob_y = offy; // align the search button: tb->form[TOOLBAR_SEARCH_ALIGN_RIGHT].ob_x = tb->area.g_w - - tb->form[TOOLBAR_SEARCH_ALIGN_RIGHT].ob_width; - - // set button states: - for (i=0; i < tb->btcnt; i++ ) { - if (tb->buttons[i].state == button_off) { - tb->form[tb->buttons[i].rsc_id].ob_state |= OS_DISABLED; - } - else if (tb->buttons[i].state == button_on) { - tb->form[tb->buttons[i].rsc_id].ob_state &= ~OS_DISABLED; - } + - tb->form[TOOLBAR_SEARCH_ALIGN_RIGHT].ob_width; + + // set button states: + for (i=0; i < tb->btcnt; i++ ) { + if (tb->buttons[i].state == button_off) { + tb->form[tb->buttons[i].rsc_id].ob_state |= OS_DISABLED; + } else if (tb->buttons[i].state == button_on) { + tb->form[tb->buttons[i].rsc_id].ob_state &= ~OS_DISABLED; + } } - tb->reflow = false; - // TODO: iterate through all other toolbars and set reflow = true + tb->reflow = false; + // TODO: iterate through all other toolbars and set reflow = true } void toolbar_redraw(struct s_toolbar *tb, GRECT *clip) { - GRECT area, area_ro; + GRECT area, area_ro; - if (tb->attached == false) { - return; - } + if (tb->attached == false) { + return; + } - if(tb->reflow == true) - toolbar_reflow(tb); + if(tb->reflow == true) + toolbar_reflow(tb); //dbg_grect("toolbar redraw clip", clip); /* Redraw the AES objects: */ - objc_draw_grect(tb->form,0,8,clip); - objc_draw_grect(&throbber_form[tb->throbber.index], 0, 1, clip); + objc_draw_grect(tb->form,0,8,clip); + objc_draw_grect(&throbber_form[tb->throbber.index], 0, 1, clip); - toolbar_get_grect(tb, TOOLBAR_AREA_URL, &area_ro); - area = area_ro; + toolbar_get_grect(tb, TOOLBAR_AREA_URL, &area_ro); + area = area_ro; - if (rc_intersect(clip, &area)) { - float old_scale; + if (rc_intersect(clip, &area)) { + float old_scale; - plot_set_dimensions(area_ro.g_x, area_ro.g_y, area_ro.g_w, area_ro.g_h); - struct rect r = { - .x0 = MAX(0,area.g_x - area_ro.g_x), - .y0 = MAX(0,area.g_y - area_ro.g_y), - .x1 = MAX(0,area.g_x - area_ro.g_x) + area.g_w, - .y1 = MAX(0,area.g_y - area_ro.g_y) + area.g_h + plot_set_dimensions(area_ro.g_x, area_ro.g_y, area_ro.g_w, area_ro.g_h); + struct rect r = { + .x0 = MAX(0,area.g_x - area_ro.g_x), + .y0 = MAX(0,area.g_y - area_ro.g_y), + .x1 = MAX(0,area.g_x - area_ro.g_x) + area.g_w, + .y1 = MAX(0,area.g_y - area_ro.g_y) + area.g_h }; //dbg_rect("tb textarea clip: ", &r); // TODO: let this be handled by an userdef object redraw function: /* Redraw the url input: */ old_scale = plot_set_scale(toolbar_url_scale); - textarea_redraw(tb->url.textarea, 0, 0, 0xffffff, 1.0, &r, - &toolbar_rdrw_ctx); - plot_set_scale(old_scale); - } + textarea_redraw(tb->url.textarea, 0, 0, 0xffffff, 1.0, &r, + &toolbar_rdrw_ctx); + plot_set_scale(old_scale); + } } void toolbar_update_buttons(struct s_toolbar *tb, struct browser_window *bw, - short button) + short button) { - LOG(("")); + LOG(("")); struct s_tb_button * bt; bool enable = false; @@ -473,13 +468,13 @@ void toolbar_update_buttons(struct s_toolbar *tb, struct browser_window *bw, assert(bw != NULL); if (button == TOOLBAR_BT_BACK || button <= 0 ) { - bt = find_button(tb, TOOLBAR_BT_BACK); + bt = find_button(tb, TOOLBAR_BT_BACK); enable = browser_window_back_available(bw); - if (enable) { - bt->state = button_on; - } else { - bt->state = button_off; - } + if (enable) { + bt->state = button_on; + } else { + bt->state = button_off; + } } if (button == TOOLBAR_BT_HOME || button <= 0 ) { @@ -489,46 +484,45 @@ void toolbar_update_buttons(struct s_toolbar *tb, struct browser_window *bw, if (button == TOOLBAR_BT_FORWARD || button <= 0 ) { bt = find_button(tb, TOOLBAR_BT_FORWARD); enable = browser_window_forward_available(bw); - if (enable) { - bt->state = button_on; - } else { - bt->state = button_off; - } + if (enable) { + bt->state = button_on; + } else { + bt->state = button_off; + } } if (button == TOOLBAR_BT_RELOAD || button <= 0 ) { - bt = find_button(tb, TOOLBAR_BT_RELOAD); + bt = find_button(tb, TOOLBAR_BT_RELOAD); enable = browser_window_reload_available(bw); - if (enable) { - bt->state = button_on; - } else { - bt->state = button_off; - } + if (enable) { + bt->state = button_on; + } else { + bt->state = button_off; + } } if (button == TOOLBAR_BT_STOP || button <= 0) { - bt = find_button(tb, TOOLBAR_BT_STOP); + bt = find_button(tb, TOOLBAR_BT_STOP); enable = browser_window_stop_available(bw); - if (enable) { - bt->state = button_on; - } else { - bt->state = button_off; - } + if (enable) { + bt->state = button_on; + } else { + bt->state = button_off; + } } - if (tb->attached) { - if (button > 0) { - toolbar_get_grect(tb, button, &area); - window_schedule_redraw_grect(tb->owner, &area); - } - else { - toolbar_get_grect(tb, TOOLBAR_AREA_LEFT, &area); - window_schedule_redraw_grect(tb->owner, &area); - - toolbar_get_grect(tb, TOOLBAR_AREA_RIGHT, &area); - window_schedule_redraw_grect(tb->owner, &area); - } - } + if (tb->attached) { + if (button > 0) { + toolbar_get_grect(tb, button, &area); + window_schedule_redraw_grect(tb->owner, &area); + } else { + toolbar_get_grect(tb, TOOLBAR_AREA_LEFT, &area); + window_schedule_redraw_grect(tb->owner, &area); + + toolbar_get_grect(tb, TOOLBAR_AREA_RIGHT, &area); + window_schedule_redraw_grect(tb->owner, &area); + } + } } void toolbar_set_width(struct s_toolbar *tb, short w) @@ -541,12 +535,12 @@ void toolbar_set_width(struct s_toolbar *tb, short w) tb->area.g_w = w; - /* reflow now, just for url input calucation: */ - toolbar_reflow(tb); - /* this will request an textarea redraw: */ - textarea_set_dimensions(tb->url.textarea, - tb->form[TOOLBAR_AREA_URL].ob_width, - tb->form[TOOLBAR_AREA_URL].ob_height); + /* reflow now, just for url input calucation: */ + toolbar_reflow(tb); + /* this will request an textarea redraw: */ + textarea_set_dimensions(tb->url.textarea, + tb->form[TOOLBAR_AREA_URL].ob_width, + tb->form[TOOLBAR_AREA_URL].ob_height); tb->reflow = true; } } @@ -566,56 +560,56 @@ void toolbar_set_origin(struct s_toolbar *tb, short x, short y) void toolbar_set_dimensions(struct s_toolbar *tb, GRECT *area) { - if (area->g_w != tb->area.g_w) { - - tb->area = *area; - - /* reflow now, just for url input calucation: */ - toolbar_reflow(tb); - /* this will request an textarea redraw: */ - textarea_set_dimensions(tb->url.textarea, - tb->form[TOOLBAR_AREA_URL].ob_width, - tb->form[TOOLBAR_AREA_URL].ob_height-1); - } - else { - tb->area = *area; - } + if (area->g_w != tb->area.g_w) { + + tb->area = *area; + + /* reflow now, just for url input calucation: */ + toolbar_reflow(tb); + /* this will request an textarea redraw: */ + textarea_set_dimensions(tb->url.textarea, + tb->form[TOOLBAR_AREA_URL].ob_width, + tb->form[TOOLBAR_AREA_URL].ob_height-1); + } + else { + tb->area = *area; + } /* reflow for next redraw: */ - /* TODO: that's only required because we do not reset others toolbars reflow - state on reflow */ - tb->reflow = true; + /* TODO: that's only required because we do not reset others toolbars reflow + state on reflow */ + tb->reflow = true; } void toolbar_set_url(struct s_toolbar *tb, const char * text) { - LOG(("")); - textarea_set_text(tb->url.textarea, text); - - if (tb->attached && tb->visible) { - GRECT area; - toolbar_get_grect(tb, TOOLBAR_AREA_URL, &area); - window_schedule_redraw_grect(tb->owner, &area); - struct gui_window * gw = window_get_active_gui_window(tb->owner); - assert(gw != NULL); - toolbar_update_buttons(tb, gw->browser->bw , 0); + LOG(("")); + textarea_set_text(tb->url.textarea, text); + + if (tb->attached && tb->visible) { + GRECT area; + toolbar_get_grect(tb, TOOLBAR_AREA_URL, &area); + window_schedule_redraw_grect(tb->owner, &area); + struct gui_window * gw = window_get_active_gui_window(tb->owner); + assert(gw != NULL); + toolbar_update_buttons(tb, gw->browser->bw , 0); } } void toolbar_set_throbber_state(struct s_toolbar *tb, bool active) { - GRECT throbber_area; - - tb->throbber.running = active; - if (active) { - tb->throbber.index = THROBBER_MIN_INDEX; - } else { - tb->throbber.index = THROBBER_INACTIVE_INDEX; - } - - tb->reflow = true; - toolbar_get_grect(tb, TOOLBAR_THROBBER_AREA, &throbber_area); - window_schedule_redraw_grect(tb->owner, &throbber_area); + GRECT throbber_area; + + tb->throbber.running = active; + if (active) { + tb->throbber.index = THROBBER_MIN_INDEX; + } else { + tb->throbber.index = THROBBER_INACTIVE_INDEX; + } + + tb->reflow = true; + toolbar_get_grect(tb, TOOLBAR_THROBBER_AREA, &throbber_area); + window_schedule_redraw_grect(tb->owner, &throbber_area); } void toolbar_set_visible(struct s_toolbar *tb, short area, bool visible) @@ -628,8 +622,7 @@ void toolbar_set_visible(struct s_toolbar *tb, short area, bool visible) tb->visible = false; tb->reflow = true; } - } - else if (area == TOOLBAR_AREA_SEARCH) { + } else if (area == TOOLBAR_AREA_SEARCH) { tb->search_visible = visible; tb->reflow = true; OBJECT *frm = toolbar_get_form(tb); @@ -648,35 +641,36 @@ void toolbar_set_reflow(struct s_toolbar *tb, bool do_reflow) void toolbar_set_attached(struct s_toolbar *tb, bool attached) { - tb->attached = attached; + tb->attached = attached; } void toolbar_throbber_progress(struct s_toolbar *tb) { - GRECT throbber_area; + GRECT throbber_area; - assert(tb->throbber.running == true); + assert(tb->throbber.running == true); - if(tb->throbber.running == false) - return; + if(tb->throbber.running == false) + return; - tb->throbber.index++; - if(tb->throbber.index > THROBBER_MAX_INDEX) - tb->throbber.index = THROBBER_MIN_INDEX; + tb->throbber.index++; + if (tb->throbber.index > THROBBER_MAX_INDEX) { + tb->throbber.index = THROBBER_MIN_INDEX; + } - tb->reflow = true; - toolbar_get_grect(tb, TOOLBAR_THROBBER_AREA, &throbber_area); - window_schedule_redraw_grect(tb->owner, &throbber_area); + tb->reflow = true; + toolbar_get_grect(tb, TOOLBAR_THROBBER_AREA, &throbber_area); + window_schedule_redraw_grect(tb->owner, &throbber_area); } bool toolbar_text_input(struct s_toolbar *tb, char *text) { - bool handled = true; + bool handled = true; - LOG(("")); + LOG(("")); - return(handled); + return(handled); } bool toolbar_key_input(struct s_toolbar *tb, short nkc) @@ -695,8 +689,8 @@ bool toolbar_key_input(struct s_toolbar *tb, short nkc) if ((nkc&0xFF) >= 9) { ret = textarea_keypress(tb->url.textarea, ucs4); } - } - else if (ik == NS_KEY_CR || ik == NS_KEY_NL) { + + } else if (ik == NS_KEY_CR || ik == NS_KEY_NL) { nsurl *url; char tmp_url[PATH_MAX]; if ( textarea_get_text( tb->url.textarea, tmp_url, PATH_MAX) > 0 ) { @@ -705,15 +699,15 @@ bool toolbar_key_input(struct s_toolbar *tb, short nkc) warn_user("NoMemory", 0); } else { browser_window_navigate(gw->browser->bw, url, NULL, - BW_NAVIGATE_HISTORY, - NULL, NULL, NULL); + BW_NAVIGATE_HISTORY, + NULL, NULL, NULL); nsurl_unref(url); } ret = true; } - } - else if (ik == NS_KEY_COPY_SELECTION) { + + } else if (ik == NS_KEY_COPY_SELECTION) { // copy whole text char * text; int len; @@ -724,8 +718,8 @@ bool toolbar_key_input(struct s_toolbar *tb, short nkc) scrap_txt_write(text); free( text ); } - } - else if ( ik == NS_KEY_PASTE) { + + } else if ( ik == NS_KEY_PASTE) { char * clip = scrap_txt_read(); if ( clip != NULL ){ int clip_length = strlen( clip ); @@ -743,13 +737,14 @@ bool toolbar_key_input(struct s_toolbar *tb, short nkc) } free( clip ); } - } - else if (ik == NS_KEY_ESCAPE) { + + } else if (ik == NS_KEY_ESCAPE) { textarea_keypress( tb->url.textarea, NS_KEY_SELECT_ALL ); textarea_keypress( tb->url.textarea, NS_KEY_DELETE_LEFT ); - } - else { + + } else { ret = textarea_keypress( tb->url.textarea, ik ); + } return( ret ); @@ -758,36 +753,35 @@ bool toolbar_key_input(struct s_toolbar *tb, short nkc) void toolbar_mouse_input(struct s_toolbar *tb, short obj, short button) { - LOG(("")); - GRECT work; + LOG(("")); + GRECT work; short mx, my, mb, kstat; struct gui_window * gw; - if (obj==TOOLBAR_AREA_URL){ + if (obj==TOOLBAR_AREA_URL) { + graf_mkstate(&mx, &my, &mb, &kstat); + toolbar_get_grect(tb, TOOLBAR_AREA_URL, &work); + mx -= work.g_x; + my -= work.g_y; - graf_mkstate(&mx, &my, &mb, &kstat); - toolbar_get_grect(tb, TOOLBAR_AREA_URL, &work); - mx -= work.g_x; - my -= work.g_y; + /* TODO: reset mouse state of browser window? */ + /* select whole text when newly focused, otherwise set caret to + end of text */ + if (!window_url_widget_has_focus(tb->owner)) { + window_set_focus(tb->owner, URL_WIDGET, (void*)&tb->url); - /* TODO: reset mouse state of browser window? */ - /* select whole text when newly focused, otherwise set caret to - end of text */ - if (!window_url_widget_has_focus(tb->owner)) { - window_set_focus(tb->owner, URL_WIDGET, (void*)&tb->url); - } - /* url widget has focus and mouse button is still pressed... */ - else if (mb & 1) { + } else if (mb & 1) { + /* url widget has focus and mouse button is still pressed... */ - textarea_mouse_action(tb->url.textarea, BROWSER_MOUSE_DRAG_1, - mx, my ); + textarea_mouse_action(tb->url.textarea, BROWSER_MOUSE_DRAG_1, + mx, my ); short prev_x = mx; short prev_y = my; do { if (abs(prev_x-mx) > 5 || abs(prev_y-my) > 5) { textarea_mouse_action( tb->url.textarea, - BROWSER_MOUSE_HOLDING_1, mx, my ); + BROWSER_MOUSE_HOLDING_1, mx, my ); prev_x = mx; prev_y = my; window_schedule_redraw_grect(tb->owner, &work); @@ -796,121 +790,118 @@ void toolbar_mouse_input(struct s_toolbar *tb, short obj, short button) graf_mkstate( &mx, &my, &mb, &kstat ); mx = mx - (work.g_x); my = my - (work.g_y); - } while (mb & 1); + } while (mb & 1); textarea_mouse_action( tb->url.textarea, BROWSER_MOUSE_HOVER, mx, - my); - } - else if (button & 2) { + my); + + } else if (button & 2) { // TODO: open a context popup - } - else { - /* when execution reaches here, mouse input is a click or dclick */ - /* TODO: recognize click + shitoolbar_update_buttonsft key */ - if (aes_event_out.emo_mclicks == 2 ) { + + } else { + /* when execution reaches here, mouse input is a click or dclick */ + /* TODO: recognize click + shitoolbar_update_buttonsft key */ + if (aes_event_out.emo_mclicks == 2 ) { textarea_mouse_action( tb->url.textarea, - BROWSER_MOUSE_DOUBLE_CLICK | BROWSER_MOUSE_CLICK_1, mx, - my); - toolbar_get_grect(tb, TOOLBAR_AREA_URL, &work); - window_schedule_redraw_grect(tb->owner, &work); + BROWSER_MOUSE_DOUBLE_CLICK | BROWSER_MOUSE_CLICK_1, mx, + my); + toolbar_get_grect(tb, TOOLBAR_AREA_URL, &work); + window_schedule_redraw_grect(tb->owner, &work); } else { textarea_mouse_action(tb->url.textarea, - BROWSER_MOUSE_PRESS_1, mx, my ); + BROWSER_MOUSE_PRESS_1, mx, my ); } - } - } - else if(obj==TOOLBAR_TB_SRCH) { + } + + } else if(obj==TOOLBAR_TB_SRCH) { window_set_focus(tb->owner, SEARCH_INPUT, NULL); - } - else if (obj==TOOLBAR_BT_SEARCH_FWD) { + + } else if (obj==TOOLBAR_BT_SEARCH_FWD) { gw = tb->owner->active_gui_window; assert(gw->search); nsatari_search_perform(gw->search, tb->form, SEARCH_FLAG_FORWARDS); - } - else if (obj==TOOLBAR_BT_SEARCH_BACK) { + + } else if (obj==TOOLBAR_BT_SEARCH_BACK) { gw = tb->owner->active_gui_window; assert(gw->search); nsatari_search_perform(gw->search, tb->form, 0); - } - else if (obj==TOOLBAR_BT_CLOSE_SEARCH) { + + } else if (obj==TOOLBAR_BT_CLOSE_SEARCH) { tb->form[TOOLBAR_BT_CLOSE_SEARCH].ob_state &= ~OS_SELECTED; window_close_search(tb->owner); + } else { + struct s_tb_button *bt = find_button(tb, obj); + if (bt != NULL && bt->state != button_off) { + bt->cb_click(tb); + struct gui_window * gw = window_get_active_gui_window(tb->owner); + toolbar_update_buttons(tb, gw->browser->bw, 0); + } } - else { - struct s_tb_button *bt = find_button(tb, obj); - if (bt != NULL && bt->state != button_off) { - bt->cb_click(tb); - struct gui_window * gw = window_get_active_gui_window(tb->owner); - toolbar_update_buttons(tb, gw->browser->bw, 0); - } - - } } /** -* Receive a specific region of the toolbar. -* @param tb - the toolbar pointer -* @param which - the area to retrieve: 0 to receive the workarea, - all other values must be - an resource ID of the TOOLBAR tree. -* @param dst - GRECT pointer receiving the area. -*/ + * Receive a specific region of the toolbar. + * @param tb - the toolbar pointer + * @param which - the area to retrieve: 0 to receive the workarea, + all other values must be + an resource ID of the TOOLBAR tree. + * @param dst - GRECT pointer receiving the area. + */ void toolbar_get_grect(struct s_toolbar *tb, short which, GRECT *dst) { - #define LAST_TOOLBAR_AREA TOOLBAR_AREA_SEARCH +#define LAST_TOOLBAR_AREA TOOLBAR_AREA_SEARCH - if (tb->reflow == true) { - toolbar_reflow(tb); - } + if (tb->reflow == true) { + toolbar_reflow(tb); + } - objc_offset(tb->form, which, &dst->g_x, &dst->g_y); + objc_offset(tb->form, which, &dst->g_x, &dst->g_y); - dst->g_w = tb->form[which].ob_width; - dst->g_h = tb->form[which].ob_height; - //tb->form[which].ob_height; + dst->g_w = tb->form[which].ob_width; + dst->g_h = tb->form[which].ob_height; + //tb->form[which].ob_height; - //printf("Toolbar get grect (%d): ", which); - //dbg_grect("", dst); + //printf("Toolbar get grect (%d): ", which); + //dbg_grect("", dst); - #undef LAST_TOOLBAR_AREA +#undef LAST_TOOLBAR_AREA } struct textarea *toolbar_get_textarea(struct s_toolbar *tb, - enum toolbar_textarea which) + enum toolbar_textarea which) { - return(tb->url.textarea); + return(tb->url.textarea); } char *toolbar_get_url(struct s_toolbar *tb) { - char * c_url = NULL; - int c_url_len = 0; + char * c_url = NULL; + int c_url_len = 0; - c_url_len = textarea_get_text(tb->url.textarea, NULL, 0); + c_url_len = textarea_get_text(tb->url.textarea, NULL, 0); - if (c_url_len > -1) { - c_url = malloc(c_url_len+1); - textarea_get_text(tb->url.textarea, c_url, c_url_len+1); - } + if (c_url_len > -1) { + c_url = malloc(c_url_len+1); + textarea_get_text(tb->url.textarea, c_url, c_url_len+1); + } - return(c_url); + return(c_url); } nsurl * toolbar_get_nsurl(struct s_toolbar * tb) { + nsurl * ns_url = NULL; + char * c_url; - nsurl * ns_url = NULL; - char * c_url; - - c_url = toolbar_get_url(tb); - if (c_url) { - nsurl_create(c_url, &ns_url); - } + c_url = toolbar_get_url(tb); + if (c_url) { + nsurl_create(c_url, &ns_url); + } - return(ns_url); + return(ns_url); } @@ -923,43 +914,45 @@ OBJECT *toolbar_get_form(struct s_toolbar *tb) /* public event handler */ void toolbar_back_click(struct s_toolbar *tb) { - struct browser_window * bw; - struct gui_window * gw; + struct browser_window * bw; + struct gui_window * gw; - gw = window_get_active_gui_window(tb->owner); - assert(gw != NULL); - bw = gw->browser->bw; - assert(bw != NULL); + gw = window_get_active_gui_window(tb->owner); + assert(gw != NULL); + bw = gw->browser->bw; + assert(bw != NULL); - if( browser_window_back_available(bw) ) + if( browser_window_back_available(bw) ) { browser_window_history_back(bw, false); + } } void toolbar_reload_click(struct s_toolbar *tb) { - struct browser_window * bw; - struct gui_window * gw; + struct browser_window * bw; + struct gui_window * gw; - gw = window_get_active_gui_window(tb->owner); - assert(gw != NULL); - bw = gw->browser->bw; - assert(bw != NULL); + gw = window_get_active_gui_window(tb->owner); + assert(gw != NULL); + bw = gw->browser->bw; + assert(bw != NULL); browser_window_reload(bw, true); } void toolbar_forward_click(struct s_toolbar *tb) { - struct browser_window * bw; - struct gui_window * gw; + struct browser_window * bw; + struct gui_window * gw; - gw = window_get_active_gui_window(tb->owner); - assert(gw != NULL); - bw = gw->browser->bw; - assert(bw != NULL); + gw = window_get_active_gui_window(tb->owner); + assert(gw != NULL); + bw = gw->browser->bw; + assert(bw != NULL); - if (browser_window_forward_available(bw)) + if (browser_window_forward_available(bw)) { browser_window_history_forward(bw, false); + } } void toolbar_home_click(struct s_toolbar *tb) @@ -975,8 +968,8 @@ void toolbar_home_click(struct s_toolbar *tb) assert(bw != NULL); use_url = nsoption_charp(homepage_url); - if(use_url == NULL || strlen(use_url) == 0){ - use_url = (char*)"about:welcome"; + if (use_url == NULL || strlen(use_url) == 0){ + use_url = (char*)"about:welcome"; } if (nsurl_create(use_url, &url) != NSERROR_OK) { @@ -989,56 +982,56 @@ void toolbar_home_click(struct s_toolbar *tb) NULL, NULL, NULL); - nsurl_unref(url); + nsurl_unref(url); } } void toolbar_stop_click(struct s_toolbar *tb) { - struct browser_window * bw; - struct gui_window * gw; + struct browser_window * bw; + struct gui_window * gw; - gw = window_get_active_gui_window(tb->owner); + gw = window_get_active_gui_window(tb->owner); - assert(gw != NULL); + assert(gw != NULL); - bw = gw->browser->bw; + bw = gw->browser->bw; - assert(bw != NULL); + assert(bw != NULL); browser_window_stop(bw); } void toolbar_favorite_click(struct s_toolbar *tb) { - nsurl * ns_url = NULL; - char * c_url; - int c_url_len = 0; - - c_url = toolbar_get_url(tb); - c_url_len = strlen(c_url); - - nsurl_create(c_url, &ns_url); - - if (hotlist_has_url(ns_url)) { - char msg[c_url_len+100]; - snprintf(msg, c_url_len+100, "Really delete from favorites: \"%s\"", - c_url); - if(gemtk_msg_box_show(GEMTK_MSG_BOX_CONFIRM, msg)) { - hotlist_remove_url(ns_url); - } - } - else { - hotlist_add_url(ns_url); - } - - nsurl_unref(ns_url); - free(c_url); + nsurl * ns_url = NULL; + char * c_url; + int c_url_len = 0; + + c_url = toolbar_get_url(tb); + c_url_len = strlen(c_url); + + nsurl_create(c_url, &ns_url); + + if (hotlist_has_url(ns_url)) { + char msg[c_url_len+100]; + snprintf(msg, c_url_len+100, "Really delete from favorites: \"%s\"", + c_url); + if (gemtk_msg_box_show(GEMTK_MSG_BOX_CONFIRM, msg)) { + hotlist_remove_url(ns_url); + } + + } else { + hotlist_add_url(ns_url); + + } + + nsurl_unref(ns_url); + free(c_url); } void toolbar_crypto_click(struct s_toolbar *tb) { } - diff --git a/atari/toolbar.h b/atari/toolbar.h index 19063f906..61ae48c82 100644 --- a/atari/toolbar.h +++ b/atari/toolbar.h @@ -26,37 +26,35 @@ struct s_toolbar; struct nsurl; enum toolbar_textarea { - URL_INPUT_TEXT_AREA = 1 + URL_INPUT_TEXT_AREA = 1 }; -struct s_url_widget
-{
+struct s_url_widget { struct textarea *textarea; - GRECT area;
+ GRECT area; }; -struct s_throbber_widget
-{
- short index;
- short max_index;
- bool running;
-};
+struct s_throbber_widget { + short index; + short max_index; + bool running; +}; -struct s_toolbar
-{
+struct s_toolbar { struct s_gui_win_root *owner; - struct s_url_widget url;
+ struct s_url_widget url; struct s_throbber_widget throbber; OBJECT *form; - GRECT area;
+ GRECT area; + /* size & location of buttons: */ struct s_tb_button * buttons; int btcnt; int style; bool attached; - bool reflow; - bool visible; - bool search_visible;
+ bool reflow; + bool visible; + bool search_visible; }; @@ -68,11 +66,11 @@ bool toolbar_text_input(struct s_toolbar *tb, char *text); bool toolbar_key_input(struct s_toolbar *tb, short nkc); void toolbar_mouse_input(struct s_toolbar *tb, short obj, short mbut); void toolbar_update_buttons(struct s_toolbar *tb, struct browser_window *bw, - short idx); + short idx); void toolbar_get_grect(struct s_toolbar *tb, short which, GRECT *g); OBJECT *toolbar_get_form(struct s_toolbar *tb); struct textarea *toolbar_get_textarea(struct s_toolbar *tb, - enum toolbar_textarea which); + enum toolbar_textarea which); char *toolbar_get_url(struct s_toolbar *tb); struct nsurl * toolbar_get_nsurl(struct s_toolbar * tb); void toolbar_set_throbber_state(struct s_toolbar *tb, bool active); @@ -86,10 +84,10 @@ void toolbar_set_url(struct s_toolbar *tb, const char *text); void toolbar_redraw(struct s_toolbar *tb, GRECT *clip); void toolbar_throbber_progress(struct s_toolbar *tb); /* public events handlers: */ -void toolbar_back_click(struct s_toolbar *tb);
-void toolbar_reload_click(struct s_toolbar *tb);
-void toolbar_forward_click(struct s_toolbar *tb);
-void toolbar_home_click(struct s_toolbar *tb);
+void toolbar_back_click(struct s_toolbar *tb); +void toolbar_reload_click(struct s_toolbar *tb); +void toolbar_forward_click(struct s_toolbar *tb); +void toolbar_home_click(struct s_toolbar *tb); void toolbar_stop_click(struct s_toolbar *tb); void toolbar_favorite_click(struct s_toolbar *tb); void toolbar_crypto_click(struct s_toolbar *tb); diff --git a/atari/treeview.h b/atari/treeview.h index 4412b1dfc..a6b4a62e9 100644 --- a/atari/treeview.h +++ b/atari/treeview.h @@ -1,19 +1,19 @@ -/*
- * Copyright 2013 Ole Loots <ole@monochrom.net>
- *
- * This file is part of NetSurf, http://www.netsurf-browser.org/
- *
- * NetSurf is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
- *
- * NetSurf is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
+/* + * Copyright 2013 Ole Loots <ole@monochrom.net> + * + * This file is part of NetSurf, http://www.netsurf-browser.org/ + * + * NetSurf is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * NetSurf is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef NSATARI_TREEVIEW_H @@ -28,9 +28,9 @@ * atari_treeview_create as the flags parameter to have an standardized treeview * window. */ -#define ATARI_TREEVIEW_WIDGETS (CLOSER | MOVER | SIZER| NAME | FULLER | \ - SMALLER | VSLIDE | HSLIDE | UPARROW | DNARROW \ - | LFARROW | RTARROW) +#define ATARI_TREEVIEW_WIDGETS (CLOSER | MOVER | SIZER| NAME | FULLER | \ + SMALLER | VSLIDE | HSLIDE | UPARROW | DNARROW | \ + LFARROW | RTARROW) enum treeview_area_e { TREEVIEW_AREA_WORK = 0, @@ -48,18 +48,12 @@ struct atari_treeview_window; * These callbacks must be implemented by any atari treeview window. */ -// TODO: add drag_status callback -typedef nserror (*atari_treeview_init2_callback)(struct core_window *cw, - struct core_window_callback_table * default_callbacks); +/** \todo atari add drag_status callback */ +typedef nserror (*atari_treeview_init2_callback)(struct core_window *cw, struct core_window_callback_table * default_callbacks); typedef void (*atari_treeview_finish_callback)(struct core_window *cw); -typedef void (*atari_treeview_keypress_callback)(struct core_window *cw, - uint32_t ucs4); -typedef void (*atari_treeview_mouse_action_callback)(struct core_window *cw, - browser_mouse_state mouse, - int x, int y); -typedef void (*atari_treeview_draw_callback)(struct core_window *cw, int x, - int y, struct rect *clip, - const struct redraw_context *ctx); +typedef void (*atari_treeview_keypress_callback)(struct core_window *cw, uint32_t ucs4); +typedef void (*atari_treeview_mouse_action_callback)(struct core_window *cw, browser_mouse_state mouse, int x, int y); +typedef void (*atari_treeview_draw_callback)(struct core_window *cw, int x, int y, struct rect *clip, const struct redraw_context *ctx); struct atari_treeview_callbacks { atari_treeview_init2_callback init_phase2; @@ -74,12 +68,11 @@ struct atari_treeview_callbacks { * Initalize an window to be an treeview window. * */ -struct core_window *atari_treeview_create(GUIWIN *win, - struct atari_treeview_callbacks * callbacks, - void * user_data, uint32_t flags); +struct core_window *atari_treeview_create(GUIWIN *win, struct atari_treeview_callbacks * callbacks, void * user_data, uint32_t flags); + /** * Free the Treeview, but not the gemtk window used for the treeview. -*/ + */ void atari_treeview_delete(struct core_window *cw); /** @@ -89,12 +82,12 @@ void atari_treeview_open(struct core_window *cw, GRECT *pos); /** * Returns the window "open" state. -*/ + */ bool atari_treeview_is_open(struct core_window *cw); /** * Closes (hides) the treeview window. -*/ + */ void atari_treeview_close(struct core_window *cw); /** @@ -105,9 +98,8 @@ GUIWIN * atari_treeview_get_gemtk_window(struct core_window *cw); /** * Get an specific area inside the window. -*/ -void atari_treeview_get_grect(struct core_window *cw, enum treeview_area_e mode, - GRECT *dest); + */ +void atari_treeview_get_grect(struct core_window *cw, enum treeview_area_e mode, GRECT *dest); /** * Process all pending redraw requests for a single treeview @@ -116,9 +108,8 @@ void atari_treeview_redraw(struct core_window *cw); /** * Attach arbitary user data to the treeview. -*/ -void atari_treeview_set_user_data(struct core_window *cw, - void *user_data_ptr); + */ +void atari_treeview_set_user_data(struct core_window *cw, void *user_data_ptr); /** * Return the arbitary user data set by atari_treeview_set_user_data() @@ -127,8 +118,7 @@ void *atari_treeview_get_user_data(struct core_window *cw); /** * Process all redraw request of all open Treeview windows -*/ + */ void atari_treeview_flush_redraws(void); #endif //NSATARI_TREEVIEW_H - diff --git a/atari/verify_ssl.c b/atari/verify_ssl.c index 5d3f86856..5d3f86856 100755..100644 --- a/atari/verify_ssl.c +++ b/atari/verify_ssl.c diff --git a/atari/verify_ssl.h b/atari/verify_ssl.h index 97716ab88..b69bc9cfb 100755..100644 --- a/atari/verify_ssl.h +++ b/atari/verify_ssl.h @@ -1,24 +1,24 @@ -/*
- * Copyright 2010 Ole Loots <ole@monochrom.net>
- *
- * This file is part of NetSurf, http://www.netsurf-browser.org/
- *
- * NetSurf is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
- *
- * NetSurf is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef NS_VERIFY_SSL_H_INCLUDED
-#define NS_VERIFY_SSL_H_INCLUDED
-
-bool verify_ssl_form_do( const char * url, const struct ssl_cert_info * cert_infos_n , unsigned long num_certs );
-
-#endif
+/* + * Copyright 2010 Ole Loots <ole@monochrom.net> + * + * This file is part of NetSurf, http://www.netsurf-browser.org/ + * + * NetSurf is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * NetSurf is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#ifndef NS_VERIFY_SSL_H_INCLUDED +#define NS_VERIFY_SSL_H_INCLUDED + +bool verify_ssl_form_do( const char * url, const struct ssl_cert_info * cert_infos_n , unsigned long num_certs ); + +#endif |