This is the mail archive of the
ecos-patches@sources.redhat.com
mailing list for the eCos project.
uE250 - Add VGA console + cleanups
- From: Gary Thomas <gary at mlbassoc dot com>
- To: eCos patches <ecos-patches at sources dot redhat dot com>
- Date: 25 Feb 2003 16:46:08 -0700
- Subject: uE250 - Add VGA console + cleanups
Note: some files which have no Red Hat heritage have had the
Red Hat copyright banner removed.
Index: hal/arm/xscale/uE250/current/ChangeLog
===================================================================
RCS file: /misc/cvsfiles/ecos/packages/hal/arm/xscale/uE250/current/ChangeLog,v
retrieving revision 1.2
diff -u -5 -p -b -r1.2 ChangeLog
--- hal/arm/xscale/uE250/current/ChangeLog 24 Feb 2003 18:10:07 -0000 1.2
+++ hal/arm/xscale/uE250/current/ChangeLog 25 Feb 2003 22:24:27 -0000
@@ -1,5 +1,17 @@
+2003-02-25 Gary Thomas <gary at mind dot be>
+
+ * src/uE250_pci.c: Initialize super I/O chip - used for legacy devices.
+
+ * src/font.h:
+ * src/banner.xpm:
+ * src/vga_support.c:
+ * include/vga_support.h: New file(s) for VGA console support.
+
+ * src/uE250_plx.c:
+ * cdl/hal_arm_xscale_uE250.cdl: Add support for console using VGA+PS/2.
+
2003-02-24 Gary Thomas <gary at mind dot be>
* include/plx.h: Clean up unused code.
* src/uE250_pci.c:
Index: hal/arm/xscale/uE250/current/cdl/hal_arm_xscale_uE250.cdl
===================================================================
RCS file: /misc/cvsfiles/ecos/packages/hal/arm/xscale/uE250/current/cdl/hal_arm_xscale_uE250.cdl,v
retrieving revision 1.1
diff -u -5 -p -b -r1.1 hal_arm_xscale_uE250.cdl
--- hal/arm/xscale/uE250/current/cdl/hal_arm_xscale_uE250.cdl 21 Feb 2003 18:17:33 -0000 1.1
+++ hal/arm/xscale/uE250/current/cdl/hal_arm_xscale_uE250.cdl 25 Feb 2003 21:55:23 -0000
@@ -96,10 +96,51 @@ cdl_package CYGPKG_HAL_ARM_XSCALE_UE250
into ROM. 'ROMRAM' will build a version suitable for system
startup code (in FLASH/ROM), which is immediately copied into
RAM for improved performance."
}
+ cdl_component CYGSEM_UE250_VGA_SUPPORT {
+ display "Support LCD"
+ flavor bool
+ default_value 1
+ compile vga_support.c
+ description "
+ Enabling this option will enable the use the VGA/CRT as a
+ simple framebuffer, suitable for use with a windowing
+ package."
+
+ cdl_component CYGSEM_UE250_VGA_COMM {
+ display "Support VGA/keyboard for comminication channel"
+ active_if CYGPKG_REDBOOT
+ flavor bool
+ default_value 1
+ description "
+ Enabling this option will use the LCD/CRT and keyboard for a
+ communications channel, suitable for RedBoot, etc."
+
+ cdl_option CYGNUM_UE250_VGA_COMM_FONT_SIZE {
+ display "VGA console font size"
+ flavor data
+ legal_values 8 16
+ default_value 16
+ description "
+ This option selects which size font, and ultimately the
+ number of displayable characters, to be used on the VGA."
+ }
+
+ cdl_option CYGOPT_UE250_VGA_COMM_LOGO {
+ display "Logo location"
+ flavor booldata
+ legal_values { "TOP" "BOTTOM" }
+ default_value { "TOP" }
+ description "
+ Use this option to control where the logo is placed
+ on the VGA/CRT screen."
+ }
+ }
+ }
+
cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD {
display "Diagnostic serial port baud rate"
flavor data
legal_values 9600 19200 38400 57600 115200
default_value 38400 ;
@@ -121,11 +162,11 @@ cdl_package CYGPKG_HAL_ARM_XSCALE_UE250
}
cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS {
display "Number of communication channels on the board"
flavor data
- calculated 1
+ calculated 1+CYGSEM_UE250_VGA_COMM
description "
Channel 0 is the only serial port on the board."
}
cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL {
Index: hal/arm/xscale/uE250/current/include/vga_support.h
===================================================================
RCS file: hal/arm/xscale/uE250/current/include/vga_support.h
diff -N hal/arm/xscale/uE250/current/include/vga_support.h
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ hal/arm/xscale/uE250/current/include/vga_support.h 25 Feb 2003 23:41:17 -0000
@@ -0,0 +1,82 @@
+#ifndef _VGA_SUPPORT_H_
+#define _VGA_SUPPORT_H_
+//==========================================================================
+//
+// vga_support.h
+//
+// VGA support routines
+//
+//==========================================================================
+//####ECOSGPLCOPYRIGHTBEGIN####
+// -------------------------------------------
+// This file is part of eCos, the Embedded Configurable Operating System.
+// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
+// Copyright (C) 2003 Gary Thomas
+//
+// eCos 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; either version 2 or (at your option) any later version.
+//
+// eCos 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 eCos; if not, write to the Free Software Foundation, Inc.,
+// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+//
+// As a special exception, if other files instantiate templates or use macros
+// or inline functions from this file, or you compile this file and link it
+// with other works to produce a work based on this file, this file does not
+// by itself cause the resulting work to be covered by the GNU General Public
+// License. However the source code for this file must still be made available
+// in accordance with section (3) of the GNU General Public License.
+//
+// This exception does not invalidate any other reasons why a work based on
+// this file might be covered by the GNU General Public License.
+//
+// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
+// at http://sources.redhat.com/ecos/ecos-license/
+// -------------------------------------------
+//####ECOSGPLCOPYRIGHTEND####
+//==========================================================================
+//#####DESCRIPTIONBEGIN####
+//
+// Author(s): gthomas
+// Contributors: gthomas
+// Date: 2001-09-29
+// Description: Simple VGA support
+//####DESCRIPTIONEND####
+
+struct vga_info {
+ short height, width; // Pixels
+ short bpp; // Depth (bits/pixel)
+ short type;
+ short rlen; // Length of one raster line in bytes
+ short access_size; // Data path width to frame buffer
+ short stride; // Offset (in bytes) between elements
+ void *fb; // Frame buffer
+ void *ctlr; // Controller regs
+ void (*off)(void); // Turn screen off
+ void (*on)(void); // Turn screen on
+};
+
+// Frame buffer types - used by MicroWindows
+#define FB_TRUE_RGB565 0x01
+#define FB_TRUE_RGB555 0x02
+
+// Exported functions
+void vga_init(cyg_uint32 *ctlr);
+void vga_clear(void);
+int vga_getinfo(struct vga_info *info);
+void vga_on(bool enable);
+#ifdef CYGSEM_UE250_VGA_COMM
+void vga_screen_clear(void);
+void vga_moveto(int X, int Y);
+void vga_putc(cyg_uint8 c);
+int _vga_printf(char const *fmt, ...);
+void vga_comm_init(cyg_uint32 *addr);
+#endif
+
+#endif // _VGA_SUPPORT_H_
Index: hal/arm/xscale/uE250/current/src/banner.xpm
===================================================================
RCS file: hal/arm/xscale/uE250/current/src/banner.xpm
diff -N hal/arm/xscale/uE250/current/src/banner.xpm
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ hal/arm/xscale/uE250/current/src/banner.xpm 25 Feb 2003 18:52:16 -0000
@@ -0,0 +1,488 @@
+//
+// LCD/CRT screen banner/logo
+//
+// Copyright (C) 2003 Gary Thomas
+//
+
+#if 0 // 256 colors
+/* XPM */
+static char * banner_xpm[] = {
+"640 64 256 2",
+" c None",
+". c #020202",
+"+ c #0A3626",
+"@ c #045A84",
+"# c #48788D",
+"$ c #6795A0",
+"% c #86B1C5",
+"& c #9EC4D2",
+"* c #BCD5DB",
+"= c #156082",
+"- c #CDE0E1",
+"; c #082D1F",
+"> c #3C393F",
+", c #EAEAED",
+"' c #042619",
+") c #475D5A",
+"! c #042216",
+"~ c #363736",
+"{ c #6D7A78",
+"] c #EFEEF0",
+"^ c #031E13",
+"/ c #0B4355",
+"( c #859695",
+"_ c #5B5C5B",
+": c #021A12",
+"< c #F3F2F4",
+"[ c #3D5144",
+"} c #0F2F25",
+"| c #2E365D",
+"1 c #A2AFB1",
+"2 c #8E808E",
+"3 c #04160D",
+"4 c #EDFDFD",
+"5 c #03120D",
+"6 c #A4949A",
+"7 c #124562",
+"8 c #73636D",
+"9 c #163129",
+"0 c #6D8C98",
+"a c #BCC5C4",
+"b c #53686D",
+"c c #34565B",
+"d c #484A49",
+"e c #B6AFB2",
+"f c #020E0A",
+"g c #26403C",
+"h c #20607B",
+"i c #33525A",
+"j c #817887",
+"k c #225162",
+"l c #FAFAFA",
+"m c #0A261D",
+"n c #0B4E6A",
+"o c #3C3852",
+"p c #D0D4D7",
+"q c #616261",
+"r c #292B42",
+"s c #959497",
+"t c #0D081D",
+"u c #FAFEFD",
+"v c #485350",
+"w c #496868",
+"x c #D6C2C0",
+"y c #577882",
+"z c #0D221A",
+"A c #46465F",
+"B c #0B0A0C",
+"C c #93A4A9",
+"D c #E0E0E0",
+"E c #344E50",
+"F c #71868D",
+"G c #B5B9BA",
+"H c #19392E",
+"I c #101E17",
+"J c #5C6E71",
+"K c #628C9B",
+"L c #327088",
+"M c #789497",
+"N c #14261F",
+"O c #1E5365",
+"P c #061A14",
+"Q c #A8BBBF",
+"R c #E5D8D5",
+"S c #286075",
+"T c #BCCCCD",
+"U c #04527E",
+"V c #413F52",
+"W c #0F060F",
+"X c #353854",
+"Y c #2F2A3F",
+"Z c #757C93",
+"` c #154153",
+" . c #4B506A",
+".. c #A79AA2",
+"+. c #608696",
+"@. c #EBE1DB",
+"#. c #848689",
+"$. c #848C97",
+"%. c #8D8A90",
+"&. c #222222",
+"*. c #133841",
+"=. c #41403F",
+"-. c #09668F",
+";. c #6A6C6D",
+">. c #1E312A",
+",. c #090513",
+"'. c #272626",
+"). c #90ADB7",
+"!. c #D9D5D3",
+"~. c #C8BCBD",
+"{. c #637977",
+"]. c #336A81",
+"^. c #294956",
+"/. c #86A4AE",
+"(. c #8E9D9E",
+"_. c #A38D98",
+":. c #1A160E",
+"<. c #406A7A",
+"[. c #1C1A12",
+"}. c #718280",
+"|. c #232237",
+"1. c #CBCCCE",
+"2. c #10414A",
+"3. c #070607",
+"4. c #063244",
+"5. c #054974",
+"6. c #7196A8",
+"7. c #046289",
+"8. c #334A49",
+"9. c #27263C",
+"0. c #1C5259",
+"a. c #78787B",
+"b. c #1A5462",
+"c. c #585C71",
+"d. c #80809A",
+"e. c #1E1E1E",
+"f. c #4A4A62",
+"g. c #355C67",
+"h. c #141216",
+"i. c #B7A4A4",
+"j. c #313055",
+"k. c #9BBCCB",
+"l. c #5D525A",
+"m. c #666666",
+"n. c #7A8B86",
+"o. c #6C6D84",
+"p. c #A6B6B7",
+"q. c #3D3F5F",
+"r. c #A69EA6",
+"s. c #637C89",
+"t. c #1A1A1A",
+"u. c #487283",
+"v. c #110E25",
+"w. c #DAD9E0",
+"x. c #E7E5E9",
+"y. c #141229",
+"z. c #174A56",
+"A. c #F7F6F7",
+"B. c #7BA3B7",
+"C. c #828086",
+"D. c #294844",
+"E. c #9A8C97",
+"F. c #C6C4C5",
+"G. c #FEFEF6",
+"H. c #2A525D",
+"I. c #366676",
+"J. c #0E5D80",
+"K. c #44606A",
+"L. c #2E2E44",
+"M. c #292F57",
+"N. c #2C1E16",
+"O. c #06434A",
+"P. c #064E72",
+"Q. c #737172",
+"R. c #180E13",
+"S. c #908DA1",
+"T. c #171617",
+"U. c #135679",
+"V. c #2F221A",
+"W. c #547077",
+"X. c #BDBBBD",
+"Y. c #3C555A",
+"Z. c #06303B",
+"`. c #324640",
+" + c #4B6B79",
+".+ c #9BB6BE",
+"++ c #334A36",
+"@+ c #55536B",
+"#+ c #666478",
+"$+ c #1D1A2D",
+"%+ c #869BA5",
+"&+ c #9A9C9F",
+"*+ c #201E32",
+"=+ c #C4B0AF",
+"-+ c #0A0205",
+";+ c #2D2C2C",
+">+ c #B2A2A3",
+",+ c #D5CCCC",
+"'+ c #045682",
+")+ c #0A362A",
+"!+ c #9AAEB0",
+"~+ c #1A1629",
+"{+ c #778C97",
+"]+ c #1A4048",
+"^+ c #ACCCDE",
+"/+ c #3C3A5D",
+"(+ c #343147",
+"_+ c #464646",
+":+ c #F3EAE3",
+"<+ c #567D92",
+"[+ c #074A81",
+"}+ c #83869E",
+"|+ c #045E87",
+"1+ c #0C4C57",
+"2+ c #346076",
+"3+ c #677271",
+"4+ c #777082",
+"5+ c #4F4E54",
+"6+ c #504655",
+"7+ c #44415D",
+"8+ c #CEC5C6",
+"9+ c #7B98A8",
+"0+ c #968B93",
+"a+ c #04020E",
+"b+ c #323232",
+"c+ c #615D6F",
+"d+ c #9495A8",
+"e+ c #FEFEFE",
+"f+ c #A7A4A8",
+"g+ c #6C7B88",
+"h+ c #4B424F",
+"i+ c #1E2247",
+"j+ c #272D52",
+"k+ c #5A4A53",
+"l+ c #073A47",
+"m+ c #3A2616",
+"n+ c #E0E6E7",
+"o+ c #6C6B7E",
+"p+ c #FEFAFC",
+"q+ c #1E1219",
+"r+ c #B1C5C8",
+"s+ c #ABADAD",
+"t+ c #044E7C",
+"u+ c #545455",
+"v+ c #9E959E",
+"w+ c #060205",
+"x+ c #092F36",
+"y+ c #CDCDDE",
+"z+ c #78778A",
+"A+ c #63828C",
+"B+ c #204A56",
+"C+ c #0F0E11",
+"D+ c #E1E0E9",
+"E+ c #9EA5A5",
+"F+ c #9C9DAF",
+"G+ c #F5FDFD",
+"u u e+G.G.G.G.G.G.G.G.e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+G.G.G.G.G.G.G.G.e+G.e+G.e+G.e+G.e+G.e+G.e+G.e+G.G.G.G.G.G.G.G.G.e+e+e+e+e+e+e+e+u G+G+u G.e+u u e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+
e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+D+D+D+D+D+D+D+D+D+D+n+D+n+D+n+D+D+D+D+D D+D+D+D+n+D+n+x.x.x.n+x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.D+x.D+D+D+D+D+D+D+D+D+D+D+w.w.w.w.w.w.w.w.w.w.!.p w.p p y+y+y+y+y+1.1.1.T F.F.a ",
+"e+e+G.e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+u u u u u u u u u u u u u u u G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+u u u u u u u u u u u u u u u u e+G.G.G.e+e+u u e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+
e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+x.n+n+x.x.x.x., , , , , x., x., , , , x.x., , , x., , , , , x.x.x., , , , , , , , , , , , , , , , , , , , , , x., x., , , x.x.x.x.x.x.D+D+x.x.D+D+D+D+D+D+w.w.w.w.w.w.p p !.p y+y+y+y+y+y+y+y+F.",
+"e+p+e+G.e+u u u u u e+e+e+e+e+e+e+e+e+e+u u u u u u u e+e+e+e+e+e+e+u u u u u u u u G.G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+u u u u u u u u e+e+e+e+e+e+e+e+G.G.G.G.G.e+G.G.e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+
e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+x.x., , , , x.x., , ] ] , ] , , , , , , , , , ] , , , ] , ] ] ] ] ] ] , ] ] ] ] , ] ] ] ] ] ] ] , , ] ] ] , ] ] ] ] , , ] , , , x.x.x.x.x.x.x.x.D+D+D+D+n+D+D+w.w.w.w.w.w.w.p w.p y+y+y+y+y+y+y+",
+"u e+G.e+u e+e+e+e+e+u e+G.e+G.e+G.e+G.G.e+e+e+e+e+e+u e+p+p+p+p+p+p+p+p+p+p+p+p+p+p+p+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+p+p+p+p+p+p+p+p+p+p+p+p+p+p+p+p+G.G.G.G.e+e+e+G.e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+
e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+, x.x., , , ] ] , , , , ] , ] , , ] ] ] ] ] ] ] ] ] < ] < ] < < < < ] < ] < ] ] < ] ] < < < < ] ] ] ] ] ] < ] ] ] ] ] ] ] , , , , , , x.x.x.x.x.x.D+D+D+D+D+D+D+D+w.w.w.w.w.w.y+!.p !.p y+y+p y+",
+"u e+u l G+G+G+G+G+G+G+u u u u u u u u G+G+G+G+G+G+G+G+G+G+G+G+G+G+u u u u u u u G+G+u u l l l l l l l l l l l l l l l u G+G+G+u u u G+G+G+G+G+G+u u G+G+G+u G+4 4 G+p+G.e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+
e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+, , , , ] , , ] ] < < ] ] ] < < ] ] ] ] < < < < < < < < A.A.< < < A.< < < < < < < A.< < < < < A.< < < < < < ] < ] < < ] ] ] ] ] ] , ] , x.x.x.x.x.x.n+x.n+D+D+D+D+D+D+w.w.w.w.w.!.!.!.w.y+p y+p ",
+"A.G+A.!+F F F F F F F F F F F F 0 {+0 0 0 0 0 6.0 M 0 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 6.M 0 $ K C G+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+
e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+, ] , ] ] ] ] ] < ] < < < < < < ] < ] < A.< < A.A.< A.A.< A.A.< A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.< < A.< A.< < < < < ] < ] ] ] ] ] ] ] x., x.x.x.x.x.x.D+x.D+D+D+w.w.w.w.w.!.p w.w.!.p p ",
+"l 4 4 F / / / / 7 / 7 / 7 / / 7 7 7 7 7 5.5.7 5./ 5.7 5.5.5.5.5.5.5.5.5.5.5.5.P.P.5.5.n P.n P.n P.n P.n P.n P.n P.P.P.P.P.P.5.5.5.n 5.5.5.5.5.5.5.5.5.P.5.7 [+n n +A.u e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+
e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+, ] ] ] < < < ] A.< A.A.A.< < A.A.G+, < A.G+A.A.l A.A.G+A.G+l A.l l l p+p+l l l A.A.A.l A.l A.l A.A.A.A.A.A.A.A.A.A.A.A.< < < < A.] ] ] ] ] ] ] , , x.x.x.x.x.x.x.D+x.D+D+D+w.w.w.w.w.w.w.w.!.w.",
+"u G+< K / 5.[+/ [+/ 5.5.[+5.5.5.5.[+[+5.5.5.[+[+[+[+5.[+5.5.5.[+[+[+[+[+[+[+t+[+[+[+[+[+t+t+t+t+t+t+t+t+t+t+t+t+[+t+[+[+[+[+[+[+[+[+t+n P.P.[+[+[+[+t+t+[+[+[+t+P.# 4 u e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+
e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+< ] ] < < < < A.< A.A.A.A.l l l l A.A.A.l A.A.l l u l l l l l l l l p+l l p+l l l l l l l l l p+A.A.p+p+p+A.p+A.A.A.A.A.l A.< A.< A.< < ] ] x.x.x.x., , , , x dot x dot x dot x dot D+x dot at dot D+D+D+D+w dot w dot w dot w dot w dot w dot ! dot ",
+"u u 4 K 5.5.5.5.5.5.5.5./ [+5.5.5.5.5.5.5.5.[+t+t+t+5.[+[+5.t+P.P.P.t+t+t+[+[+t+t+t+t+t+t+t+t+t+t+t+t+t+t+t+t+U t+U t+t+t+U U U t+t+t+t+t+t+t+t+t+t+t+t+[+n t+U P.# G+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+
e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+< < < < A.< < A.A.A.l G+A.l l l l l G+l l u u l l u l u l l u l u u p+e+e+e+u u u u l u l e+p+e+p+p+p+p+p+p+p+l l l l A.A.A.A.A.< A.< < y+..2 2 ......>+e ~.x ,+D+D+x dot D+ at dot @.D+R x.D+w.w.w.w.w.w.",
+"p+u G+A+5.5.5.5.5.5.[+5.[+5.5.[+5.5.[+5.5.t+P.t+t+P.U t+t+U t+t+t+t+t+t+P.U U t+U U U U U U U U U U U U U U U t+U t+U U U U U U U U U t+t+U U U U U U U U.n U U 5.u.4 e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+
e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+< < < A.< A.A.A.l l l l l l l l u u e+l u l l u e+e+e+p+e+u p+e+p+p+u e+u e+p+p+p+e+e+e+e+l u p+e+p+l l l l l p+l l p+p+p+p+A.A.A.A.A., 2 d.S.%.E.6 _.E._._.2 2 2 2 ..X.y+w.w.w.R D+D+w.p w.w.w.",
+"G.u G+0 5.5.5.5.5.5.5.5.[+[+t+5.5.5.5.t+5.t+P.t+U t+U P.t+t+t+U U U U U t+t+U U U U U U U U U U U U t+U U U '+U '+U U U U U U U U U '+U U U U U U U U U U t+U '+n u.G+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+
e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+< < < A.A.A.p+l l l l e+u e+u p+e+p+e+p+e+e+p+l p+e+e+u e+u e+e+e+e+e+e+l u u e+e+e+p+u e+e+e+p+p+p+p+p+p+e+p+p+p+l l l p+A.A.A.A.< ,+S.j j 4+o.#+o+j E.d.2 2 j E._._._._...i.=+i..._.z+#+S.e G ",
+"l u G++.5.[+[+[+5.[+5.[+5.t+5.t+t+t+t+t+U t+t+t+t+U t+U U U U U U U U U '+'+U U U U U U U U U U U U '+U '+'+U '+U '+'+'+'+'+'+'+'+'+U '+'+'+'+'+U '+U '+U '+U '+n u.4 e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+
e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+A.A.A.A.A.l l l l e+e+l p+u e+e+e+e+e+e+e+e+u e+e+e+u e+e+e+l p+u e+u p+e+e+e+e+p+e+e+e+e+e+e+e+e+e+e+e+e+p+u l p+p+A.A.A.A.A.A.< f+z+z+4+z+4+#+4+o+8 2 2 j j j >+_.2 2 2 _._._.2 j j _.2 4+c+7+",
+"G.u G+0 [+[+5.[+[+[+[+t+[+t+t+t+t+t+t+t+U U U U t+U U U U U U U U U '+U U '+'+'+'+'+'+'+'+'+'+'+'+U '+'+'+@ '+@ '+'+'+'+'+'+'+'+'+@ '+U U U U '+U '+'+@ '+'+U '+U # G+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+
e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+A.A.p+p+p+p+p+u l G.e+e+G.e+e+G.e+G.e+G.e+G.e+e+G.l w.p w.!.y+x.p !., A.A.p+e+e+e+e+e+e+G.e+e+G.e+e+e+G.e+G.e+u p+G.p+p+p+p+p+:+e 0+4+4+j z+#+j o.#+c+4+4+8 c+4+4+c+6+8 j =+~.=+>+6 _.2 c+l.o R.",
+"G.u 4 $ [+[+[+[+[+[+t+t+U t+t+t+t+U U U U '+'+U '+'+'+'+'+'+'+'+'+'+'+'+@ '+@ @ @ @ @ '+'+'+'+'+'+@ '+@ @ @ @ @ @ @ @ @ @ @ @ @ @ '+@ @ @ @ @ '+@ '+'+@ @ '+'+@ U.# 4 e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+
e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+A.A.A.p+l l l p+e+e+e+G.e+e+e+e+e+e+G.e+e+e+e+G.p+w.F+d+f+f+..F+S.d+d+F+F+1.n+D A.u e+e+e+e+G.e+e+e+G.e+e+e+e+G.G.p+G.p+l l , f+E.d.j 2 E.j #+2 4+c+ at +@+f.7+f.6+f.7+/+f.c+6 j _.E.2 _.4+q+R.-+w+",
+"G.G.G+0 t+U U U U t+t+t+U U U U U U U U U U '+'+U '+'+'+'+'+'+'+'+'+@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ '+'+'+@ '+@ @ @ '+U.U.@ '+U.# 4 e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+
e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+p+p+p+p+e+e+e+e+e+e+e+e+G.G.e+G.e+e+e+G.e+u u G.e+1.v+F+f+e f+d+S.}+$.S.S.d+&+F+e < e+e+G.e+e+G.e+e+e+G.e+e+e+e+G.p+A.] x.X.d.S.2 j z+j j d._.4+8 4+8 6+7+q.7+/+/+A 7+f.c+8 #+c+4+_.6 k+w+w+w+. ",
+"G.u 4 $ U t+t+t+t+U U U U U U U U U '+'+'+'+'+'+@ @ @ @ |+@ @ @ @ @ '+@ |+@ @ |+|+@ |+@ @ @ @ @ @ |+@ |+@ |+@ |+|+|+|+@ @ @ @ @ |+@ @ @ @ @ @ |+@ @ '+J.U.J.= J.'+<+4 e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+
e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+A.p+l e+e+e+e+e+e+G dot e+e+e+e+e+e+e+e+e+e+e+G dot e+e+ at dot 8+F+i dot X dot >+F+S.}+d.d.d.}+$.d.S.}+8+G.G.e+e+e+e+G.e+e+e+e+e+p+l G+l F.S.Z o.o+S.E.2 d.o.4+2 S.2 4+4+4+ .A /+7+q./+/+/+7+#+k+ at +f dot k+V :.B . . . . ",
+"G.G.G+0 U U U U U U U '+'+'+'+U U '+U '+'+@ |+@ |+@ @ @ 7.7.|+|+@ @ @ @ |+|+|+|+|+'+= J.-.J.|+J.@ @ @ J.'+7.@ 7.|+|+7.|+|+|+7.|+|+@ @ |+@ |+|+|+|+-.h ].# $ % K U.<+4 G+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+
e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+A.p+p+p+e+e+e+e+e+e+e+e+e+G.e+G.e+G.e+G.e+e+u G.,+x s+~.8+=+f+S.}+d.Z d.d.}+d.d.}+F+l u G.G.G.e+e+e+e+G.G.e+e+< f+F+v+}+#+o.4+>+E.E.z+c+4+j j 8 o dot at +c+@+7+/+/+| /+/+/+7+ at + dot at +7+Y ~+. . . . . . ",
+"G.u G+6.U '+'+'+'+'+'+'+@ @ '+@ @ '+@ '+'+@ @ |+7.@ J.U.U.U.J.@ |+7.|+|+|+7.7.7.|+= = L ].S h h S h h L L U.J.@ |+7.7.|+|+7.|+7.|+|+|+|+7.7.@ J.L % % % & ^+^+& <+y 4 e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+
e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+G.e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+G.e+e+e+e+e+e+A.!.=+e x ,+x e F+S.d.d.d.d.}+d.d.Z }+p !.p D+w.D+A.G.G.G.G.G.] !.i.>+..d.o+4+E...2 2 c+#+d.4+j 8 c+#+c+f.A q./+/+/+A 7+A f.6+/+q+,.. . . . . . . ",
+"G.u 4 6.U '+'+'+'+'+'+'+@ |+@ @ @ @ |+|+|+|+|+@ J.b.L $ 6.u.O h J.|+7.7.|+|+7.|+J.h $ * ^+% % & & % % % k.K S h = J.|+7.|+7.7.7.|+@ |+7.7.|+h L <.B.k.).).r+.+9+9+( G+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+
e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+p+G.G.G.G.G.G.G.e+e+e+e+e+G.e+e+e+G.e+G.e+e+e+:+x ~.x ,+ at dot x =+F+}+d.Z Z Z d.d.Z Z d.S.S.S.F+d+d+F+y+l G.l !.f+E.0+r._.4+4+2 2 j _.2 #+j 4+j j 8 c+ at +A /+/+| /+/+/+q.7+/+Y ~+t . . . . . . . . . ",
+"G.u G+6.'+@ @ @ @ @ @ |+|+|+|+|+|+|+|+|+7.|+|+J.U.<+k.^+r+r+B.+.L I.= = = = J.h h L $ * T - Q p.^+* ^+k.% % B.+.$ L h J.7.7.7.7.7.7.|+J.J.= = 2+<.W.C a G !+p.p.).Q l e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+
e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+G.p+e+e+e+e+e+e+G.e+e+e+e+e+e+e+e+e+G.e+G.G.p+R x x R x R ~.>+>+}+d.z+Z Z d.Z d.Z j d dot d dot }+$ dot d+S dot S dot S dot F dot F dot }+c dot at +c dot f dot c+4+S dot }+S dot 2 4+4+8 8 E.8 #+8 #+#+#+/+/+/+q./+j.j.i+$+v.B -+. . . . . . . . . . ",
+"G.u 4 6.'+@ @ |+|+|+@ @ |+|+|+|+|+@ |+|+|+|+J.S $ * * * T ^+^+^+^+).$ <+# ].# # <.<+Q 1 G y+1 C E+Q ^+k.% ).6.B.% B.L h ].-.= J.h = = b.1+l+/ 7 <.u.y 1 y+Q $..+Q T G+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+
e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+l G.G.G.G.e+e+e+e+e+e+e+e+G.e+G.e+e+G.G.G.e+A.R x x R @ dot at dot x i.v+S.S.d.z+z+Z z+Z Z z+z+4+o.o+b #+#+#+#+ at +f dot 7+q dot A dot 7+ at +@+c+8 4+j j 4+4+E.4+c+4+4+j @+/+j+i+i+i+q+t W W a+3.. . . . . . . . . . . ",
+"G.l G+6.@ |+|+@ |+|+|+|+|+7.7.|+|+|+J.J.= U.h u.K Q - r+^+1 M M )./.6.B.B.6.+. +K.F+F+f+p.a y+1 C r+1 ).9+9+s.0 % u.# L L U.b.U.L h / l+4.l+` S g.6.<+6..+r+/.F k.r+l e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+
e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+G.G.G.e+e+e+G.e+G.e+G.e+G.e+G.e+e+G.G.u ! dot at dot @.R x R @ dot at dot R ,+e }+F+f+d.z+o.4+#+c+c+ .f.f.f.A 7+q./+/+7+ at +7+/+/+/+7+7+7+7+/+7+/+/+/+4+4+4+c+ at +7+6+/+$+v.t t t t W ,.-+w+. . . . . . . . . . . . . ",
+"G.u 4 6.|+|+|+|+|+|+7.7.|+|+7.7.J.J.J.h ].+.+.$ 6.}.Q n+* T C 9+J A+9+6.+.+.2+<. +$.$.$.C T T r+%+k.r+).s.W.W.K.9+K.I.# 2+/ l+l+O.l+4.4.l+n <.# g.g.g.W.9+C ).W.B.1 G+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+
e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+p+G.G.G.G.e+e+e+e+e+e+e+e+e+e+e+e+e+x.1.f+f+,+x R x x R x i dot E dot S dot v+ dot dot z+#+ at +f dot A 7+/+q.q./+q.q./+o /+o j.j.j.j.j.7+7+f.k+7+j./+/+/+/+/+8 8 @+/+*+$+q+v.t t W ,.,.,.a+w+w+. . . . . . . . . . . . . ",
+"p+G.G+6.@ |+7.|+7.7.|+7.7.-.|+J.J.I.L K % % 9+0 M Z b G n+- X.d+9+{+6.u.k k K. +s.s.0 $.z+%+p..+9+.+^+9+^.Y.g+y {+# 2+<.2+/ l+4.4.4.2.l+/ h h O k g.]+` W.9+ +^.K.9+l e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+
e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+D !.p l e+e+G.e+G.e+G.e+e+e+e+G.l w.e f+f+~.,+x x ~.e 6 S.d+r.2 z+c+c.f./+/+/+/+/+o (+X /+/+q.X j.j.j.j.j.Y Y j.7+8 E.c+7+/+7+/+/+/+j.j.Y $+R.R.t W ,.,.-+-+w+w+w+w+. . . . . . . . . . . . . . ",
+"A.G.4 6.|+7.7.7.-.7.7.-.7.-.-.= L B.k.).B.).9+Z F W.K.{+- w.- y+Q ).+.2+^. .u.9+ +s.y J J J d.{+F %+% # H.u.9+9+B.<+ +u.2+k 2.B+)+g.2.Z.l+/ h S ` g.c 2+<.F W.^.y F G+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+
e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+c.S.G w.u u p+G.G.u G.G.l l G.A.p G s+e e =+~.i.i.>+%.S.E.F+d.c+c.f.7+/+j./+/+/+7+/+/+7+/+/+o (+(+j./+/+j./+j.j./+/+k+7+/+/+/+/+j.$+N.q+N.q+t W W ,.a+a+. a+w+. . . . . . . . . . . . . . . . . ",
+"p+u 4 B.-.7.-.7.7.-.7.7.-.-.= L B.+./.!+/./.9+y F y b g.%+r+D+X.1 1 s.k <.6.}+9+A+A+g+3+J J $.{+s.C 0 2+c <+y 0 /.{+<+g.` g.*.z.I.2+2.l+1+S L b.7 4.B+2+ + +F Z ).d+G+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+
e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+q. .#+{ d.F+w.p+l A.n+p F.D A.X.f+S.F+y+f+S.d.d.2 }+2 }+z+c+f.A f.f.7+7+/+/+/+7+7+h+7+7+f.h+o o V /+o j.o o /+/+/+/+/+7+7+h+j.q+N.q+q+q+q+W ,.,.w+-+3.. . . w+-+w+. . . . . . . . . . . . . . . ",
+"p+u 4 6.-.7.-.-.-.-.-.-.-.h L $ 0 0 %+).T 1 ).<+B.g.Y.g.y .+- - * ^+B.<+# s dot at +s dot y g+b z+b g+( .+A+0 <.` 7 2+ +0 /.9+s.B+7 2+k l+# B+)+b.L b.O.l+z.Z.` c i b /.F %+Q l e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+
e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+| q dot f dot at +c+#+o+F+s+X dot F dot X dot X dot s+s+F+F+S dot F+e % dot d dot d dot z+o dot o dot c+ at + .f.f./+/+/+/+7+/+o o o 7+o o h+h+/+/+7+h+7+A h+7+7+h+7+o V V Y N.v.$+N.q+~+R.t W W ,.w+w+W W . . . w+. . . . . . . . . . . . . . . . . ",
+"p+u G+B.= h -.L L ].h = ].].# s.Z 9+/./..+& %+u.<+2+O B+B+ +%+* y+^+6.2+<.<.o.( d.F g+$.g+b .b K.<+<.B+B+<.y 6.{+{+s.H.]+H.<.H.<.g.0.S 0.1+l+/ z.l+` B+y K.0 B.s.1 G+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+l e+l e+e+e+e+e+l e+l l e+e+l e+l l e+l e+e+l l e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+l e+l l e+l e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+l e+e+e+e+e+e+e+e+e+e+l e+e+A.e+l e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+
e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+| | | A . .c.#+o+4+F+G s+F+d+F+F+d+s S.z+d.Z o.c. .q.A /+7+/+o /+7+/+/+o j.o (+o o o 7+7+7+h+h+V 6+7+h+7+V o o (+o Y v.q+R.q+t R.t t W ,.-+w+w+w+w+. . w+. . w+. . . . . . . . . . . . . . . . ",
+"u G+4 %+S L u.].# # L S ].K 0 g+z+%+E+F d+k.+.<.2+2+k k u.y i 6.* .+<.` H. +g+/.F 9+0 ).Q 0 %+K.b +.<.` ` y ).9+Z Z J /.K.k k # k k 0.l+2./ O O +.<.z.l+7 B+k S g..+G+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+l l e+A.D x.D l e+e+e+e+< ] x.D x.A.< D x.< l l l A., D D x.D ] A.l l e+e+e+e+e+e+e+e+A.< D x.l l e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+l l < D x.A.l l e+e+e+e+e+e+e+e+e+A.D n+] l e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+
e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+M.| | | q.f. . .c.c.#+z+$.}+}+}+#.d.S.}+d.z+c.f.A 7+V 7+/+/+o j.(+V o o /+o j.7+o /+/+/+o o q.7+o V /+o o o o m+N.q+q+t t v.W W W ,.W W W W w+. . . . 3.w+. . . . . . . . . . . . . . . . . . . ",
+"u G.G+B.u.$ k ^. +K.y <.# <+s.g+d.d+E+ +s.).6.O n O 7 L # <+g ^.%+^+6.g.H.g+$.9+F A+s.9+r+).9+ +K.F 6.H.2+<+)./.o.s.%+- .+E E A+z.2.l+4.2.S +.2+<+% ` 7 <.2+O B+k W.4 e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+l G C+3.B D e+e+e+e+A.u+3.3._+l w.3.h.F.l A.e+G._+3.3.. h.=.e A.e+e+e+e+e+e+e+e+e+l &+3.&.A.l l l e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+l !.3.C+F.l l e+e+e+e+e+e+e+e+l A.;+w+%.e+l e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+
e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+j.M.| | | q.A f. . .c.c.#+4+Z d.d.}+}+z+c.f.7+7+V o /+q.(+(+(+j.j.j.j.(+(+j.(+7+V o > o o (+/+o /+o (+(+V.9.*+~+q+R.W t W ,.,.,.,.-+W B w+. . . . . . . 3.w+w+. . . . . . . . . . . . . . . . . ",
+"u G+G+0 2+c i x+Z # +^. .<+g+s.J F d+ . .+.K U.O n 7 # <.B+^.g+%+9+6.H.2+C - - ^+/.2+` ^.Y.K.K.K.W. +c 2+b F+B.Z %+^+T * k.K. +]+k Z.7 7 B+<.g.u.0 c 2.k g.b.` I.W.G+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+G.p+G B 3.3.#.G.e+e+e+D C+3.3._+u w.. h.F.u l u l d . B T.B f &.p G.e+e+e+e+e+e+e+e+l b+3.3.&+l e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+u D t.&.F.e+l e+e+e+e+e+e+e+e+G.l ;+. %.G.e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+
e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+M.M.| | | | /+f. . . dot at +@+ at +c dot #+o dot d dot #+5+q dot q dot X o X V o o (+j.(+j.o o j.(+o o o o (+o Y o (+(+o (+Y $+N.$+*+q+R.W W W W W ,.a+,.a+w+. w+w+. . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
+"G.G.G+F +.9+F E ^.g.W.+.q.F F 6.F {+}+ +K.y g.h b.l+0.<+# B+K.A+B.9+s.^.W.Q r+9+6.2+l+7 7 *.^.W. +s.Y.]+i 2+k.Q F g+%+- p * k. +H.u.7 ` k 2+<.<.g.K.H.7 g.y I.S A+F G+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+G.G C+3.. b+l l A.l &+. 3.. =.u D . C+F.p+e+e+e+_+. q !.f+T.3.s l e+e+e+e+e+l e+l X.3.3.B _+l l e+e+l A.!.e F.< e+e+A.D X.G D l l e+l A.D G e p < e+l l l e+] 1.s+X.D A.l l < X.X.n+A.A.A.D G G 1.A.x.w.< D &.. C.D+l l e+, F.s+X., l e+e+G.A.1.e F.< l e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+
e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+j+j+j+| /+q.q.q.A A . . . dot at + .5+f.V X X (+o X L.L.j.(+j.(+o o o (+(+o (+(+Y (+(+Y Y 9.V.$+*+q+q+$+q+N.$+q+W t W ,.,.a+a+-+w+w+. . . . . . . . . . . w+w+. . . . . . . . . . . . . . . . . . . ",
+"p+p+l F Y. +F+K.` H.4.y K.Y.Y. +K.Y.}+ + .s.i O 1+O.O.z.^.]+i K.$ <+W.s..+* ^+g.l+l+7 / z.7 g.0 6.M y <. +s.$.o.0 y Y.s.- - - {+W.g.4./ h 2+7 2.<. + +i K.E <.# +.y 4 e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+X.B . b+. 1.u G.l 5+3.;+3.=.G.D . 5 F.e+e+e+G._+. ;.u < ;+. C.G.e+e+e+e+e+l u l _ 3._+B B 1.l l A.< C.h.f 3.d w.l F.;+3.3.&.e A.A.x.;.h.B 3.C+5+!.A.l A.p =.C+3.B e.Q.x.l D B h.a A.] C.:.3.3.B m.d 3.f+;+3.. B d ] l E+;+C+3.3.;+s+A.l ] ;.C+3.B _ ] e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+
e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+9.j+j+j+M.| /+q.q.7+A A A f.f.q.X X o (+X L.L.L.j.(+(+(+(+j.Y (+(+Y (+Y (+Y Y V.$+q+q+~+v.t R.t R.q+q+q+q+R.W W W ,.,.a+a+a+. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
+"l l l ( g.b s.s. +W.i .+.Y.g +K.F 9+#+ +Z W.S 1+O.1+H.H.).C 0 y *.2+6.6.B.<.l+7 z./ S 0.` H.w ( {+K. +9++.u.K.9+J +H W..+* * y k ` k O 2.7 B+B+F y +.A+<+ +2+g.w G+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+G.G B . %.3.Q.p+u D C+'.m.. _+u D . C+F.e+e+e+e+_+. 5+f+Q.h.h.X.A.e+e+e+e+l G.l D h.. X.v . m.l l G+X.C+B =.T.B C.] =.3.~ ;+B b+n+< _ B h.d v &.. ;+D A.p &.B e.u+=.C+B _ A.w.3.C+F.A.C.3.B ~ u+;+B B 3.E+v C+3.t.q < f+h.B =.u+> B B X.l s+B T.d h.B &+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+
e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+i+i+j+M.| | | q.A A A A f./+X X X X (+X X o (+(+(+j.j.(+j.(+j.9.Y Y |.9.V.$+~+q+q+t R.t q+v.y.t R.t t R.W t ,.,.a+a+w+. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
+"e+A.l %+b %+J b y +.2+W.K.g.g K.) g+Z (.G Q o.S b.O.l+O.B+b }+Y. +B+I./ O z.l+/ / n S l+g.c i Y.( C %+s.c c u.u.# +y c Y.^.s.).).A+^.u.2+z.<.7 g.2+u.y +^.H.7 *.K.4 e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+G C+. p t.'.< l %.B C.;.3.=.e+w.. h.F.e+e+e+l _+. . 3.B 3.u+x.l e+e+e+e+e+e+G.C.3.e.A.f+. t.D A.u #.3.'., G #.s+D t.. s+w.$.0+] E+B C+s+< p+p &.. Q.A._ 3.;+D l A.C.'.;+F.w.3.C+X.p t.B a.] u ] ;.3.B f+l ;+3.%.l ] '.3.q A.l A.C.3.=.A.;.3.~ < E+#.~.e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+
e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+j+9.j+| /+/+q.| q.q.q.q.| X (+(+(+j.L.(+(+X j.(+Y Y 9.9.~+~+*+~+*+~+*+q+~+y.t v.v.t t t t W t v.t t W t t ,.a+a+a+a+a+. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
+"p+p+G+C b J o.b s.Y.^.K.^.y ^.K.J b ).r+a T W.H.O.1+b./ 2+B.d+( s.k z.z.l+O.O.1+b.z.K A+F 0 /.}.g+( a 9+i B+k k 2+K.Y.w g.*.B+^.%+/.K.y <.S H.l+*.H.y +.6.+. +B+B+ +4 e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+p+G B 3.] d . G l ~ f F.Q.. _+G.D . C+F.e+e+l e+=.. 3 '.&.C+B m.< e+e+e+e+e+l ] '.3.v F.G B 3.%.G.A.X.C+B d &+D l , =.3.;+a.F.] l u+. _ A.p+u p+#.3.'., B B f+u l l G+D D ] w.. h.F.&+3.&.D l A.u w.&.. f+G.'.. #.l G B . s &+E+E+&+3.B !.f+3.T.u+f+D u e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+
e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+$+i+*+i+i+i+i+j+i+j+j+Y L.9.j.L.(+(+(+L.L.Y L.j.~+$+y.v.v.t v.v.~+v.v.t t t t t t t ,.,.a+W t W ,.,.t a+a+a+a+3.w+. . . . . . . . . . . . . . -+W . . . . . . . . . . . . . . . . . . . . . . . ",
+"G.A.l p. +) d.$.W.E E + +i ^.W.{+g+( T 1 y+!+g.0.O.O.<.c Y.Z %+K./ l+1+O.l+5.n O z.% 6.E b Z ).d+F $.}+}+g.g 2+g.g.y y 2+H.*.]+K.9+9+K. +g.B+l+l+g.g.K.s.+.y k ]+b G+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+p+X.f w+, f+3.q p 3.b+< ;.. =.e+D . 5 8+u e+e+e+_+w+q D w.C.5 h.1.e+e+e+e+l u s+3.. 3.w+B 3.. b+< G+< #.&.3.3.&.s+A.F.=.C+3.h.;.] b+3.C.A.p+u l e f 3.1.B f ,+l l G.l u G+G.w.. C+a a.. ~ l G.p+G.A.~ . f+G.;+. $.l &+. 3.B 3.3.. B 3.f e ] ;.[.3.3.;+a e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+
e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+i+9.~+~+~+i+~+i+$+~+$+Y o (+(+(+V V =.h+h+> 6+f.V.*+v.,.,.a+a+,.y.v.t t v.t t t ,.,.a+a+a+t q+t t -+R.W ,.w+-+B B W 3.W w+w+. . . w+w+w+w+-+-+R.b+-+. . . . . . . . . . . . . . . . . 3.. . . . ",
+"p+e+l Q n.) C.$.}.w K.0 +<.Y.{+A+) g A+Q 1 T .+y B+]+6.c g+9+2+` O.l+l+/ O.7 7 2.*.c y b g+g+}.$.$.{+J 3+r+n.Y.) W.W.y <.*.*.]++.3+).%+u. +H.B+k 7 z.u.y 6./.u.*. +4 e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+G.G B . < n+h.h.a.w+#.l Q.. _+u D . C+F.e+e+l e+=.. ;.l l D e.3.e e+e+e+e+e+A._+3.:.;+;+;+;+B 3.s+A.l l !.s ;+3.=.] G+x.s+u+C+C+X.d . _ A.l l u s B [.D C+. s+l u A.l x.x.< - 3.h.F.%.3.;+, A.A.l D '.. s+u '.. #.p+s+B 3.u+;.m.m.q m.q p < A.1.%.&.3.5+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+
e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+*+i+~+i+$+*+i+9.$+i+9.L.L.L.;+L.(+(+(+o o Y o 7+~+*+v.,.,.,.,.t y.v.t t v.v.t t a+,.a+a+a+t $+R.v.t ~+h.C+t B C+q+R.R.[.:.h.B C+B 3.B C+R.'.:.m+h+:.N.N.m+N.R.N.R.q+:.R.N.[.3.q+R.N.W R.-+R.[.:.",
+"p+p+u r+!+Q a.&+Q 0 Y.y K.i Y.{.A+{+c H W.%+p.Q y 0.w A+s.9+C k l+O./ / l+/ / 4.l+*.>.K.}.$.$.C %+!+9+g+o+a w.1 {.W.H.]+<+w *.*.i A+{+F F y <.].H.I.z.E 0 +.K k *.K.G+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+X.B . , l _ 3.h.C+p l Q.. =.p+w.w+h.e , , , e+=.w+m.x.D s B f ,+e+e+e+e+l 1.h.. &+x.D n+D _+. u+A.a._+a.l s 3.;+E+_+u+w.p &.B s+s 3.T.X.l A.!.;+. q A.d 3.=.D l l f+b+~ ~.D . C+F.F.C+B C.< l < C.3.. f+l ;+. %.l D e.3.#.] A.A.&+;.a.] q _+s A.a.3.b+G.e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+
e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+i+i+i+i+Y Y j.j.Y j.j.(+L.L.L.Y L.L.Y Y L.Y (+L.~+$+v.v.v.t t v.y.v.t t t t ,.,.a+a+a+a+a+a+t t a+a+a+a+3.a+a+a+. w+w+w+. . . . . w+w+. . . w+W N.-+w+. . w+3.-+-+-+w+-+N.V.w+w+-+W -+B -+-+W B ",
+"l l l X.).E+!+( C .+( [ k ]+Y.F n.y [ H W.Y.y y A+/.{+%+).g.I.7 1+5./ / 4.` ` 4.*.B+*.x+W.( { Z b ( p.C $.p w.n+T {.H.*. +s. +^.*.^.g.H.H.H.<.H.z.g.$ g.c g.c ` Z.K.4 e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+G.G.p+G B 3.:+l s+. 3.=.G.l ;.. d u w.3.3.'.;+;+d x._+3.:.;+'.3.3._ A.e+e+e+e+G.m.. t.] e+G.e+G.f+3.C+1.#.3.h.u+;+3._ p e.C+_+v B '.p ] 5+3.[._ q '.. ;+1.A.F.&.C+;+;._ T.3.u+< w.3.h.a < ;.3.h.d m.d C+C+3.s+l ;+3.#.l l #.C+B _+;.u+C+3.C.l ;.3.I m.&.3.a.e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+
e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+i+i+9.j+M.j.X X /+q.X V o (+(+(+L.Y L.L.(+L.j.Y j+Y i+i+~+~+*+~+*+$+~+y.y.y.t t t t ,.a+t ,.t W -+a+,.a+a+a+. . a+. . . . . . . . . . . . . . w+-+. . . . . . . . . . . . w+. . . w+. . . . . . ",
+"u l u X.g+( !+%+1 C T !+E H E {+}.c J c [ A+g g.y s.{.F ^.` k / O.l+l+l+l+4.` H. + +g.H.) W.w 3+) 4+$.( !+p w.a C %+w K.B.A+F .i *.x+*.*.7 g.L g.l+k ` ]+x+4.` 4.K.G+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+u G.l G B B n+G.] h.B s l l ;.B =.l w.. 3.. 3.. '.D d 3.3.. C+&.m.D A.u e+e+e+x.t.3.C.u G.e+u u , t.3.Q.D _ C+3.C+=.!.A.s :.3.B e.&+< G.D _ h.3.. B =.1.A.l l X.=.3.3.3.3 q D l D 3.h.X.A., m.h.3.3.f u+d 3.f+l ;+3.#.A.l , 0+'.3.3.3.t.a.< l w._+3.3.B 5+D e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+
e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+i+i+i+9.j+j+j.X X q.q.q.q.X X L.L.L.L.L.(+L.L.Y Y 9.Y j+j+Y 9.i+9.*+*+i+$+~+v.v.t t t t t W t ,.t B W ,.,.a+w+. . . . . . . . . . . . . . . . . . . . . . w+. . . . . . . . . . . . . . . . . . ",
+"p+e+u D $.{ n.F (.p.T - ).K.`.M {.) i Y.D.K.c D.^.x+i i ]+` l+n O.l+l+` 4.z.i +. +K.g D.J s.b { b b F ).!+T p.{ .+- %+<+2+]+E s.s.K.]+*.k *.7 2.z.Z.2.g.^.]+4.` ]+W.G+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+p+G.p+, F.F.l l l p F.] l A.w.F.,+u < F.F.F.F.F.1.A.p F.F.1.F.w.A.A.A.p+e+e+e+< F.F.x.e+e+e+G.l A.p F.1.l , G &+s+x.A.A.A.1.E+E+,+A.l A.G+] F.f+E+F., l A.l l u n+X.&+&+8+A.A.l < F.F.] l < < 1.f+&+X., w.F., l 1.F.D l A.l l D s+&+E+p < A.A.A.:+e &+G ] l e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+
e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+i+i+i+i+j+j.| X X | q.q.q.q.q.X | (+L.Y Y 9.9.9.i+Y 9.Y 9.Y |.Y Y 9.9.Y 9.9.i+*+*+y.y.v.t ,.,.,.W R.t q+B ,.3.a+w+. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
+"e+l l , p $.b 3+( C p.- - /.b {.K.Y.g.H D.[ ]+W.i x+*.N *.7 / l+l+l+/ ` ^.K.0 .+s.Y.K.) w b ( ( g+{+F <+M +Y.`.{.B.y c ]+c. +{+* r+J H.B+]+2.k <.2.)+<.).+.]+4.]+W.G+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+u G.l A.l A.u A.l u A.A.l u u l u l u l u u G.l l u l l u u l l l l e+e+e+e+u u l l G.e+p+e+l A.A.G.l A.A.l A.l l l < l A.A.G.l l l l l l < A.l u G.l l A.A.p+G.l l u l l l l l G.l G+l A.G+l G.p+l l l G+l l u l u A.l A.l G.A.p+l l A.G+l l G+A.l A.l l G.e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+
e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+i+i+i+j+j+j+M.X q.`.q.`.q.8.A f.5+f.X L.L.Y r j+i+9.i+Y i+i+Y Y j.Y 9.j+9.9.9.9.9.i+*+$+$+~+y.R.t R.v.R.v.B a+a+3.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
+"e+l l D D a 3+n.!+E+a p - r+#.}.W.c ) D.g.u.)+<+{+Y.x+x+l+` l+l+l+4.k K.g.n.Q G M F ( %+( (.r+r+!+).0 H.} *.g 9+{+b ) g.K.W.{+G - * * /.g.]+B+z.z.]+0.c I.{.^.]+*.Y.G+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+l e+A.u l l l G.l A.l l l l l A.l l u l u G.l l l A.l l A.l l A.l l l l l G.l G.l l l A.l l l l l l l l l A.l l l l l l < l l l l G.l l l l u l l p+l l l u G.l l G.l p+l u G.G+l l G.A.l A.G.l l G.l l l p+l l l l A.G.l u A.l p+l l l l l l l A.l l l l e+e+l l e+l l e+l e+l e+l e+l e+e+l l l l e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+
e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+i+i+j+i+j+Y M.| q.q.A A A .c.c.#+o.c.V (+j+9.Y j+Y Y 9.i+9.|.i+9.Y |.9.9.j+L.r r 9.9.9.9.*+9.*+~+h.v.h.h.v.3.. w+w+. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
+"l u u G 1.p a E+E+}.( T p p {.q J ) +c l+O.+ H.+.J j+x+l+)+4.)+2.k g.W.M r+* }.u+3+}.3+b 3+}.(.!+n.c g c +{.M y W.J %+A+!+^+r+T G r+r+).<.)+*.)+)+H.D.H A+%+^.*.) 4 e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+G.l p+u x.&+u+Q.p A.A.u A.A.A.l u l < l l G.l l < l A.l A.e G F.E+D s , A.u A.l l l e+l A.A.l l A.X.E+l A.A.A.A.A.l l G.p+!.f+n+s , < l l l l G.l l l l G.l l u p+l l u l l l A.A.] &+D l l A.l l l l A.l l l l p &+< A.A.l &+1.l l l l A.A.A.l A.E+1.l l l l A.l l l l l l e+l e+l l A.s+F.l A.l x.#.< l l e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+
e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+i+i+i+i+M.X X X q dot q dot 8 dot at +c dot #+J o+o.4+Q.#+ .o L.j.9.r Y 9.|.9.i+*+*+9.i+9.|.9.9.L.Y r r r r Y Y Y 9.|.*+$+q+q+t B B 3.a+. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
+"G.l p+1.8+D !.p p.n.m.{ Q - ( v 8.[ M w O.2.]+u.{+u.*.` / l+l+Z.]+g c F !+p.r+3+{.3+_ }.1 r+G C }.) {./.!+.+/.F }.M C C 1 * T r+T Q 1 !+!+/.K.4.; Z.x+; *.) Q /.W.{.G+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+p+G.l w._+d f+_+&., A.] D l A.A.p+x., A.A.x.] A.u l A.G+A._ %.C.m.D &+< A., x.G.l l , ] l A.l G.1.'.s+l ] D l l G+l ] < l %._ F.~ 1.n+A.l l , n+l A.u l l l , ] A.l l :+D l , n+A.D ;+1.D A.u l A.D ] G dot A dot A dot n+ at dot s u+A.A.D < ;+X.l ] D A.l l < D x.> e l l A.A.< A.A.l A.A.< x.A.l l l ] ~ f+A.] D F.'.< l G.e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+
e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+i+i+i+j+j.X q.q.A .#+Z Z o.o.z+o.o+Z o+#+c+A (+j.Y 9.Y |.|.|.*+i+r 9.|.9.i+9.Y 9.Y 9.r 9.|.9.Y |.Y 9.9.|.|.*+~+t 3.3.w+. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
+"l l l D !.!.- p p C }.}.3+C p F g `.) ).M w H D.H.B+z./ l+l+)+*.]+c %+)./.!+( 3+(.E+p.p.T G !+(._ 3+p.1 1 !+n.( C p.(.n.(.G T p.r+!+(.E+!+C M w H.H.} x+D.Y.s.%+).!+G+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+u l l ;.q , l < G x.&+;+;+_ < Q.=.b+> n+s+;+> 1.u+1.x.d a ~ a.:.e.#.Q.&+b+> ;+1.] _ ;+b+=.G A.A.=.C+s+%.~ ;+Q.] _ ~ s+l 1.[.e.a.:.> '.X., C.b+;+#.A.l l w._ ~ '.X.D '._+'._ ~ ;+&+F.h.=.;+u+] 1._ ~ b+a ] a.b+;+;+#.!.d ~ > h.D E+b+;+u+A.p =.~ =.e.!.l x.d a f+_ n+5+X.s+~ ;+_ x.#.~ a.e.1.E+;+b+~ u+A.e+l e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+
e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+i+i+j+| q.A .c.#+Z d+(.S.d.z+Z z+z+z+4+c.b c. .q.| r L.r 9.r 9.|.9.9.9.|.|.|.9.&.|.|.9.r 9.Y L.9.Y Y r 9.9.|.&.*+~+h.a+w+w+w+. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
+"e+u G.n+!.p !.T G 1 a.s+{ v !+p (.v [ n.T p.w i B+/ O.O.l+l+4.*.8.J p.M ( n.++v (.a 1.T s+&+s+s (.s+p.(.(.p.Q (.M ( E+(.$.s+!+s+p.C %+1 E+(.%+{+F {.D.]+g 0 A+I.g b G+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+p+G.x.e.1.A.A.l l X.'.1.p [.G > a.1.&.G _+m.s X.=.D 1.b+G ;+X.'.G q a._ u+D b+s a._ D E+B ,+u l _ a.E+~ 1.a '.G ~ %.] l , ~ E+a._+w.d a.s =.X.s+&.D A.A.u+q F.#.> G &.D C.'.w.;.5+s b+1.F.;+s+d Q.F.Q.u+s =.p 1.&.s+=.#.D #.;+X.&.e F.&.s+~ C.D %.e.l u < =.v+> =.v+v X.b+X.p ;+s+_+;.X.;+s+;+X.n+=.a.e+l e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+
e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+i+j+q.A 5+ at +v+~ dot F dot X dot f+ dot dot F+e f+j z+o.C.s o dot #+c dot at +u+ .7+o X L.9.|.9.9.|.&.i+e.|.i+|.9.*+;+9.|.|.|.9.'.9.|.9.|.|.|.|.|.*+C+,.a+3.w+w+. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
+"e+u u n+p p 1.p s+C.( G p.a.b s+p E+{ !+T T Q W.D.2.O.1+b.z.8.+.F n.(.{ m.J [ { r+a a E+E+C.Q.G 1.G E+s ( E+W.g ) { ( &+(.s ( (.E+}.n.!+1 ( A+F W.g.H H 9 g w y D.K.l e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+u D [.1.A.A.x.D ;.C.A.] '.s+e.D D ;+D s+b+_+e ~ l e =.G ~ F.;+!.=.s+~ G A.~ G '.F.l F.5 A.l < > f+u+%.p+D '.f+;+n+G.l w.b+1.d &+G.d f+b+&.~ ~ ~ , l p C+b+~ b+_ C._ < a.Q.A.m.Q.m.C.G.n+~ %.C+b+~ b+;.=.s G., '.E+;+D A.&+_ q I ~ > ;+E+:.] l s+d l l G.q =.q ~ ~ F.a.m.A.< ~ f+;+F.s+=.C.q l A.v f+u e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+
e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+V @+o.v+~.,+x.:+:+:+R ,+~ dot at dot @.e %.4+#.e C.Z o.#+o+;.#+c.u+7+L.Y Y Y 9.i+*+i+&.9.9.r |.9.L.9.&.*+*+*+|.*+*+*+*+*+|.|.9.|.&.$+h.B 3.w+. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
+"p+G.G.G s+T 1.a p.}.q Q.#.p.n.3+a p T a T p.r+/.) c c w 0. +).1 %+Q (.(.n.J }.p.a r+n.;.&+{ ( E+}.n.E+( ( {.g H H ) }.{ n.}.m.J }.{ C C s.b b w ++9 H + ; ; } + H b G+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+A.p+G.d u+1.s+'.&+a.b+p a.=.1.e.A.1.;+X.u+s '.&+;+F._+_ v+v e =.w.'.X.'.w., &.x.'.C.1.=.> l l < [.1.q d 1.m.u+G ;+A.A.l F.;+!.~ F., ~ 1.=._ X.a.f+l A.D :.s s+m.p _ #.A.5+s < =.s d =.1.a.=.F.&.s s+;.!.u+u+1.Q.b+X.[.&+F.b+a.Q.=.F.#.#.w.C+&+1.;+a.G.l u s e.1.~ m.A.%.b+X.#.=.X.~ D #.m.$.b+~.f+C+p p+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+
e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+&+v+e D+:+:+:+:+:+] ] :+< :+] @.X.v+C.d.%.s s S.%.C.o.o+o+; dot at +V ~ r |.I y.$+*+e.i+*+$+N &.i+$+y.I y.$+t.y.$+~+y.$+*+;+r *+*+*+T.h.3.-+-+-+. . . . . . . . . . . . . . . . . . . . . . . . . . . ",
+"G.l G+n._ }.(.s+(.n.m.[ _ J n.}.p.T a 1.a G a 1 p.!+w W.9+)..+!+Q !+) g ) !+(.( !+n.[ 3+1 &+q [ J { J b }.g + 9 H g W.b { {.[ J {.{.{.D.} + H } z ^ ! ! ^ ; } ' ! v G+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+u l l w._ ~ d s+< < _ ~ m.x.G a.A.X.C.D d _+G w.=.=._ s+s &+p.#.p ;.X.;., w.;.A.G ~ _+=.a.G.u n+_ < D u+~ Q.x.s+#.G.A.G.G a.D ;.D D ;.D 1.d ~ Q., G.l l f+=.=.s < ;.a < ;.1., m.X.m.m.~ _ w.< s ~ =.s+< F._+> _ a.< %.;+_ u+X.] _ ~ q w.l %.~ v _ G l G.l F.C.< C.p l , ;.> ;.w.F.a.:+#.f+D _ ~ q u+] l l l e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+
e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+,+F.,+:+:+:+:+:+:+:+:+:+< :+:+:+ at dot 8+f+% dot j s >+..>+6 0+j j j o+_ u+_+X r *+I i+i+e.*+~+$+*+*+z ~+$+P y.P y.y.5 y.9.o 5+r |.e.i+$+I y.h.R.B 3.. . . . . . . . . . . . . . . . . . . . . . . . . . ",
+"l G.G.a.++[ ) J J q [ [ [ [ ) ( T a r+G a a n.}.r+n.W.y w M .+p.p.( H H n.n.w w w ) ) w {.[ [ J w ) g w +++ + + + H ++c [ [ H g g 9 ' } } } ; m ' ! : ^ ^ } 9 ; ; Y.u e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+G.G.G.l < l G.G.G.A.< G.G.l l u G.l G.A.A.l G.A.A.< l p+A.p+l p+l G.p+l l l 1.e.a.;.~ !.A.G.p+A.G.l l < l G.l p+l G.l p+l l l l l l G.G.A.] l G.u l u G.< ] l G.< p+G.A.G.l l G+l A.< G.l l l A.A.l G.l A.A.A.l l G+A.A.< G.l A.< A.G.l G.< A.l p+e+e+u G.l l l l G.l A.< A.l l A.u l l G.l A.A.A.u e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+
e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+R R @ dot at dot @ dot at dot @ dot at dot @.:+:+:+:+:+:+:+:+ at dot 8+>+C...=+i.i.>+i.=+6 C.o+#+m.c+7+X j+9.r i+i+$+$+I $+i+$+y.y.y.y.y.y.y.y.I *+(+~ |.~+~+$+$+~+*+> ;+*+v.w+. . . . . . . . . . . . . . . . . . . . . . . . . ",
+"G.G.G.3+`.++++v [ ++[ [ [ [ J !+r+1 ( C E+}.) 3+}.++++H [ 0 ( M 0 w H ++w D.++++H ) [ g H H H H >.+ } H + ; ; ; + + + + ; } ; m m z ! ' ; ; ; ^ ^ P : ^ P N z m N ) G.G.e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+G.G.G.G.l u G.l l u l G.G.G.l u u A.l G.u l G.l G.G.G.p+G.u l G.G.G.G.G.G.X.a.C.n+l l l G.A.G.l G.G.G.G.G.u G.G.G.G.G.G.G.G.G.u G.G.u u u G.G.G.e+l G.l l G.u l G.l G.G.l G.l G.G.u G.u l l G.G.u G.l l G.l G.G.G.l G.l G.G.l G.G.u G.G.p+G.G.e+e+G.u G.G.G.G.u G.u G.u u u G.G.G.G.u l G.G.p+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+
e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+ at dot R @ dot at dot @ dot at dot @ dot at dot @ dot at dot :+:+:+:+:+x.:+:+ at dot R X.x ~.i.i.i.=+x =+E.4+c+z+;. .f.A q.~ j.j+r j+9.9.i+r i+i+i+M.j.i+y.~+i+|.9.r |.i+9.9.i+9.L.6+6+b+9.*+$+:.,.. . . . . . . . . . . . . . . . . . . . . . ",
+"u G.G.;.>.++g ++[ ++++++++[ ++{.M }.{.{.{.) ++++++D.+++ 2.D.++++H + H + H + + + } g H 9 9 } H 9 ; ; ' ; ; ; ' ; + + + ; ' ; ; ' ; ! ! ' ' ; ; ! ^ : : : P 5 f f 5 _+u e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+G.e+G.G.G.G.G.p+G.l p+e+G.G.G.G.l G.l l u l l G.u G.G.p+G.u e+e+e+G.l < l l p+G.l l l G.G.G.G.u G.l u G.u e+e+u G.l G.e+G.e+p+u G.p+e+p+e+A.u G.l G.G.G.G.G.u l l G.G.l u l l l l G.G.G.l G.G.G.u G.l l l l G.l l l G.G.G.l G.e+G.p+e+u e+e+e+e+e+u l G.e+G.u G.l G.G.e+p+e+p+e+p+G.e+e+u e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+
e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+R R R R R R @ dot at dot @ dot at dot @ dot at dot @ dot at dot @ dot at dot @ dot at dot @.!.,+,+x i...6 i.=+i.0+4+#+q c.f.A A q./+`.q.X X X q.q.X q.7+ .o+c+6+o L.9.Y (+L.(+r (+o (+~ o 7+6+> (+9.'.|.T.,.w+a+a+. . . . . . . . . . . . . . . . . . ",
+"G.G.G.;.I >.++g ++++++g ++D.H D.2.D.H D.g 9 } H + + + + + ; ; ' ! ' ; ; ; } ; m ; m m m ! ^ ' ' ! ! ! ' ; ; ; ; ; ; ; ; ' ' } ' ; ^ ! ' m N } ^ : : : P f 3.B f f =.e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+p+p+e+e+G.e+G.p+G.l e+p+e+G.e+e+p+u e+e+l e+u p+l l l l G.G.l e+e+l e+e+e+e+e+e+l e+e+e+e+e+e+p+e+e+e+e+e+G.e+e+e+e+e+e+e+e+e+p+e+G.u G.G.e+e+G.e+e+G.e+e+e+e+e+e+e+e+G.u G.G.G.G.G.u G.G.e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+G.e+e+e+e+l u e+u e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+
e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+!.!.w.R R R R R R R R @.R @ dot at dot R @ dot at dot D R R R ,+i..._.>+>+i.%.a.#+c. .E f. .E A .A .v dot 5+ at +u+@+#+j ..s j l.l.o 6+d h+7+=.f.d h+A _+6+5+> > o (+(+'.y.t B t ,.,.w+w+. . . . . . . . . . . . . . ",
+"G+G+l { I I g H H g `.++H } ; ; + ; 2.H ' } ; ; ; ; + ; ; ; ' ' m ! ! m z 3 : 3 3 : P P P : ^ ! ! ' ' ; ; + ; ' ^ 3 3 ! ! ' + } } ' ; ' ' } } ' ! z ^ P 5 f f B 3.=.l e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+G.G.G.e+G.e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+
e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+!.,+,+,+!.!.!.R !.R w.R D !.!.D w.R R D R D R i.6 2 E.6 >+2 a.c. . .f.f.f. .f.A dot at +z+4+4+j Q.z+2 6 e r.E.j 8 c+k+c+ at +d 7+6+5+5+l.6+V 6+h+h+6+> (+Y *+~+y.v.v.t ,.B ,.3.3.w+. . . . . . . . . . ",
+"G+G+l 3+N f N H } N b+>.3 5 z 3 ^ ! ; m P I f : ! ; } ' ' m ! ^ z ! : : 3 5 f 5 5 5 3 P 3 3 3 : ! ' ' ; ' ; } m P f 3 ^ 5 3 >.H ' ; ' } ' } } ^ I z I 3 5 5 C+f B =.A.e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+
e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+,+,+,+,+,+,+,+!.!.!.!.!.!.R !.!.!.!.!.!.!.!.!.=+..C.2 0+6 Q dot Q dot at + .f.f.A . . .f. .z+r.f+F+f+f+r.f+e x ~.e f+6 %.o+Q.#+u+5+6+6+l.5+6+=.7+=.h+h+(+(+Y |.y.y.v.t v.,.t ,.B h.B 3.. . . . . . . . . ",
+"G+l G+E+a.3+3+}.{ { { Q.m.;.;.;.;.;.3+Q.;.;.m.;.3+3+{.{ Q.{ Q.3+{ Q.{ 3+;.;.J J ;.J J ;.;.3+3+{.{.{ {.{ {.}.}.{ { 3+a.}.a.3+}.n.{ }.{ }.{ }.{ 3+3+{ Q.3+3+;.;.;.;.#.l e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+
e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+,+y+,+,+,+,+,+,+,+!.!.!.!.!.,+!.!.p !.!.!.!.!.~.i.C.Q.2 0+j Q.q @+ dot at + . dot at +@+ at +c dot % dot e e X.X.X.X.~.8+,+,+x ~.e >+0+0+4+c+u+ at +@+c+l.5+=.o h+6+k+> (+b+L.*+$+y.~+y.y.y.y.y.e.$+:.B B B . . . . . . ",
+"u G.G+G+G+G.G+4 4 G.G.G.p+p+G.G.G.G.G.l p+G.G.G.G.G.G.G+p+G.G.p+G.G.G.u G.G.G.G.G.G.G.G+G.u G.G.G+G+G+G.G.G.G.G.G.G+G.G.G.G.G.l G+G+G.4 G+G.G+G.G.u p+G.u u G.l p+p+A.e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+
e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+F.F.F.8+y+1.1.1.1.8+,+,+1.,+,+1.,+,+8+,+,+,+,+F.i.%.a.0+0+j j ;.#+q #+#+#+3+z+o.C.s+X.~.=+~.~.8+8+8+,+,+8+8+~.e ..f+s C.z+Q.#+8 l.f.V h+h+6+l.h+(+> L.|.$+y.~+$+~+~+T.~+9.V.V.N.[.:.R.w+. . . . ",
+"G.G+G.G.G.G+G.G+G.G+u u G.G.G.u u G.u G.G.u u u u G+G.G.u u G.u G.G.u G.G.G.u u G.G.G.G.G.G.G.G.G.G.G.G.p+G.G.G.G.G.u G.G.G.l G.G.G.G.G.G.G.G.G.G.G.e+G.e+e+e+p+G.p+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+
e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+~.~.~.F.F.F.8+8+8+1.8+8+,+1.1.,+8+1.,+1.1.1.,+F.G 0+C.2 2 j j 4+o+o.Q.z+Q.C.C.2 s =+F.F.8+,+8+8+8+,+8+8+8+8+F.~.e e v+%.C.4+8 ;.8 l.V > h+6+k+> > (+(+9.|.*+*+*+|.*+~+|.(+6+> h+(+m+[.C+w+. . . ",
+"G.G.u u G.G.G.G.G.G.G.G.u u u G.u G.u u u u u u u G+G+u u u u u u e+u u e+e+e+e+e+e+e+e+e+e+e+G.G.G.G.G.G.G.e+e+e+e+G.G.p+G.G.G.G.G.G.G.G.e+e+p+e+e+e+e+e+e+e+p+e+p+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+
e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+~.X.X.~.~.~.~.F.F.8+F.F.F.8+F.8+8+F.8+8+8+8+8+~.G 6 %.0+E.%.%.j j z+a.C.d.%.s %.r.X.~.F.~.F.F.F.F.F.F.F.F.~.F.F.X.e f+r.v+0+2 j Q.l.5+h+6+6+h+> > > (+b+'.|.*+|.Y |.N.9.> k+k+l.l.l.l.N.w+3.. . ",
+"e+u u G.G.u u u u u u u e+G.e+e+e+e+e+G.e+G.G.G.G.G.G.u G.u e+e+e+u e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+u e+e+e+e+e+u u e+G.e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+
e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+G X.e e G G G X.X.X.X.~.~.~.F.a ~.F.F.F.F.F.F.X.e &+6 ....v+E.%.2 C.0+E.s r.r.r.e ~.F.~.~.F.~.F.~.~.~.~.~.~.X.X.e e e s+f+E+v+%.C.o+c+c+_ l.l.k+6+> > h+(+Y (+m+o o (+> k+8 8 8 k+k+h+m+q+h.C+C+",
+"e+e+u u u u G.G.e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+u u e+e+e+u u u u u u e+e+e+G.u u u u G.e+e+e+e+e+u u u u e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+
e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+",
+"e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+u e+e+e+e+e+e+G.e+G.G.e+e+G.e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+
e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+e+"};
+#else
+/* XPM */
+static char * banner_xpm[] = {
+"640 64 89 1",
+" c None",
+". c #030304",
+"+ c #0E3833",
+"@ c #075A83",
+"# c #32728A",
+"$ c #628E9A",
+"% c #8AA9B4",
+"& c #A4BCC4",
+"* c #AECEDE",
+"= c #CEE2E2",
+"- c #3A565A",
+"; c #063243",
+"> c #1A3A2E",
+", c #E5E6E9",
+"' c #062418",
+") c #ECEAEB",
+"! c #69787A",
+"~ c #48656C",
+"{ c #EEEEF2",
+"] c #021E12",
+"^ c #363636",
+"/ c #86959C",
+"( c #021A12",
+"_ c #F2F2F6",
+": c #083D48",
+"< c #345057",
+"[ c #0A2E22",
+"} c #A4AAAC",
+"| c #F6F6F6",
+"1 c #0E2E26",
+"2 c #74727B",
+"3 c #104555",
+"4 c #5B5C62",
+"5 c #16121C",
+"6 c #EEFEFE",
+"7 c #BABABC",
+"8 c #324A36",
+"9 c #0E251D",
+"0 c #084976",
+"a c #797A86",
+"b c #100E16",
+"c c #526A6E",
+"d c #BED1D3",
+"e c #958C98",
+"f c #2A2F2D",
+"g c #B9ADAE",
+"h c #CAC4C4",
+"i c #9B9AA0",
+"j c #204244",
+"k c #FBFAFB",
+"l c #40423E",
+"m c #0E0A1E",
+"n c #48515B",
+"o c #85828F",
+"p c #312E41",
+"q c #222222",
+"r c #F6FEFE",
+"s c #D2D2D3",
+"t c #3B3A56",
+"u c #527783",
+"v c #44405A",
+"w c #67646E",
+"x c #0A6389",
+"y c #22627A",
+"z c #A1B6B9",
+"A c #211E26",
+"B c #DDDADF",
+"C c #181820",
+"D c #23243B",
+"E c #6696A2",
+"F c #254E5A",
+"G c #376373",
+"H c #554755",
+"I c #0E060E",
+"J c #FEFEF6",
+"K c #2D3055",
+"L c #748D93",
+"M c #06507C",
+"N c #62828F",
+"O c #0A0A0E",
+"P c #585266",
+"Q c #FEFEFE",
+"R c #728489",
+"S c #332418",
+"T c #474855",
+"U c #B8C6C8",
+"V c #7798A6",
+"W c #686D76",
+"X c #E4E2E3",
+"rrQJJJJJJJJQQQQQQQQQQQQQQQQQQQQQQQQJJJJJJJJQJQJQJQJQJQJQJQJJJJJJJJJQQQQQQQQrrrrJQrrQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQXXXXXXXXXX,X,X,XXXXXXXXX,X,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,X,XXXXXXXXXXXBBBBBBBBBBBsBssshsshshsUhhU",
+"QQJQQQQQQQQQQQQQQQQQQQQQQQQQQrrQrrQrrQrrQrrrrrrrrrrrrrrrrrrrrQrrQrrQrrQrrQrQJJJQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQX,,XXXX))),),),))))XX),),))))),,,)))))))))))))))))))))),),)))XXXXX,BB,,XBXBXBBBsBBBssBssssdssdsh",
+"QkQJQrrQrrQQQQQQQQQQrrQrrQrQQQQQQQQQrQQrQQJrrrrrrrrrrrrrrrrQrQQrQQrQQQQQQQQJJJJJQJJQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQXX))))XX){{{){),),))){){),){){{{{{{){{{{){{{{{{{)){{{){{{{),{))),,,),X,,XXXX,B,BsB=BsBdBshshshsh",
+"QQJQrQQQQQrQJQJQJQJJQQQQQQQQkkkkkkkkkkkkkkkQQQQQQQQQQQQQQQQkkkkkkkkkkkkkkkkJJJJQQQJQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ),),)){_,)),{){{)_{{{{{{{__{_{____{_{_{{_{{____{{{{{{_{{{{{_{))))))XX,X,XX=XXXBXXBBBBBBsssssdsss",
+"rQrkrrrrrrrrrQrrQrQrrrrrr6rrrrrrrQQQQQQQrrrrkkkkkkkkkkkkkkkJrrrQQQrrrrrrQQrrrrr66rkJQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ)){{{,)_{_|{{{__{{{{________||___|_______|_____|______{_{__{{{{{{){),,,,XXXX,=XBXBBBsBBBBBsBssds",
+"|r|}RRRRRRRRRRRRLL$LL$LELLLEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEVLLE$%rQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ,{,{__{{_{______{_{_|__||_||_||_||||||||||||||||||||__|_|_____{_{{{{{{{,),,,,,,X,XXXBBsBBsssBsss",
+"k66L:3333333333333330030303000000000000M0000000000000000MMM0M0000M000000000M03000c|rQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ)_{{___{|_|||__||6)_|r||k||r|kk|kkkkkkkk|||k|k|k||||||||||||____|{{{{{{{)),,,X,X,X,XBXBBBBBBBBBB",
+"J6_$00030300M000000000000000000000000000M000MMMMMMMMMMMM00000M00000M0M00000M000MMu6QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ_{{____|_||||kkkk|||k||kkJkkkkkkkkkkkkkkkkkkkkkk||kkk|k|||||k|_|_k__{{X,,,)))),,,,B,XXBBBBBBBBBs",
+"Qr6$0000000030000000000MMM0000MMMMMMM00M0MMMMMMMMMMMMMMMMMMM0MMMMMMMM0MMMMMM0MMMMu6QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ____|__|||kk|kkkkkkkkrrkkJkrkkJkJJkJQJQJJQkJkQkQkkkkkkkkkkk|||||_|__sieoiiigg7hsXX,XXXXBXBBsBsBB",
+"kk6N00000000000000000MMM0MMMMM0M0M0M0 at MMMMMMMMMMMMMMMMMMMMMM@M at MMMM00@MMMMMM at MMM0u6QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ___|_|||kkkkkkkkrrrkrkkrQQJkJrkQkkQQrQkkkQQQQkQkQkkkkkkkkkkkkkk||k|)ooeeeeeeeeooooi7sBBBBXBBsBBB",
+"Jrk$0000000000M0000M0M0MMMM0MMMMMMMMM0M at MMMMMMMMMMMMMM@M at MMMMMMMMM@MMMMMMMMMMM at M0#kQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ___|||kkkkkrrrrkQkQkQQkkkQQQQQQQQQQQkrQQQQkrQQQkkkkkkQkkkkkkk||||_seaa22w2aeooe2eeeeeigggieaweg&",
+"kJ6N000000000M00MM0MMMMMMM0 at MMM@M at M@M at MMMM@M at M@M at M@M@@M at M@@@@@@@@@M@@@@@M at M@M at M@Mu6QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ|||||kkkkrQkkQQQQQQQQQJQQQrQQQkkrQQkQQQQkQQQQQQQQQQQQkQkkk|k||||_ia2222w22woo2o2geooeeeeoaoeo24v",
+"JJ6L0M0M000M0MMM0MM0MMMMM at MMMMMMMMM@M@@@@M at M@M at M@M at M@@M@@MMM at M@M@@@MMMM at M@@@M at MMMu6QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ||kkkkkrkJQQJQQJQJQJQJQQJkBsBBh,ss)||kQQQQQQJQQJQQQJQJQQkJkkkkk)ge22o2wawwP22ww22wHwaghggeee4Pt5",
+"Jr6E000000MMMM0MMMMMM@@MM at M@@@@@@@@M at M@@@@@@@@M@@@M@@@@@@@@@@@@@@M@@@@@@@MM@@M@@@u6QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ|||kkkkkQQQJQQQQQQJQQQQJkBie}}iieiiiih,X|rQQQQJQQQJQQQQJJkJkkkXgeoaoeawe2wPPHvHHHHtHweoeeee25mI.",
+"JJ6$MMM at MM0MMMMMMM@MMM@@M at M@MMMM at M@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@M@@@@@@@@M at M@u6rQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQkkkkQQQQQQQQJJQJQQQJQrrJQsiiig}ieo/eeiiig_QQJQQJQQQJQQQQJk|{X7oeo2a2ooe2w2wHHvvttvvHP2wP2eeHIII.",
+"Jk6EMMM0MM at MM@MM at MM@@@M@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@x@@@@@@@@@@@@@@@@@@F at y@@u6QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ|kkQQQQQQJQQQQQQQQQQQJQkXhig7gieoaoooLoeohJJQQQQJQQQQQkkrkhea2weeeow2oeo222HvtvttttHwHPHHHAI....",
+"JJk$MM at MMMM@M@@MM at MMM@@@@@@@xx@@@@@@@@xx@@@@x@@@@@@@@x at x@xx@@xxx@@@@@@x@@xy#uE%$ at u6rQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ|kkkQQQQQQQQQJQJQJQJQQQJshghhg}eLoaRoooooikrJJJQQQQJJQQ_}iiow22gee2w22owwPwPvttttttvPHPHS5II....",
+"Jk6VMM at M@M@@@@@@@@@@@@@@x at x@@@x at xx@xxxxx at xy##yyyyyy##@@@x at xx@x at xx@@@xx at x#%%%***&Nu6QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQJQQQQQQQQQQQQQQQJQQQQQQ_BgghhhgieoooooRoResBsXBX|JJJJJ)Bigiow2eeoePwo2owPwwHHvtttHvHHHt5I.......",
+"JQ6E at M@M@@M@@@@@@@@@@x@@@F#EVc at y@x at x@@xx at yEd*%%*&%%%&$yyx@@x at xx@x at xxx@y##%&%%*zVV/rQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQkJJJJJJJQQQQQJQQQJQJQQQ)hhhsXhgiooaNaooaaReeei/eis|JkB}eeie22oooeow2222wwPvttKtttvvtKCmII.......",
+"JrkEMx@@@@@@@@@@@@xxx@@x at uz*UU%N#Gxxxx@yy#Ed*=&&***&%%%NE#y at xxxxxx@@@xxyGu%U7%zz%&kQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQJkQQQQQQJQQQQQQQQQJQJk|BhhBhB7g}LaaaRaNoaaaooLieeehho4PPHw2eeeo22w2ewwwwwwtttvtKKDAmIII.........",
+"Jr6V@@@@x at x@x at xx@@@x at xxyEddd*****%EuuGuuGN&z7d}%}&*&%%E%%%#y#xx at yxxFM+33~#u}s&e&&UrQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQkJJJJQQQQQQQQJQJQQJJJJ|BhhBBXhgeeeoaaaaaaaa2WWcwwwwPTvvHPvPPPw22o22e2w22oPtKDDDmmmmmI...........",
+"JkkE at x@@x at x@xxx at x@xxxMyu$&=U*}LV%%E%%E$~~ii}zUd}%*zzVVuE%#u## at F@#y3:;;jyGVNEz&%R&UkQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQJJJQQQJQJQJQJQJQQJJkBXBBhBXBBsgoiio2W2w44PTTHTvvttvPvtttvvvHtHvtt222wHvHtDmmmmmmmII.............",
+"Jr6E@@@x@@xxx at xxx@@yGNNEER&X*d%VWNVENNG#~eLoiddU/&*%Nuc~VGGuy3;:3;;;:M~u--GuV%%c%}6QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQkJJJJQQQQQQQQQQQQQ,h}ghhBhhBhgeeiiawPvvvtvvtvtttttKKKKKvvHHvKttpvtwwHHA5mmmmmmmmI...............",
+"kQkV at xxxxx@xxx@@@G#$z%VLVa~7,=7eVLV#FF~~N!L/a/zzV%*VF-RuLuy~G3:;;;::3yxF at -jjcVcFGVkQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQXsskQQJQJQJQQQQJkBggihhhhhgeeiioaPwvtvvtttKKttttKKKKKKKKvwePHpHvpHpKSDm5mmmmmII dot dot dot dot dot dot dot dot dot dot dot dot dot dot dot dot dot ",
+"|J6E at xxxxxxxxxxx#%z%%%VaRu~L=B=sz}NGFnuVcNucWcoLLV%uF#/V%uc#GF:F+G:;;3yyj--y~LcFuRrQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ4e7BrQkJJrJJkkJ|s7}ggghggeeeeiowPPvtKtttvvtvvttKKKvtKtKKvtHHtvttp5S5S5mmmmmm..I.................",
+"k6_%xxxxxxxxxxy#VN%%%%VuRu~-/UX7z}NF~EoVNN!WuWLL!%$G-NuN%LN-3->3GG::0y#F0;FGccRa%irQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQvnw!oiBkk|,shX|7}eihgeo2eeoooPHvvPvvtttvvvvvTvttvvtKtttttttvvHK5S5555mmmmII....I................",
+"kr6Exxxxxxxxxx#EE$/%*}%N%--Guz==d*%uuNPNuacac!/&NL~30Gc$%VNF0GF:uF1F#F0;3;:-Fc%R/&kQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQKtnP4wWig7h77}giieigeao22wwHPHPttttvttttvttvvttvvvvHvvvvtvvK55AS55555mmmIII.....................",
+"kr6%xxx###yx##uNaV%%z*/#uGF3F~Vdd*EG#Gw/oRaLacPcGu~jF~uLLR!FjF#FGGFyFM:0F;3Fu~$%N}rQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQkQkQQQQQkQkkQQkQkkQkQQkkQQQQQQQQQQQQQQQkQkkQkQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQkQQQQQQQQQQkQQ|QkQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQttKTnP4wW2i7}iiiiiie2oa2PPvvtvtttvttKKtKtttvvvHvvHvvvvttKtp5555555mmmII.........................",
+"Qk6/y#uyu##yG$RN2/}R/&N#GGFFuu<VdzG3<u!%NVL%&$/~c$#j3u%Voac%~FFuFF at +::FF$G0:3jFyGz6QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQkkQ|X,XkQQQQ_{,X,|_X,_kkk|)XX,X{|kkQQQQQQQQ|_X,kkQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQkk_X,|kkQQQQQQQQQ|X,{kQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQKKKKvTnn44wa/ooLooeoo2PHHvvvtttKKvtvttKvtttvttvvtvtttttSSm5m55555mmmmII.........................",
+"rQ6VuEFFu~uGuuNao/}~N%VFMF0#uujFV*VGFNoVLN!VU%VcGRVFGN%%WN/=z<<N33:;3y$GN%j0~GFjFc6QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQk7b.OXQQQJ|P..TkB.5hk|JJT...5lg|QQQQQQQQQki.q|kkkQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQJkB.bhkkQQQQQQQQk|f.eQkQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQKKttKvTTnn44w2aooooaPPvvvttvKKKKKKKKKKKvvttttKttttppSSA555mmmmmmmmmII.......I...................",
+"rrr$G<<;auuFPuN!uRiTPN$ at FM0u#FFa/VVFG%B=*%G3FnG4Gc~-GciVaV**d&GcjF;33FG-u$-3Fy at j#crQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQJk7O dot dot oJQQQXbI dot TJB dot 5hrkrkT dot OCI(AsJQQQQQQQQr^..ikQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQrXCqhrkQQQQQQQQJkf.erJQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQKKKKKttTPnnPPP4wWowPvvKttvttKKtKttKKvtttKtDtKptppCS5Dmmmm5mmmmmmmIIII...........................",
+"JJrRNVR<F<uNvRRVRLouGu-y@:FuujGN%V!FW&UVLG;33;FccN-3<G&&Ra/=dd&cFu3:FGG#-~F3GuGyNRrQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQJrJ7bI.^kk|ki...lrB.bhkQJJT.4s}CI/kQQQQQkJk7.IbTkkQQk|Bgh_QQ|X77XkkQk|X7gs_QkkkQ{s}7X|kk_77,|||X77s|,B_BA.oXkkQ)hg7)kQQJ|sgh_kQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQKKK0tttvvvnnnnPnPTvKtKvKKKKKKKtttKKtKKKpKppDSCA5mA5AS5mmmmmmmmIIII..............................",
+"kkkL-ciG3F;uG--~~-o~PN<F0330Fj<G$uu!z**y;:03F0-LVLuGcNL2$unN===Lc-;3yG03Gcc<~<~u$u6QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQJr7O.f.srJJnOf.lJB.(hrQQJl.Wk{f.oJQQQQQkrk4.TOOskk|_obOOTBkhf..qg||,W5OObnB|k|slbIOAWXkXO5U|{o5..OwTI}f..IT{k}fb..f}|k{Wb.O4{QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQDKKKKttvvvvvnvnttttKtKKKKKKtKKKKKKKpppSSC55C5mmm555555m5mmmmIII.................................",
+"kk|V-cN!cu<PNnjcGRVw~auyM:0FF}%RN;GEE%~:033yF3F~VeGcVNu~/uc>c&dduF0FF:3jFLuNNN~G-~kQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQJ7O.e.2krBbqw.TJX.bhQQJJT.H}2557|QQQQkJkXC.7n.wkkr7bOlCba{lI^fO^,_4Obnnq.fB|sqOAPlbb4|B.bh|o.O^PfOO.}nb.Cw{}bOlPtOb7k}ICn5OiQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQDCKKKKKvTvnvPtttKtKKttKptKKKKtKDSpDDSAA55mmm555mmmm5mmmIIIII....................................",
+"Q|k/c/W~uNGuG-j~GaR%7zWGF3:33co-cFG0F0:330G;--<-/%/N<-#cu~u--FN%zNFuGFG0-G#ucFF0>G6QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQJ7b.sCq_JeOoW.lrB.bhQQQkT...I.P,kJQQQQQJo.A|}.CX|JoOq)7L}XC.}BLe{}Ib}_ksq.2k4.fXk|afShB.b7sCOa_J{WIO}|fOek{q.w|J|oIl|W.^_}ohkQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQKDKKtv0tvtvvKKKKKKKKptKppSDp55A5D5A55mmmmmmmmmmmmmmmmIIIII......................................",
+"kQk%~WWcN-tGFutGW~%UUdcF3MF0GVi/NF33:3:0F3$NLL%Ra/UV<FMFGG-~-;FF/%GuGy-;:<uNVNcjFc6QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQrk7O._T.7k^Oh2.TJB.bhQQkJl.(SqbOw_QQQQJk{q.nh7O.eJ|7bOTiXk,lIfah)kP.4|kJko.q)OO}rkkrBX{B.5hiOqXk|rBA.}Jq.ok7b.ei}ii.IB}ICn}XrQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQCDCKDDDKDKKKKKKKtppKpppK5A5mmm5m5mmmmmmmmmmIImmmImmIIIII................I.......................",
+"J|kzunoou<<~c<FcLa/d}s%GF3:~--aV~3:0::0MF0%VFca%/LeooGjGGGuuGF;jG/V~c-F::-GG!$uF3~rQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQk7O.{}.wsOf_W.lJB.(hrQJQT.wBBo(bsJQQQkJ}O....O.f_6_LqI.qg|hlOI5W{f.o|kJJg(.hOOhkkJJr6JB.bU2.^kJkJ|^.}kf.Lki.OO.O.b.Og{WCI.fUJQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQDDC55D5DC5CKKKKpvvvHvtHHSDmmmmmm55mmmmmmmIIIIm5mmI5III.mmI.m..........Im^.......................",
+"kQk&LGoeR~GLc#nLNnjN&}dzuF3E-NVG33;:3:333:-u~NaReoLuWUo<4cuu#>:jN2%/#c<3F03uuE%u+c6QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQJrJ7O.{,5ba.o|2.TrX.OhQJkkl.WrJBA.gQQQQJ|TICpfffO.g|k|Bef.l{rXgnbb7n.4|kkkiOCXb.gkr|k,,_=.5he.f)||kXq.}rS.ok}O.PWwW4Wws{|heAInQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQDD5DCDDDCDDKKppppppttptv5Dmmmmmm5mmmmmmmIIIIImA5mm55mmIm5m5CC5ObOIObmS5Sv5ASSAbAb5CbAC.5bAI5.bCC",
+"kkkU}&2i&L-u~<-!NL<>u/z&uF~NN/iF;033:30;:>K~aeL%VzVaWUB}uc<juc;><NLLRu##<GFFLN$F+~krQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQJr7O.)k4.5bsk2.lkB.5g)))Jl.wXXebOhQQQQksb.iXXXBT.P|alaki.fiTPBsqO}iIC7k|sf.w|n.lBJk}p^7X.bhhb.o_k_oI.}kf.eJXqOL)||iW!{wTek2I^JQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQDDDDKKKKKKKKppKppppSpDKK5Ammmmmm55mmmmmmI.I.IImmIIII...I..I............ISI...IIIII.ISS.IIIIIIIIO",
+"kkk7%}z/%z/nFj-RLu->c-uuN%L/%-#3M0:3;3j;+3+;c/aac/z%LsB)du-+cNcF+FGF<<~<0-$G--<3;G6QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQJJk7O.)J}..lJkW.TQsI.DffTXT.Cff.O4|QQQJJw.C{JJJJ}.OsoO5PfI4sqbTnOSs)n.C4wS.fh|hqbfW4COP_B.5U|WO5TwTbOIg|f.okkoIOlWnb.okWO]wq.2QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQDDDDKKtKKvtvtppppDKpKpKDKKDD55D5DA555mmmmmmImImIIII.....................I.......................",
+"Qkr7a/%/}%U%<><LR-W--Nj-uN!LF3F::::;:;3<ccGF~c~2-2e/}sBU%i~GVNRP<+;::0-#G:F33;;j;-rQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQrJk7bO,J_COi|kWOlJB.I...SBTI..bqWX|rQQJ,CIoJJJrJ)A.2B4b.bls|/COOAi_JX45..Ols|kJ7l...bwXkXOb7|)w5..OPT.}|fOo|r{eSIOOCa_ksTOOOPBJQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQDDDDKKKttvttvttpKppppKpppDKKKKDDDDADA5mmmm.mmImIm.III...........................................",
+"kQQXL!LRizd=%GlV!-<-j~-8F;<<j3:M3:;3;3<Nc~>FcNcaccR%%dz!z=/NGj<N!~jKF+3:3;:-<:;3jurQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQkJJ,hhkk|sh{k_Bhsr_hhhhhdkshhhhB|||kQrJ_hhXJQJJk|shsJ)7i},k|kh}iskk|k{h}}h,k|kkJ,7iih||k{hh{k__s}i7{Bh)JhhXk|kkX}i}s_||k)gi7{JQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQDDDDKKKttKvvvtvKtppppDDDDDDDDKDDKDDKDDDCDm5mmIIImmm5m.I.........................................",
+"Qkk)BecW/%z==%c!~-G>8<jc<;+9;3::;:3:F~$zu-~4~~//aLLNV~-8u%u<3P~LdUcFFj3F~3;G%Nj;>crQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQrJk|k|r|kr||kkk|Jk6krrJkJrrrrrkkkkJQQQrrkkJQkJk||J|||Jkkkk_J|kJkkkkkk__|rJkk||kJJJrrkkrkJk6k||kJJkk|rkJrk6|k|kJ|kkk|Jkkr|k|kkJQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQDDDDKKKKvFtFvvTTHPtppppKDDDKDDDpKpDKDDDKDDD5C55mmmmm5m..........................................",
+"QkkBBUWL}}hs=UoRc<~j-c;NL-1;:j:::;F~-L&7VR//ViU&z%LF1:tVLc-G~uL7=dd%yjFMFjF-G!Fj>-rQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQkJ|rkkkJk|kkkkk|kkJkrJkkk|kk|kk|kkkkkJkJkkk|kkkkkkkkk|kkkkkk_|kkkJkkkkJkkkkkkrJkkJkkkrJ6kkJ|k|JkkJkkJkkkkk|JkJ|kkkkkkkkk|kkkkQQkkQkkQkQkQkQkQQkkkkQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQCDKDKKKKvvvTTn44wWPvpKDDKpDDDDDDDDAKDKKDKDDKDDDDC5555mI.........................................",
+"krr7ssU}iR/Uss!4W~c-:3+FNWK;;;;+3F-uLUdaPWR2cWR/}L-j-cu/uuW/N}*&d7UU%~;+;+FF>N/F+~6QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQJkkJXiP2s||J|||krk_kkJkk_k|k|g7h}Bi,|r|kkkrk||kk|7}||||||kkJJs}X/)_kkkkJkkkkJkkrkkkJkkk||{iBkk|kk|k|kkkksi_||kihkkkk|||k|}hkkkk|kkkkkkQkQkk|}hk|k,o_kkQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQDDDCKKtKvvFP4wuwW22wHKKKDppDDDDADDDDDDDKDKKDKDpDDDDC55mIO.......................................",
+"JkkdhXBszLw!&=/n<8L#::j#Lc;33:;;jj-R}zU!!!4N}*7%N4u%}z%RaVi%zdUU*&}%}%~;[;;1;4z%c!kQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQkJkBln}lq)|{Bk||k,)||,{|Jk|k|4oawXi_|),Jkk){k|krsq}J{Bkkkk{_|e4h^h,|kk),k|rkkk){|kk)Bk),kBfdX|rk|X{J||,X/P||X|f7k_B|kk|B,^gkk||_||k||_,|kkk{^}|_Bhf_kJQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQDDDKKtvvvPwaaW2aWWa2wwHKKSDpDDDADKDDDDDpDpDpDDSpDDpDDDACII......................................",
+"kkkXss=ss%RRW%sRj84%V~>8FFF:::++:-Vz%%/!/}z&U7}i4Wz}z%L/%ziL/7dzUzi}%iL~<F1;j-!/%z6QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQrkkW4)J|7,iff4_2l^^,}f^hPh)nU^aCAo2i^^fs)4f^l7||lb}e^f2{4^}khCAaC^f7)offo|kkB4^q7XSTq4^fih5lfn{s4^fU)2fffosT^^CX}ffn|sl^lqsr,TU}4,n7g^f4,o^aAh}f^^P|JkQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQDD;Ktv-~wa/%eaaaa2a2PwPPvKKKDDKDADDDDDDDAADDpDppDpDpDDDDAC5.....................................",
+"QrkXBssU7}a}!nzsin-LU&~<F0:::;;+luzL/L8n/UsUzi}/i}&/iz&iL/%i/}}}z%V}}%/LL!8jjLNGj~kQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQkJXAs||kk7qssC7^ahq7Twi7lXhf7f7q7wa4PXfea4XiOhJk42}fsUq7^e_J)^}alBT!el7}qB||P4ho^7qXoqBWne^hhf}TWh2nilBhqgloXof7qghq}^oXeAJJ_li^lin7f7sf}TW7f}f7XlaQkQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQDKtvPPi7h7}iig}aawoiWwwPPHvttpDDDDDADADDDDApDADDDSDDDADADDAmI...................................",
+"QQr,sBss}o/7z2c}s}!zUd&cj33M at j<NRLi!wc-aUUU}io27s7}i/iuj~!/i/i/iiRL}}/NRu-+>1jcu8~kQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQJJXCh||XXWo|{S}AXXfX}fTg^rgl7^hfsl}^7|^7qhJh(_k_^}Pe|Xq}fXJrBfhniJT}fq^^^)ksb^^^4o4_aW|w2woJ,^eb^^^WleJ{f}fB|i4w]^^f}5{|}TkkJwl4^^haw|_^}Shglo4k|n}kJQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQtPWi7sX)))BhhXXge2ogoaWwW2wPPvKpppDDADADDKDDKDDAADDADADADADDAAbO................................",
+"kJJ7}*hUzRw2ozLWUsUUdzU%~<-~Fc%z/z%iLWRzUULWi!/%RLi//!j>>-R!LNwuRa%%Ncc~81>+[[1++c6QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ|kJTPs}qiafsalsAkhf7Pefifhl4inglBq7fs)qXfohl^kk|Ahwlswn7f||khfs^h)^hl47a}k|XC/}ws4o|ni_liTlhalhqe}WsPPsWf7Cih^22lheosbisfaJkkeAs^w|e^7ol7^XowL^hibskQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQiigB))))){{){))X7eooeeeeoo2w2wHvpKDCmAAADACADDA5C5CC5CCmAAppAAAC5I..............................",
+"Jk6L4RiziLw-4WLRzdhhU7U}z}~uV%zz&}~>~}//}L82ziw8W!ucRj11>luca!8W!!!8[+>19]''][1']nrQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQrkJB4^ng__4^wX72|7oXnl7Bll4}iizosW7W)BW|7^TlaJJ,4|Xn^2X}oJ|J7aXWXXWXsT^2)Jkk}ll/_WU_wh)w7ww^4B|/^lg_hl^4a|ef4P7{4^wBJe^n47|JJha_osk)W^2Bh!{o}B4^wn_kkkQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQshs)))))))))_))))hieaigigeeaao2PPHtKACDDCD5AAACCCC5Cm555DtTpAADAC555I...........................",
+"kJJa8--Wc4-8-84/dUU7UULRULuucVzzz/>>RLc~~4~~!n<W~~>c8++++>8<-->jj1'11[[[''(]]11[1-rQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQJJJJ|_kJJJk_JJkrJJkJ|kkJ||_kk|kJJkJkkkrhAaW^s|Jk|JkJ|kJkJkJ|kk|J|kJJJk_kJrkJJ_{JJ_JJkJJk6J||JkkJk||JJkk|kk6|||Jk|_|r|J_|kkJJJJJkkrJk|_|kJ|kkkJk||krJQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQBBXXXXXXX))))))))Xhioegggiggeo2wwPvKKDKDDCAC5DD55555C559Ap^DCCCCCA^fAb..........................",
+"JJJW888n-88n--c}U}/i}!~WR88>8L/LL~>8c888>--j>>>>f[1>+[['++++[[[9[]''[[[](((](1C[94JJQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQJJJJJJJkJJkkrkJJJkrJ|kJJkJkJJJkJJkJJJJJJ72o,kkkJ|JkJJJJJJJJJJJJJJJJJJJrrJJJJkJkkJJkJkJJkJJJJJJJkkJJJJkkJkJJJkJkJJkJJJJJkJJJrJJJJJJJJJJJrJJJJJJkJJkJQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQXBXXXXXXXX)))))X){)B7hhgigghge2wawPTvvKKKKKDDDDDDDKKDmCDDDKADDDDDpHHpDACC.......................",
+"JJJWf8j8n888888!LRu!u4888j8+3F88>+>++[++1j>11[>[[['['['[[[+''[[][''''[['](((((OO(lrQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQrJJJJJJJJJJJkJkkJJJJJkJkkJkkJJJJkJJJJJJk_JkJJk|kJJJJJJkrJJJJJJkJJJJkrJkJkJ|JJkJJJJJJkkJJ|J|kk|JJJkJJJJJkkkkJkkkJJJkJJJkJJQJJJJrkJJJJJkJJJkJkJkJJJJQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQBBBBBBBXXXXXXXXXXXBBshgggeggge2ww4TTTvtttKttvvKtvnW4HtKDDpKpKKtK^tvHt^DDAC......................",
+"JJJW]f8j888888>838>8j1[>++[+[[[']'[[[[['[999']'''']'[[[[[[[[''['[('''9[](((CO.OOOlJQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQrJJJJJJJJJJJJJJJkkJJJJJkJkJkJJJJkrJJkJJkkkkkJJkJJ|JJJJJJkJJJJJJkJJJJJJJJJJJJJJJkJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJrQQQJJJJJrJrJJJJJkJJJJJQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQBsBBBBBBBBBXBXXBXXXBBBhgeegggo2w4PFPT<TnTnnnnPPPwaiiaPPtHTvvvTTHvvHn^tt^pS5mII..................",
+"krk!A]8>>j88>[[[+[:>'1[[[[+[[['''''''(](((]](]]''''[[+[']((]''+[['[''119]9](((OO.lkQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQJJJrJrJJJJQQJJJJJJJJJJJJJJJJJJJQQJrJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJrJJQQQQQQQQQQJQQJQQQQQJQJQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQsshhsssBsBBBBsBBBBBBBBsgeoeegoa4nPTTTPTvPPa22a2aoegieawwHwPTvHnnPHtHHvHtpKAC5m5mIO..............",
+"krkW9O9>1qff((](]'[']]O(][['''']']]((OO(O(b](((('''['[['(O(]((f>'['['11]C'C(O(O(Il|QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQJQQQQQQQQQQQQrQrJQJJJQQQQQQQQQQJJJJJJJJJJJJJJQJQQQQQQQQQQQQQQQQQQQQQQJJJJJJJJJJJJJrJrJJQQJJrJJJJJJJJJJJJJJJQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQshssshsBsssBBBsBssBBBBsgg2eee22PPvPvnnnPTai}i}iigghhggeew2wPnHHPnHlvlvv^pDD5CmmmImIO5O..........",
+"6kJ}a!2R!!!WwWWWWWW2WWwW!W!!2!2!!2!WWWWcWcWWWWWu!!!!uRR!!!2R2WRL!R!R!R!!W!2WWWWWWokQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQJQJQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQJJrJrQJQQQQQQQQQQQQQJrJJJJJJJJQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQshshshhhhBsssBhBBssssBsgg22oeaWwPnPPnPPP4egg77h7hhshhhggee24PPPwPHl^HHHt^KKAC5C55555ACCOOI......",
+"JJ6|6J|66JJJkkJJJJJkkJJkJJJ6JJJJJJJJJJJJJJJkJJJJ66rJJJJJJrJJJJJJ6rJ6rJ6JJJJJrkJkJk|QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQrQQrQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQhhhhssshshhshshshhhhshhhge2ee2aWwwcwWuaWo}7hgh7hhhhshh7gigeo22wwPHvvvHPHptpDC5CCCCC5DSSACCI.....",
+"J6JJJ6JJJrJJJJJJJJJJJrJJr6JJrJJJJJrJJJrJJJJJJJJJJJJJkJJJJJJJJJkJJJJJJJJJJJJJJJJkJkQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQhhhhhhhhhshhhshBhhsshshhgeooeaa2WW222oaoighhhshhhshhhhh7ggioo2wWwPv^vHH^tpKDDADADACD^H^v^SAb....",
+"JJJJJJJJJJJJJJrJrJJJJrrJJ6rJrrrJJJJrJJJJJJJJJJJJJJJJJJJJJJJJkJJJJJJJJJJkJJJJJJJkJkQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQgghghhhhhhhhhhhhhhhhhhhhgeeeeee2aaaooeeei7hh7hhhhhhhhhhh7g}iieoa2PHHHHH^tt^pDDADKAADtHHPPPPS....",
+"JJrJJJrJrJrJJJJJJJJJJJJJJJJJJJJJJrJJJJJJJJJJJJJJJJJJJJJJJJJrJJJJJJJJQJJJQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ7hgggghghghhhhhhhhhhhhhhgieiieeeoaeeiiiig7hh7hhhhghh7777ggggigeeoW444PPHHttHKDKSttp^Hw2wHHvS55bb",
+"JJJrJrJJJJJJJJJJJJJJJJJJJJJJJJQrJQQQQQQQQQQQJrJJJJJrJJrrJJJJJrJJJJQQQQrrrrQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ",
+"rJJJJJJJJJrQQQQQQQQJJJJJJQJQQQQQQQQQQQQQQQQQQQQQJJrJrrJQQQQJJJJJQQJQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ"};
+#endif
Index: hal/arm/xscale/uE250/current/src/font.h
===================================================================
RCS file: hal/arm/xscale/uE250/current/src/font.h
diff -N hal/arm/xscale/uE250/current/src/font.h
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ hal/arm/xscale/uE250/current/src/font.h 25 Feb 2003 21:54:52 -0000
@@ -0,0 +1,433 @@
+//==========================================================================
+//
+// font.h
+//
+// LCD/VGA display fonts
+//
+//==========================================================================
+//####ECOSGPLCOPYRIGHTBEGIN####
+// -------------------------------------------
+// This file is part of eCos, the Embedded Configurable Operating System.
+// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
+// Copyright (C) 2003 Gary Thomas
+//
+// eCos 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; either version 2 or (at your option) any later version.
+//
+// eCos 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 eCos; if not, write to the Free Software Foundation, Inc.,
+// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+//
+// As a special exception, if other files instantiate templates or use macros
+// or inline functions from this file, or you compile this file and link it
+// with other works to produce a work based on this file, this file does not
+// by itself cause the resulting work to be covered by the GNU General Public
+// License. However the source code for this file must still be made available
+// in accordance with section (3) of the GNU General Public License.
+//
+// This exception does not invalidate any other reasons why a work based on
+// this file might be covered by the GNU General Public License.
+//
+// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
+// at http://sources.redhat.com/ecos/ecos-license/
+// -------------------------------------------
+//####ECOSGPLCOPYRIGHTEND####
+//==========================================================================
+//#####DESCRIPTIONBEGIN####
+//
+// Author(s): gthomas
+// Contributors: gthomas
+// Date: 2001-02-25
+// Description: Simple LCD/VGA fonts
+//####DESCRIPTIONEND####
+
+#ifndef _LCD_FONT_H_
+#define _LCD_FONT_H_
+
+#if (CYGNUM_UE250_VGA_COMM_FONT_SIZE == 8)
+// 8x8 Font - from Helios
+
+#define FIRST_CHAR 0x20
+#define LAST_CHAR 0x7F
+#define FONT_HEIGHT 8
+#define FONT_WIDTH 8
+#define CURSOR_ON 0x7F
+#define CURSOR_OFF 0x20
+static char font_table[LAST_CHAR-FIRST_CHAR+1][8] =
+{
+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, /* */
+ { 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x18, 0x00 }, /* ! */
+ { 0x36, 0x36, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00 }, /* " */
+ { 0x6C, 0x6C, 0xFE, 0x6C, 0xFE, 0x6C, 0x6C, 0x00 }, /* # */
+ { 0x30, 0xFC, 0x16, 0x7C, 0xD0, 0x7E, 0x18, 0x00 }, /* $ */
+ { 0x06, 0x66, 0x30, 0x18, 0x0C, 0x66, 0x60, 0x00 }, /* % */
+ { 0x1C, 0x36, 0x36, 0x1C, 0xB6, 0x66, 0xDC, 0x00 }, /* & */
+ { 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00 }, /* ' */
+ { 0x30, 0x18, 0x0C, 0x0C, 0x0C, 0x18, 0x30, 0x00 }, /* ( */
+ { 0x0C, 0x18, 0x30, 0x30, 0x30, 0x18, 0x0C, 0x00 }, /* ) */
+ { 0x00, 0x18, 0x7E, 0x3C, 0x7E, 0x18, 0x00, 0x00 }, /* * */
+ { 0x00, 0x18, 0x18, 0x7E, 0x18, 0x18, 0x00, 0x00 }, /* + */
+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x0C }, /* , */
+ { 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x00 }, /* - */
+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00 }, /* . */
+ { 0x00, 0x60, 0x30, 0x18, 0x0C, 0x06, 0x00, 0x00 }, /* / */
+ { 0x3C, 0x66, 0x76, 0x7E, 0x6E, 0x66, 0x3C, 0x00 }, /* 0 */
+ { 0x18, 0x1C, 0x18, 0x18, 0x18, 0x18, 0x7E, 0x00 }, /* 1 */
+ { 0x3C, 0x66, 0x60, 0x30, 0x18, 0x0C, 0x7E, 0x00 }, /* 2 */
+ { 0x3C, 0x66, 0x60, 0x38, 0x60, 0x66, 0x3C, 0x00 }, /* 3 */
+ { 0x30, 0x38, 0x3C, 0x36, 0x7E, 0x30, 0x30, 0x00 }, /* 4 */
+ { 0x7E, 0x06, 0x3E, 0x60, 0x60, 0x66, 0x3C, 0x00 }, /* 5 */
+ { 0x38, 0x0C, 0x06, 0x3E, 0x66, 0x66, 0x3C, 0x00 }, /* 6 */
+ { 0x7E, 0x60, 0x30, 0x18, 0x0C, 0x0C, 0x0C, 0x00 }, /* 7 */
+ { 0x3C, 0x66, 0x66, 0x3C, 0x66, 0x66, 0x3C, 0x00 }, /* 8 */
+ { 0x3C, 0x66, 0x66, 0x7C, 0x60, 0x30, 0x1C, 0x00 }, /* 9 */
+ { 0x00, 0x00, 0x18, 0x18, 0x00, 0x18, 0x18, 0x00 }, /* : */
+ { 0x00, 0x00, 0x18, 0x18, 0x00, 0x18, 0x18, 0x0C }, /* ; */
+ { 0x30, 0x18, 0x0C, 0x06, 0x0C, 0x18, 0x30, 0x00 }, /* < */
+ { 0x00, 0x00, 0x7E, 0x00, 0x7E, 0x00, 0x00, 0x00 }, /* = */
+ { 0x0C, 0x18, 0x30, 0x60, 0x30, 0x18, 0x0C, 0x00 }, /* > */
+ { 0x3C, 0x66, 0x30, 0x18, 0x18, 0x00, 0x18, 0x00 }, /* ? */
+ { 0x3C, 0x66, 0x76, 0x56, 0x76, 0x06, 0x3C, 0x00 }, /* @ */
+ { 0x3C, 0x66, 0x66, 0x7E, 0x66, 0x66, 0x66, 0x00 }, /* A */
+ { 0x3E, 0x66, 0x66, 0x3E, 0x66, 0x66, 0x3E, 0x00 }, /* B */
+ { 0x3C, 0x66, 0x06, 0x06, 0x06, 0x66, 0x3C, 0x00 }, /* C */
+ { 0x1E, 0x36, 0x66, 0x66, 0x66, 0x36, 0x1E, 0x00 }, /* D */
+ { 0x7E, 0x06, 0x06, 0x3E, 0x06, 0x06, 0x7E, 0x00 }, /* E */
+ { 0x7E, 0x06, 0x06, 0x3E, 0x06, 0x06, 0x06, 0x00 }, /* F */
+ { 0x3C, 0x66, 0x06, 0x76, 0x66, 0x66, 0x3C, 0x00 }, /* G */
+ { 0x66, 0x66, 0x66, 0x7E, 0x66, 0x66, 0x66, 0x00 }, /* H */
+ { 0x7E, 0x18, 0x18, 0x18, 0x18, 0x18, 0x7E, 0x00 }, /* I */
+ { 0x7C, 0x30, 0x30, 0x30, 0x30, 0x36, 0x1C, 0x00 }, /* J */
+ { 0x66, 0x36, 0x1E, 0x0E, 0x1E, 0x36, 0x66, 0x00 }, /* K */
+ { 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x7E, 0x00 }, /* L */
+ { 0xC6, 0xEE, 0xFE, 0xD6, 0xD6, 0xC6, 0xC6, 0x00 }, /* M */
+ { 0x66, 0x66, 0x6E, 0x7E, 0x76, 0x66, 0x66, 0x00 }, /* N */
+ { 0x3C, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3C, 0x00 }, /* O */
+ { 0x3E, 0x66, 0x66, 0x3E, 0x06, 0x06, 0x06, 0x00 }, /* P */
+ { 0x3C, 0x66, 0x66, 0x66, 0x56, 0x36, 0x6C, 0x00 }, /* Q */
+ { 0x3E, 0x66, 0x66, 0x3E, 0x36, 0x66, 0x66, 0x00 }, /* R */
+ { 0x3C, 0x66, 0x06, 0x3C, 0x60, 0x66, 0x3C, 0x00 }, /* S */
+ { 0x7E, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00 }, /* T */
+ { 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3C, 0x00 }, /* U */
+ { 0x66, 0x66, 0x66, 0x66, 0x66, 0x3C, 0x18, 0x00 }, /* V */
+ { 0xC6, 0xC6, 0xD6, 0xD6, 0xFE, 0xEE, 0xC6, 0x00 }, /* W */
+ { 0x66, 0x66, 0x3C, 0x18, 0x3C, 0x66, 0x66, 0x00 }, /* X */
+ { 0x66, 0x66, 0x66, 0x3C, 0x18, 0x18, 0x18, 0x00 }, /* Y */
+ { 0x7E, 0x60, 0x30, 0x18, 0x0C, 0x06, 0x7E, 0x00 }, /* Z */
+ { 0x3E, 0x06, 0x06, 0x06, 0x06, 0x06, 0x3E, 0x00 }, /* [ */
+ { 0x00, 0x06, 0x0C, 0x18, 0x30, 0x60, 0x00, 0x00 }, /* \ */
+ { 0x7C, 0x60, 0x60, 0x60, 0x60, 0x60, 0x7C, 0x00 }, /* ] */
+ { 0x3C, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, /* ^ */
+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF }, /* _ */
+ { 0x0C, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, /* ` */
+ { 0x00, 0x00, 0x3C, 0x60, 0x7C, 0x66, 0x7C, 0x00 }, /* a */
+ { 0x06, 0x06, 0x3E, 0x66, 0x66, 0x66, 0x3E, 0x00 }, /* b */
+ { 0x00, 0x00, 0x3C, 0x66, 0x06, 0x66, 0x3C, 0x00 }, /* c */
+ { 0x60, 0x60, 0x7C, 0x66, 0x66, 0x66, 0x7C, 0x00 }, /* d */
+ { 0x00, 0x00, 0x3C, 0x66, 0x7E, 0x06, 0x3C, 0x00 }, /* e */
+ { 0x38, 0x0C, 0x0C, 0x3E, 0x0C, 0x0C, 0x0C, 0x00 }, /* f */
+ { 0x00, 0x00, 0x7C, 0x66, 0x66, 0x7C, 0x60, 0x3C }, /* g */
+ { 0x06, 0x06, 0x3E, 0x66, 0x66, 0x66, 0x66, 0x00 }, /* h */
+ { 0x18, 0x00, 0x1C, 0x18, 0x18, 0x18, 0x3C, 0x00 }, /* i */
+ { 0x18, 0x00, 0x1C, 0x18, 0x18, 0x18, 0x18, 0x0E }, /* j */
+ { 0x06, 0x06, 0x66, 0x36, 0x1E, 0x36, 0x66, 0x00 }, /* k */
+ { 0x1C, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00 }, /* l */
+ { 0x00, 0x00, 0x6C, 0xFE, 0xD6, 0xD6, 0xC6, 0x00 }, /* m */
+ { 0x00, 0x00, 0x3E, 0x66, 0x66, 0x66, 0x66, 0x00 }, /* n */
+ { 0x00, 0x00, 0x3C, 0x66, 0x66, 0x66, 0x3C, 0x00 }, /* o */
+ { 0x00, 0x00, 0x3E, 0x66, 0x66, 0x3E, 0x06, 0x06 }, /* p */
+ { 0x00, 0x00, 0x7C, 0x66, 0x66, 0x7C, 0x60, 0xE0 }, /* q */
+ { 0x00, 0x00, 0x36, 0x6E, 0x06, 0x06, 0x06, 0x00 }, /* r */
+ { 0x00, 0x00, 0x7C, 0x06, 0x3C, 0x60, 0x3E, 0x00 }, /* s */
+ { 0x0C, 0x0C, 0x3E, 0x0C, 0x0C, 0x0C, 0x38, 0x00 }, /* t */
+ { 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x7C, 0x00 }, /* u */
+ { 0x00, 0x00, 0x66, 0x66, 0x66, 0x3C, 0x18, 0x00 }, /* v */
+ { 0x00, 0x00, 0xC6, 0xD6, 0xD6, 0xFE, 0x6C, 0x00 }, /* w */
+ { 0x00, 0x00, 0x66, 0x3C, 0x18, 0x3C, 0x66, 0x00 }, /* x */
+ { 0x00, 0x00, 0x66, 0x66, 0x66, 0x7C, 0x60, 0x3C }, /* y */
+ { 0x00, 0x00, 0x7E, 0x30, 0x18, 0x0C, 0x7E, 0x00 }, /* z */
+ { 0x30, 0x18, 0x18, 0x0E, 0x18, 0x18, 0x30, 0x00 }, /* { */
+ { 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00 }, /* | */
+ { 0x0C, 0x18, 0x18, 0x70, 0x18, 0x18, 0x0C, 0x00 }, /* } */
+ { 0x8C, 0xD6, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00 }, /* ~ */
+ { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF } /* Block cursor */
+};
+#else
+
+// 8x16 Font - from UniFLEX
+
+#define FIRST_CHAR 0x00
+#define LAST_CHAR 0xFF
+#define FONT_HEIGHT 16
+#define FONT_WIDTH 8
+#define FONT_LEFT_TO_RIGHT
+#define CURSOR_ON 0xB1
+#define CURSOR_OFF 0x20
+static char font_table[LAST_CHAR-FIRST_CHAR+1][FONT_HEIGHT] = {
+/* 0x00 */ {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
+/* 0x01 */ {0x00,0x00,0x7E,0x81,0xA5,0x81,0x81,0xBD,0x99,0x81,0x81,0x7E,0x00,0x00,0x00,0x00},
+/* 0x02 */ {0x00,0x00,0x7E,0xFF,0xDB,0xFF,0xFF,0xC3,0xC3,0xE7,0xFF,0x7E,0x00,0x00,0x00,0x00},
+/* 0x03 */ {0x00,0x00,0x00,0x00,0x6C,0xFE,0xFE,0xFE,0xFE,0x7C,0x38,0x10,0x00,0x00,0x00,0x00},
+/* 0x04 */ {0x00,0x00,0x00,0x00,0x10,0x38,0x7C,0xFE,0x7C,0x38,0x10,0x00,0x00,0x00,0x00,0x00},
+/* 0x05 */ {0x00,0x00,0x00,0x18,0x3C,0x3C,0xE7,0xE7,0xE7,0x18,0x18,0x3C,0x00,0x00,0x00,0x00},
+/* 0x06 */ {0x00,0x00,0x00,0x18,0x3C,0x7E,0xFF,0xFF,0x7E,0x18,0x18,0x3C,0x00,0x00,0x00,0x00},
+/* 0x07 */ {0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x3C,0x3C,0x18,0x00,0x00,0x00,0x00,0x00,0x00},
+/* 0x08 */ {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE7,0xC3,0xC3,0xE7,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
+/* 0x09 */ {0x00,0x00,0x00,0x00,0x00,0x3C,0x66,0x42,0x42,0x66,0x3C,0x00,0x00,0x00,0x00,0x00},
+/* 0x0A */ {0xFF,0xFF,0xFF,0xFF,0xFF,0xC3,0x99,0xBD,0xBD,0x99,0xC3,0xFF,0xFF,0xFF,0xFF,0xFF},
+/* 0x0B */ {0x00,0x00,0x3E,0x0E,0x1A,0x32,0x78,0xCC,0xCC,0xCC,0xCC,0x78,0x00,0x00,0x00,0x00},
+/* 0x0C */ {0x00,0x00,0x3C,0x66,0x66,0x66,0x66,0x3C,0x18,0x7E,0x18,0x18,0x00,0x00,0x00,0x00},
+/* 0x0D */ {0x00,0x00,0x30,0x38,0x3C,0x36,0x33,0x30,0x30,0x70,0xF0,0xE0,0x00,0x00,0x00,0x00},
+/* 0x0E */ {0x00,0x00,0x7F,0x63,0x7F,0x63,0x63,0x63,0x63,0x67,0xE7,0xE6,0xC0,0x00,0x00,0x00},
+/* 0x0F */ {0x00,0x00,0x00,0x18,0x18,0xDB,0x3C,0xE7,0x3C,0xDB,0x18,0x18,0x00,0x00,0x00,0x00},
+/* 0x10 */ {0x00,0x80,0xC0,0xE0,0xF0,0xF8,0xFE,0xF8,0xF0,0xE0,0xC0,0x80,0x00,0x00,0x00,0x00},
+/* 0x11 */ {0x00,0x02,0x06,0x0E,0x1E,0x3E,0xFE,0x3E,0x1E,0x0E,0x06,0x02,0x00,0x00,0x00,0x00},
+/* 0x12 */ {0x00,0x00,0x18,0x3C,0x7E,0x18,0x18,0x18,0x7E,0x3C,0x18,0x00,0x00,0x00,0x00,0x00},
+/* 0x13 */ {0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x00,0x66,0x66,0x00,0x00,0x00,0x00},
+/* 0x14 */ {0x00,0x00,0x7F,0xDB,0xDB,0xDB,0x7B,0x1B,0x1B,0x1B,0x1B,0x1B,0x00,0x00,0x00,0x00},
+/* 0x15 */ {0x00,0x7C,0xC6,0x60,0x38,0x6C,0xC6,0xC6,0x6C,0x38,0x0C,0xC6,0x7C,0x00,0x00,0x00},
+/* 0x16 */ {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xFE,0xFE,0xFE,0x00,0x00,0x00,0x00},
+/* 0x17 */ {0x00,0x00,0x18,0x3C,0x7E,0x18,0x18,0x18,0x7E,0x3C,0x18,0x7E,0x00,0x00,0x00,0x00},
+/* 0x18 */ {0x00,0x00,0x18,0x3C,0x7E,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x00,0x00,0x00,0x00},
+/* 0x19 */ {0x00,0x00,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x7E,0x3C,0x18,0x00,0x00,0x00,0x00},
+/* 0x1A */ {0x00,0x00,0x00,0x00,0x00,0x18,0x0C,0xFE,0x0C,0x18,0x00,0x00,0x00,0x00,0x00,0x00},
+/* 0x1B */ {0x00,0x00,0x00,0x00,0x00,0x30,0x60,0xFE,0x60,0x30,0x00,0x00,0x00,0x00,0x00,0x00},
+/* 0x1C */ {0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xC0,0xC0,0xFE,0x00,0x00,0x00,0x00,0x00,0x00},
+/* 0x1D */ {0x00,0x00,0x00,0x00,0x00,0x28,0x6C,0xFE,0x6C,0x28,0x00,0x00,0x00,0x00,0x00,0x00},
+/* 0x1E */ {0x00,0x00,0x00,0x00,0x10,0x38,0x38,0x7C,0x7C,0xFE,0xFE,0x00,0x00,0x00,0x00,0x00},
+/* 0x1F */ {0x00,0x00,0x00,0x00,0xFE,0xFE,0x7C,0x7C,0x38,0x38,0x10,0x00,0x00,0x00,0x00,0x00},
+/* 0x20 */ {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
+/* 0x21 */ {0x00,0x00,0x18,0x3C,0x3C,0x3C,0x18,0x18,0x18,0x00,0x18,0x18,0x00,0x00,0x00,0x00},
+/* 0x22 */ {0x00,0x66,0x66,0x66,0x24,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
+/* 0x23 */ {0x00,0x00,0x00,0x6C,0x6C,0xFE,0x6C,0x6C,0x6C,0xFE,0x6C,0x6C,0x00,0x00,0x00,0x00},
+/* 0x24 */ {0x18,0x18,0x7C,0xC6,0xC2,0xC0,0x7C,0x06,0x06,0x86,0xC6,0x7C,0x18,0x18,0x00,0x00},
+/* 0x25 */ {0x00,0x00,0x00,0x00,0xC2,0xC6,0x0C,0x18,0x30,0x60,0xC6,0x86,0x00,0x00,0x00,0x00},
+/* 0x26 */ {0x00,0x00,0x38,0x6C,0x6C,0x38,0x76,0xDC,0xCC,0xCC,0xCC,0x76,0x00,0x00,0x00,0x00},
+/* 0x27 */ {0x00,0x30,0x30,0x30,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
+/* 0x28 */ {0x00,0x00,0x0C,0x18,0x30,0x30,0x30,0x30,0x30,0x30,0x18,0x0C,0x00,0x00,0x00,0x00},
+/* 0x29 */ {0x00,0x00,0x30,0x18,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x18,0x30,0x00,0x00,0x00,0x00},
+/* 0x2A */ {0x00,0x00,0x00,0x00,0x00,0x66,0x3C,0xFF,0x3C,0x66,0x00,0x00,0x00,0x00,0x00,0x00},
+/* 0x2B */ {0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x7E,0x18,0x18,0x00,0x00,0x00,0x00,0x00,0x00},
+/* 0x2C */ {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x18,0x30,0x00,0x00,0x00},
+/* 0x2D */ {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
+/* 0x2E */ {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00},
+/* 0x2F */ {0x00,0x00,0x00,0x00,0x02,0x06,0x0C,0x18,0x30,0x60,0xC0,0x80,0x00,0x00,0x00,0x00},
+/* 0x30 */ {0x00,0x00,0x38,0x6C,0xC6,0xC6,0xD6,0xD6,0xC6,0xC6,0x6C,0x38,0x00,0x00,0x00,0x00},
+/* 0x31 */ {0x00,0x00,0x18,0x38,0x78,0x18,0x18,0x18,0x18,0x18,0x18,0x7E,0x00,0x00,0x00,0x00},
+/* 0x32 */ {0x00,0x00,0x7C,0xC6,0x06,0x0C,0x18,0x30,0x60,0xC0,0xC6,0xFE,0x00,0x00,0x00,0x00},
+/* 0x33 */ {0x00,0x00,0x7C,0xC6,0x06,0x06,0x3C,0x06,0x06,0x06,0xC6,0x7C,0x00,0x00,0x00,0x00},
+/* 0x34 */ {0x00,0x00,0x0C,0x1C,0x3C,0x6C,0xCC,0xFE,0x0C,0x0C,0x0C,0x1E,0x00,0x00,0x00,0x00},
+/* 0x35 */ {0x00,0x00,0xFE,0xC0,0xC0,0xC0,0xFC,0x06,0x06,0x06,0xC6,0x7C,0x00,0x00,0x00,0x00},
+/* 0x36 */ {0x00,0x00,0x38,0x60,0xC0,0xC0,0xFC,0xC6,0xC6,0xC6,0xC6,0x7C,0x00,0x00,0x00,0x00},
+/* 0x37 */ {0x00,0x00,0xFE,0xC6,0x06,0x06,0x0C,0x18,0x30,0x30,0x30,0x30,0x00,0x00,0x00,0x00},
+/* 0x38 */ {0x00,0x00,0x7C,0xC6,0xC6,0xC6,0x7C,0xC6,0xC6,0xC6,0xC6,0x7C,0x00,0x00,0x00,0x00},
+/* 0x39 */ {0x00,0x00,0x7C,0xC6,0xC6,0xC6,0x7E,0x06,0x06,0x06,0x0C,0x78,0x00,0x00,0x00,0x00},
+/* 0x3A */ {0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00,0x00},
+/* 0x3B */ {0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x18,0x18,0x30,0x00,0x00,0x00,0x00},
+/* 0x3C */ {0x00,0x00,0x00,0x06,0x0C,0x18,0x30,0x60,0x30,0x18,0x0C,0x06,0x00,0x00,0x00,0x00},
+/* 0x3D */ {0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x00,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
+/* 0x3E */ {0x00,0x00,0x00,0x60,0x30,0x18,0x0C,0x06,0x0C,0x18,0x30,0x60,0x00,0x00,0x00,0x00},
+/* 0x3F */ {0x00,0x00,0x7C,0xC6,0xC6,0x0C,0x18,0x18,0x18,0x00,0x18,0x18,0x00,0x00,0x00,0x00},
+/* 0x40 */ {0x00,0x00,0x00,0x7C,0xC6,0xC6,0xDE,0xDE,0xDE,0xDC,0xC0,0x7C,0x00,0x00,0x00,0x00},
+/* 0x41 */ {0x00,0x00,0x10,0x38,0x6C,0xC6,0xC6,0xFE,0xC6,0xC6,0xC6,0xC6,0x00,0x00,0x00,0x00},
+/* 0x42 */ {0x00,0x00,0xFC,0x66,0x66,0x66,0x7C,0x66,0x66,0x66,0x66,0xFC,0x00,0x00,0x00,0x00},
+/* 0x43 */ {0x00,0x00,0x3C,0x66,0xC2,0xC0,0xC0,0xC0,0xC0,0xC2,0x66,0x3C,0x00,0x00,0x00,0x00},
+/* 0x44 */ {0x00,0x00,0xF8,0x6C,0x66,0x66,0x66,0x66,0x66,0x66,0x6C,0xF8,0x00,0x00,0x00,0x00},
+/* 0x45 */ {0x00,0x00,0xFE,0x66,0x62,0x68,0x78,0x68,0x60,0x62,0x66,0xFE,0x00,0x00,0x00,0x00},
+/* 0x46 */ {0x00,0x00,0xFE,0x66,0x62,0x68,0x78,0x68,0x60,0x60,0x60,0xF0,0x00,0x00,0x00,0x00},
+/* 0x47 */ {0x00,0x00,0x3C,0x66,0xC2,0xC0,0xC0,0xDE,0xC6,0xC6,0x66,0x3A,0x00,0x00,0x00,0x00},
+/* 0x48 */ {0x00,0x00,0xC6,0xC6,0xC6,0xC6,0xFE,0xC6,0xC6,0xC6,0xC6,0xC6,0x00,0x00,0x00,0x00},
+/* 0x49 */ {0x00,0x00,0x3C,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x3C,0x00,0x00,0x00,0x00},
+/* 0x4A */ {0x00,0x00,0x1E,0x0C,0x0C,0x0C,0x0C,0x0C,0xCC,0xCC,0xCC,0x78,0x00,0x00,0x00,0x00},
+/* 0x4B */ {0x00,0x00,0xE6,0x66,0x66,0x6C,0x78,0x78,0x6C,0x66,0x66,0xE6,0x00,0x00,0x00,0x00},
+/* 0x4C */ {0x00,0x00,0xF0,0x60,0x60,0x60,0x60,0x60,0x60,0x62,0x66,0xFE,0x00,0x00,0x00,0x00},
+/* 0x4D */ {0x00,0x00,0xC6,0xEE,0xFE,0xFE,0xD6,0xC6,0xC6,0xC6,0xC6,0xC6,0x00,0x00,0x00,0x00},
+/* 0x4E */ {0x00,0x00,0xC6,0xE6,0xF6,0xFE,0xDE,0xCE,0xC6,0xC6,0xC6,0xC6,0x00,0x00,0x00,0x00},
+/* 0x4F */ {0x00,0x00,0x7C,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0x7C,0x00,0x00,0x00,0x00},
+/* 0x50 */ {0x00,0x00,0xFC,0x66,0x66,0x66,0x7C,0x60,0x60,0x60,0x60,0xF0,0x00,0x00,0x00,0x00},
+/* 0x51 */ {0x00,0x00,0x7C,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xD6,0xDE,0x7C,0x0C,0x0E,0x00,0x00},
+/* 0x52 */ {0x00,0x00,0xFC,0x66,0x66,0x66,0x7C,0x6C,0x66,0x66,0x66,0xE6,0x00,0x00,0x00,0x00},
+/* 0x53 */ {0x00,0x00,0x7C,0xC6,0xC6,0x60,0x38,0x0C,0x06,0xC6,0xC6,0x7C,0x00,0x00,0x00,0x00},
+/* 0x54 */ {0x00,0x00,0x7E,0x7E,0x5A,0x18,0x18,0x18,0x18,0x18,0x18,0x3C,0x00,0x00,0x00,0x00},
+/* 0x55 */ {0x00,0x00,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0x7C,0x00,0x00,0x00,0x00},
+/* 0x56 */ {0x00,0x00,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0x6C,0x38,0x10,0x00,0x00,0x00,0x00},
+/* 0x57 */ {0x00,0x00,0xC6,0xC6,0xC6,0xC6,0xD6,0xD6,0xD6,0xFE,0xEE,0x6C,0x00,0x00,0x00,0x00},
+/* 0x58 */ {0x00,0x00,0xC6,0xC6,0x6C,0x7C,0x38,0x38,0x7C,0x6C,0xC6,0xC6,0x00,0x00,0x00,0x00},
+/* 0x59 */ {0x00,0x00,0x66,0x66,0x66,0x66,0x3C,0x18,0x18,0x18,0x18,0x3C,0x00,0x00,0x00,0x00},
+/* 0x5A */ {0x00,0x00,0xFE,0xC6,0x86,0x0C,0x18,0x30,0x60,0xC2,0xC6,0xFE,0x00,0x00,0x00,0x00},
+/* 0x5B */ {0x00,0x00,0x3C,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x3C,0x00,0x00,0x00,0x00},
+/* 0x5C */ {0x00,0x00,0x00,0x80,0xC0,0xE0,0x70,0x38,0x1C,0x0E,0x06,0x02,0x00,0x00,0x00,0x00},
+/* 0x5D */ {0x00,0x00,0x3C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x3C,0x00,0x00,0x00,0x00},
+/* 0x5E */ {0x10,0x38,0x6C,0xC6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
+/* 0x5F */ {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00},
+/* 0x60 */ {0x30,0x30,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
+/* 0x61 */ {0x00,0x00,0x00,0x00,0x00,0x78,0x0C,0x7C,0xCC,0xCC,0xCC,0x76,0x00,0x00,0x00,0x00},
+/* 0x62 */ {0x00,0x00,0xE0,0x60,0x60,0x78,0x6C,0x66,0x66,0x66,0x66,0x7C,0x00,0x00,0x00,0x00},
+/* 0x63 */ {0x00,0x00,0x00,0x00,0x00,0x7C,0xC6,0xC0,0xC0,0xC0,0xC6,0x7C,0x00,0x00,0x00,0x00},
+/* 0x64 */ {0x00,0x00,0x1C,0x0C,0x0C,0x3C,0x6C,0xCC,0xCC,0xCC,0xCC,0x76,0x00,0x00,0x00,0x00},
+/* 0x65 */ {0x00,0x00,0x00,0x00,0x00,0x7C,0xC6,0xFE,0xC0,0xC0,0xC6,0x7C,0x00,0x00,0x00,0x00},
+/* 0x66 */ {0x00,0x00,0x38,0x6C,0x64,0x60,0xF0,0x60,0x60,0x60,0x60,0xF0,0x00,0x00,0x00,0x00},
+/* 0x67 */ {0x00,0x00,0x00,0x00,0x00,0x3E,0x66,0x66,0x66,0x66,0x66,0x3E,0x06,0x66,0x3C,0x00},
+/* 0x68 */ {0x00,0x00,0xE0,0x60,0x60,0x6C,0x76,0x66,0x66,0x66,0x66,0xE6,0x00,0x00,0x00,0x00},
+/* 0x69 */ {0x00,0x00,0x18,0x18,0x00,0x38,0x18,0x18,0x18,0x18,0x18,0x3C,0x00,0x00,0x00,0x00},
+/* 0x6A */ {0x00,0x00,0x06,0x06,0x00,0x0E,0x06,0x06,0x06,0x06,0x06,0x06,0x66,0x66,0x3C,0x00},
+/* 0x6B */ {0x00,0x00,0xE0,0x60,0x60,0x66,0x6C,0x78,0x78,0x6C,0x66,0xE6,0x00,0x00,0x00,0x00},
+/* 0x6C */ {0x00,0x00,0x38,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x3C,0x00,0x00,0x00,0x00},
+/* 0x6D */ {0x00,0x00,0x00,0x00,0x00,0x6C,0xFE,0xD6,0xD6,0xD6,0xC6,0xC6,0x00,0x00,0x00,0x00},
+/* 0x6E */ {0x00,0x00,0x00,0x00,0x00,0xDC,0x66,0x66,0x66,0x66,0x66,0x66,0x00,0x00,0x00,0x00},
+/* 0x6F */ {0x00,0x00,0x00,0x00,0x00,0x7C,0xC6,0xC6,0xC6,0xC6,0xC6,0x7C,0x00,0x00,0x00,0x00},
+/* 0x70 */ {0x00,0x00,0x00,0x00,0x00,0xFC,0x66,0x66,0x66,0x66,0x66,0x7C,0x60,0x60,0xF0,0x00},
+/* 0x71 */ {0x00,0x00,0x00,0x00,0x00,0x7E,0xCC,0xCC,0xCC,0xCC,0xCC,0x7C,0x0C,0x0C,0x1E,0x00},
+/* 0x72 */ {0x00,0x00,0x00,0x00,0x00,0xDC,0x76,0x66,0x60,0x60,0x60,0xF0,0x00,0x00,0x00,0x00},
+/* 0x73 */ {0x00,0x00,0x00,0x00,0x00,0x7C,0xC6,0x60,0x38,0x0C,0xC6,0x7C,0x00,0x00,0x00,0x00},
+/* 0x74 */ {0x00,0x00,0x10,0x30,0x30,0xFC,0x30,0x30,0x30,0x30,0x36,0x1C,0x00,0x00,0x00,0x00},
+/* 0x75 */ {0x00,0x00,0x00,0x00,0x00,0xCC,0xCC,0xCC,0xCC,0xCC,0xCC,0x76,0x00,0x00,0x00,0x00},
+/* 0x76 */ {0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x3C,0x18,0x00,0x00,0x00,0x00},
+/* 0x77 */ {0x00,0x00,0x00,0x00,0x00,0xC6,0xC6,0xD6,0xD6,0xD6,0xFE,0x6C,0x00,0x00,0x00,0x00},
+/* 0x78 */ {0x00,0x00,0x00,0x00,0x00,0xC6,0x6C,0x38,0x38,0x38,0x6C,0xC6,0x00,0x00,0x00,0x00},
+/* 0x79 */ {0x00,0x00,0x00,0x00,0x00,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0x7E,0x06,0x0C,0xF8,0x00},
+/* 0x7A */ {0x00,0x00,0x00,0x00,0x00,0xFE,0xCC,0x18,0x30,0x60,0xC6,0xFE,0x00,0x00,0x00,0x00},
+/* 0x7B */ {0x00,0x00,0x0E,0x18,0x18,0x18,0x70,0x18,0x18,0x18,0x18,0x0E,0x00,0x00,0x00,0x00},
+/* 0x7C */ {0x00,0x00,0x18,0x18,0x18,0x18,0x00,0x18,0x18,0x18,0x18,0x18,0x00,0x00,0x00,0x00},
+/* 0x7D */ {0x00,0x00,0x70,0x18,0x18,0x18,0x0E,0x18,0x18,0x18,0x18,0x70,0x00,0x00,0x00,0x00},
+/* 0x7E */ {0x00,0x00,0x76,0xDC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
+/* 0x7F */ {0x00,0x00,0x00,0x00,0x10,0x38,0x6C,0xC6,0xC6,0xC6,0xFE,0x00,0x00,0x00,0x00,0x00},
+/* 0x80 */ {0x00,0x00,0x3C,0x66,0xC2,0xC0,0xC0,0xC0,0xC2,0x66,0x3C,0x0C,0x06,0x7C,0x00,0x00},
+/* 0x81 */ {0x00,0x00,0xCC,0x00,0x00,0xCC,0xCC,0xCC,0xCC,0xCC,0xCC,0x76,0x00,0x00,0x00,0x00},
+/* 0x82 */ {0x00,0x0C,0x18,0x30,0x00,0x7C,0xC6,0xC6,0xFE,0xC0,0xC6,0x7C,0x00,0x00,0x00,0x00},
+/* 0x83 */ {0x00,0x10,0x38,0x6C,0x00,0x78,0x0C,0x7C,0xCC,0xCC,0xCC,0x76,0x00,0x00,0x00,0x00},
+/* 0x84 */ {0x00,0x00,0xCC,0x00,0x00,0x78,0x0C,0x7C,0xCC,0xCC,0xCC,0x76,0x00,0x00,0x00,0x00},
+/* 0x85 */ {0x00,0x60,0x30,0x18,0x00,0x78,0x0C,0x7C,0xCC,0xCC,0xCC,0x76,0x00,0x00,0x00,0x00},
+/* 0x86 */ {0x00,0x38,0x6C,0x38,0x00,0x78,0x0C,0x7C,0xCC,0xCC,0xCC,0x76,0x00,0x00,0x00,0x00},
+/* 0x87 */ {0x00,0x00,0x00,0x00,0x3C,0x66,0x60,0x60,0x66,0x3C,0x0C,0x06,0x3C,0x00,0x00,0x00},
+/* 0x88 */ {0x00,0x10,0x38,0x6C,0x00,0x7C,0xC6,0xC6,0xFE,0xC0,0xC6,0x7C,0x00,0x00,0x00,0x00},
+/* 0x89 */ {0x00,0x00,0xC6,0x00,0x00,0x7C,0xC6,0xC6,0xFE,0xC0,0xC6,0x7C,0x00,0x00,0x00,0x00},
+/* 0x8A */ {0x00,0x60,0x30,0x18,0x00,0x7C,0xC6,0xC6,0xFE,0xC0,0xC6,0x7C,0x00,0x00,0x00,0x00},
+/* 0x8B */ {0x00,0x00,0x66,0x00,0x00,0x38,0x18,0x18,0x18,0x18,0x18,0x3C,0x00,0x00,0x00,0x00},
+/* 0x8C */ {0x00,0x18,0x3C,0x66,0x00,0x38,0x18,0x18,0x18,0x18,0x18,0x3C,0x00,0x00,0x00,0x00},
+/* 0x8D */ {0x00,0x60,0x30,0x18,0x00,0x38,0x18,0x18,0x18,0x18,0x18,0x3C,0x00,0x00,0x00,0x00},
+/* 0x8E */ {0x00,0xC6,0x00,0x10,0x38,0x6C,0xC6,0xC6,0xFE,0xC6,0xC6,0xC6,0x00,0x00,0x00,0x00},
+/* 0x8F */ {0x38,0x6C,0x38,0x00,0x38,0x6C,0xC6,0xC6,0xFE,0xC6,0xC6,0xC6,0x00,0x00,0x00,0x00},
+/* 0x90 */ {0x18,0x30,0x60,0x00,0xFE,0x66,0x60,0x7C,0x60,0x60,0x66,0xFE,0x00,0x00,0x00,0x00},
+/* 0x91 */ {0x00,0x00,0x00,0x00,0x00,0xCC,0x76,0x36,0x7E,0xD8,0xD8,0x6E,0x00,0x00,0x00,0x00},
+/* 0x92 */ {0x00,0x00,0x3E,0x6C,0xCC,0xCC,0xFE,0xCC,0xCC,0xCC,0xCC,0xCE,0x00,0x00,0x00,0x00},
+/* 0x93 */ {0x00,0x10,0x38,0x6C,0x00,0x7C,0xC6,0xC6,0xC6,0xC6,0xC6,0x7C,0x00,0x00,0x00,0x00},
+/* 0x94 */ {0x00,0x00,0xC6,0x00,0x00,0x7C,0xC6,0xC6,0xC6,0xC6,0xC6,0x7C,0x00,0x00,0x00,0x00},
+/* 0x95 */ {0x00,0x60,0x30,0x18,0x00,0x7C,0xC6,0xC6,0xC6,0xC6,0xC6,0x7C,0x00,0x00,0x00,0x00},
+/* 0x96 */ {0x00,0x30,0x78,0xCC,0x00,0xCC,0xCC,0xCC,0xCC,0xCC,0xCC,0x76,0x00,0x00,0x00,0x00},
+/* 0x97 */ {0x00,0x60,0x30,0x18,0x00,0xCC,0xCC,0xCC,0xCC,0xCC,0xCC,0x76,0x00,0x00,0x00,0x00},
+/* 0x98 */ {0x00,0x00,0xC6,0x00,0x00,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0x7E,0x06,0x0C,0x78,0x00},
+/* 0x99 */ {0x00,0xC6,0x00,0x7C,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0x7C,0x00,0x00,0x00,0x00},
+/* 0x9A */ {0x00,0xC6,0x00,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0x7C,0x00,0x00,0x00,0x00},
+/* 0x9B */ {0x00,0x18,0x18,0x3C,0x66,0x60,0x60,0x60,0x66,0x3C,0x18,0x18,0x00,0x00,0x00,0x00},
+/* 0x9C */ {0x00,0x38,0x6C,0x64,0x60,0xF8,0x60,0x60,0x60,0x60,0xE6,0xFC,0x00,0x00,0x00,0x00},
+/* 0x9D */ {0x00,0x00,0x66,0x66,0x3C,0x18,0x7E,0x18,0x7E,0x18,0x18,0x18,0x00,0x00,0x00,0x00},
+/* 0x9E */ {0x00,0xF8,0xCC,0xCC,0xF8,0xC4,0xCC,0xDE,0xCC,0xCC,0xCC,0xC6,0x00,0x00,0x00,0x00},
+/* 0x9F */ {0x00,0x0E,0x1B,0x18,0x18,0x18,0x7E,0x18,0x18,0x18,0x18,0x18,0xD8,0x70,0x00,0x00},
+/* 0xA0 */ {0x00,0x18,0x30,0x60,0x00,0x78,0x0C,0x7C,0xCC,0xCC,0xCC,0x76,0x00,0x00,0x00,0x00},
+/* 0xA1 */ {0x00,0x0C,0x18,0x30,0x00,0x38,0x18,0x18,0x18,0x18,0x18,0x3C,0x00,0x00,0x00,0x00},
+/* 0xA2 */ {0x00,0x18,0x30,0x60,0x00,0x7C,0xC6,0xC6,0xC6,0xC6,0xC6,0x7C,0x00,0x00,0x00,0x00},
+/* 0xA3 */ {0x00,0x18,0x30,0x60,0x00,0xCC,0xCC,0xCC,0xCC,0xCC,0xCC,0x76,0x00,0x00,0x00,0x00},
+/* 0xA4 */ {0x00,0x00,0x76,0xDC,0x00,0xDC,0x66,0x66,0x66,0x66,0x66,0x66,0x00,0x00,0x00,0x00},
+/* 0xA5 */ {0x76,0xDC,0x00,0xC6,0xE6,0xF6,0xFE,0xDE,0xCE,0xC6,0xC6,0xC6,0x00,0x00,0x00,0x00},
+/* 0xA6 */ {0x00,0x3C,0x6C,0x6C,0x3E,0x00,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
+/* 0xA7 */ {0x00,0x38,0x6C,0x6C,0x38,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
+/* 0xA8 */ {0x00,0x00,0x30,0x30,0x00,0x30,0x30,0x60,0xC0,0xC6,0xC6,0x7C,0x00,0x00,0x00,0x00},
+/* 0xA9 */ {0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xC0,0xC0,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00},
+/* 0xAA */ {0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x06,0x06,0x06,0x06,0x00,0x00,0x00,0x00,0x00},
+/* 0xAB */ {0x00,0xC0,0xC0,0xC2,0xC6,0xCC,0x18,0x30,0x60,0xDC,0x86,0x0C,0x18,0x3E,0x00,0x00},
+/* 0xAC */ {0x00,0xC0,0xC0,0xC2,0xC6,0xCC,0x18,0x30,0x66,0xCE,0x9E,0x3E,0x06,0x06,0x00,0x00},
+/* 0xAD */ {0x00,0x00,0x18,0x18,0x00,0x18,0x18,0x18,0x3C,0x3C,0x3C,0x18,0x00,0x00,0x00,0x00},
+/* 0xAE */ {0x00,0x00,0x00,0x00,0x00,0x36,0x6C,0xD8,0x6C,0x36,0x00,0x00,0x00,0x00,0x00,0x00},
+/* 0xAF */ {0x00,0x00,0x00,0x00,0x00,0xD8,0x6C,0x36,0x6C,0xD8,0x00,0x00,0x00,0x00,0x00,0x00},
+/* 0xB0 */ {0x11,0x44,0x11,0x44,0x11,0x44,0x11,0x44,0x11,0x44,0x11,0x44,0x11,0x44,0x11,0x44},
+/* 0xB1 */ {0x55,0xAA,0x55,0xAA,0x55,0xAA,0x55,0xAA,0x55,0xAA,0x55,0xAA,0x55,0xAA,0x55,0xAA},
+/* 0xB2 */ {0xDD,0x77,0xDD,0x77,0xDD,0x77,0xDD,0x77,0xDD,0x77,0xDD,0x77,0xDD,0x77,0xDD,0x77},
+/* 0xB3 */ {0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18},
+/* 0xB4 */ {0x18,0x18,0x18,0x18,0x18,0x18,0x18,0xF8,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18},
+/* 0xB5 */ {0x18,0x18,0x18,0x18,0x18,0xF8,0x18,0xF8,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18},
+/* 0xB6 */ {0x36,0x36,0x36,0x36,0x36,0x36,0x36,0xF6,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36},
+/* 0xB7 */ {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36},
+/* 0xB8 */ {0x00,0x00,0x00,0x00,0x00,0xF8,0x18,0xF8,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18},
+/* 0xB9 */ {0x36,0x36,0x36,0x36,0x36,0xF6,0x06,0xF6,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36},
+/* 0xBA */ {0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36},
+/* 0xBB */ {0x00,0x00,0x00,0x00,0x00,0xFE,0x06,0xF6,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36},
+/* 0xBC */ {0x36,0x36,0x36,0x36,0x36,0xF6,0x06,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
+/* 0xBD */ {0x36,0x36,0x36,0x36,0x36,0x36,0x36,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
+/* 0xBE */ {0x18,0x18,0x18,0x18,0x18,0xF8,0x18,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
+/* 0xBF */ {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18},
+/* 0xC0 */ {0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
+/* 0xC1 */ {0x18,0x18,0x18,0x18,0x18,0x18,0x18,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
+/* 0xC2 */ {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18},
+/* 0xC3 */ {0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x1F,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18},
+/* 0xC4 */ {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
+/* 0xC5 */ {0x18,0x18,0x18,0x18,0x18,0x18,0x18,0xFF,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18},
+/* 0xC6 */ {0x18,0x18,0x18,0x18,0x18,0x1F,0x18,0x1F,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18},
+/* 0xC7 */ {0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x37,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36},
+/* 0xC8 */ {0x36,0x36,0x36,0x36,0x36,0x37,0x30,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
+/* 0xC9 */ {0x00,0x00,0x00,0x00,0x00,0x3F,0x30,0x37,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36},
+/* 0xCA */ {0x36,0x36,0x36,0x36,0x36,0xF7,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
+/* 0xCB */ {0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0xF7,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36},
+/* 0xCC */ {0x36,0x36,0x36,0x36,0x36,0x37,0x30,0x37,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36},
+/* 0xCD */ {0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
+/* 0xCE */ {0x36,0x36,0x36,0x36,0x36,0xF7,0x00,0xF7,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36},
+/* 0xCF */ {0x18,0x18,0x18,0x18,0x18,0xFF,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
+/* 0xD0 */ {0x36,0x36,0x36,0x36,0x36,0x36,0x36,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
+/* 0xD1 */ {0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0xFF,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18},
+/* 0xD2 */ {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36},
+/* 0xD3 */ {0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
+/* 0xD4 */ {0x18,0x18,0x18,0x18,0x18,0x1F,0x18,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
+/* 0xD5 */ {0x00,0x00,0x00,0x00,0x00,0x1F,0x18,0x1F,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18},
+/* 0xD6 */ {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36},
+/* 0xD7 */ {0x36,0x36,0x36,0x36,0x36,0x36,0x36,0xFF,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36},
+/* 0xD8 */ {0x18,0x18,0x18,0x18,0x18,0xFF,0x18,0xFF,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18},
+/* 0xD9 */ {0x18,0x18,0x18,0x18,0x18,0x18,0x18,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
+/* 0xDA */ {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18},
+/* 0xDB */ {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
+/* 0xDC */ {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
+/* 0xDD */ {0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0},
+/* 0xDE */ {0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F},
+/* 0xDF */ {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
+/* 0xE0 */ {0x00,0x00,0x00,0x00,0x00,0x76,0xDC,0xD8,0xD8,0xD8,0xDC,0x76,0x00,0x00,0x00,0x00},
+/* 0xE1 */ {0x00,0x00,0x7C,0xC6,0xC6,0xC6,0xFC,0xC6,0xC6,0xC6,0xC6,0xDC,0xC0,0xC0,0x00,0x00},
+/* 0xE2 */ {0x00,0x00,0xFE,0xC6,0xC6,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0x00,0x00,0x00,0x00},
+/* 0xE3 */ {0x00,0x00,0x00,0x00,0x00,0xFE,0x6C,0x6C,0x6C,0x6C,0x6C,0x6C,0x00,0x00,0x00,0x00},
+/* 0xE4 */ {0x00,0x00,0xFE,0xC6,0x60,0x30,0x18,0x18,0x30,0x60,0xC6,0xFE,0x00,0x00,0x00,0x00},
+/* 0xE5 */ {0x00,0x00,0x00,0x00,0x00,0x7E,0xD8,0xD8,0xD8,0xD8,0xD8,0x70,0x00,0x00,0x00,0x00},
+/* 0xE6 */ {0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x7C,0x60,0xC0,0x00,0x00,0x00},
+/* 0xE7 */ {0x00,0x00,0x00,0x00,0x00,0x76,0xDC,0x18,0x18,0x18,0x18,0x18,0x00,0x00,0x00,0x00},
+/* 0xE8 */ {0x00,0x00,0x7E,0x18,0x3C,0x66,0x66,0x66,0x66,0x3C,0x18,0x7E,0x00,0x00,0x00,0x00},
+/* 0xE9 */ {0x00,0x00,0x38,0x6C,0xC6,0xC6,0xFE,0xC6,0xC6,0xC6,0x6C,0x38,0x00,0x00,0x00,0x00},
+/* 0xEA */ {0x00,0x00,0x38,0x6C,0xC6,0xC6,0xC6,0x6C,0x6C,0x6C,0x6C,0xEE,0x00,0x00,0x00,0x00},
+/* 0xEB */ {0x00,0x00,0x1E,0x30,0x18,0x0C,0x3E,0x66,0x66,0x66,0x66,0x3C,0x00,0x00,0x00,0x00},
+/* 0xEC */ {0x00,0x00,0x00,0x00,0x00,0x7E,0xDB,0xDB,0xDB,0x7E,0x00,0x00,0x00,0x00,0x00,0x00},
+/* 0xED */ {0x00,0x00,0x00,0x03,0x06,0x7E,0xDB,0xDB,0xF3,0x7E,0x60,0xC0,0x00,0x00,0x00,0x00},
+/* 0xEE */ {0x00,0x00,0x1C,0x30,0x60,0x60,0x7C,0x60,0x60,0x60,0x30,0x1C,0x00,0x00,0x00,0x00},
+/* 0xEF */ {0x00,0x00,0x7C,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0xC6,0x00,0x00,0x00,0x00},
+/* 0xF0 */ {0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0xFE,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00},
+/* 0xF1 */ {0x00,0x00,0x00,0x00,0x18,0x18,0x7E,0x18,0x18,0x00,0x00,0xFF,0x00,0x00,0x00,0x00},
+/* 0xF2 */ {0x00,0x00,0x00,0x30,0x18,0x0C,0x06,0x0C,0x18,0x30,0x00,0x7E,0x00,0x00,0x00,0x00},
+/* 0xF3 */ {0x00,0x00,0x00,0x0C,0x18,0x30,0x60,0x30,0x18,0x0C,0x00,0x7E,0x00,0x00,0x00,0x00},
+/* 0xF4 */ {0x00,0x0E,0x1B,0x1B,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18},
+/* 0xF5 */ {0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0xD8,0xD8,0xD8,0x70,0x00,0x00,0x00,0x00},
+/* 0xF6 */ {0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x7E,0x00,0x18,0x18,0x00,0x00,0x00,0x00,0x00},
+/* 0xF7 */ {0x00,0x00,0x00,0x00,0x00,0x76,0xDC,0x00,0x76,0xDC,0x00,0x00,0x00,0x00,0x00,0x00},
+/* 0xF8 */ {0x00,0x38,0x6C,0x6C,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
+/* 0xF9 */ {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
+/* 0xFA */ {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
+/* 0xFB */ {0x00,0x0F,0x0C,0x0C,0x0C,0x0C,0x0C,0xEC,0x6C,0x6C,0x3C,0x1C,0x00,0x00,0x00,0x00},
+/* 0xFC */ {0x00,0xD8,0x6C,0x6C,0x6C,0x6C,0x6C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
+/* 0xFD */ {0x00,0x70,0xD8,0x30,0x60,0xC8,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
+/* 0xFE */ {0x00,0x00,0x00,0x00,0x7C,0x7C,0x7C,0x7C,0x7C,0x7C,0x7C,0x00,0x00,0x00,0x00,0x00},
+/* 0xFF */ {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00}
+};
+
+#endif
+
+#endif // _LCD_FONT_H_
Index: hal/arm/xscale/uE250/current/src/uE250_pci.c
===================================================================
RCS file: /misc/cvsfiles/ecos/packages/hal/arm/xscale/uE250/current/src/uE250_pci.c,v
retrieving revision 1.2
diff -u -5 -p -b -r1.2 uE250_pci.c
--- hal/arm/xscale/uE250/current/src/uE250_pci.c 24 Feb 2003 18:10:08 -0000 1.2
+++ hal/arm/xscale/uE250/current/src/uE250_pci.c 25 Feb 2003 18:38:56 -0000
@@ -106,12 +106,14 @@ cyg_hal_plf_pci_init(void)
*PXA2X0_MDREFR = 0x0009c018;
*PXA2X0_MDCNFG = 0x03001bc9;
// FIXME: Change MSC values ??
// Set FPGA to 110.6 MHz
- *PXA2X0_GPSR0 = (0x01 << 7);
- *PXA2X0_GPCR1 = (0x01 << 13);
+ *PXA2X0_GPDR0 |= (0x01 << 7);
+ *PXA2X0_GPSR0 |= (0x01 << 7);
+ *PXA2X0_GPDR1 |= (0x01 << (45-32));
+ *PXA2X0_GPCR1 |= (0x01 << (45-32));
// Set busmastering
// diag_printf("Activating PCI bridge.\n");
PCICTL_MISC |= (1 | PCI_SDRAM_128) | PCI_TIMER;
@@ -156,13 +158,16 @@ cyg_hal_plf_pci_init(void)
void
_uE250_pci_translate_interrupt(int bus, int devfn, int *vector, int *valid)
{
int dev = CYG_PCI_DEV_GET_DEV(devfn);
+ if (dev <= 5) {
*vector = _uPCI_BASE_INTERRUPT+(dev-1);
- diag_printf("%s.%d - dev: %d = %d\n", __FUNCTION__, __LINE__, dev, *vector);
valid = true;;
+ } else {
+ valid = false;
+ }
}
static void
cyg_hal_plf_pci_clear_idsel(void)
{
Index: hal/arm/xscale/uE250/current/src/uE250_plx.c
===================================================================
RCS file: /misc/cvsfiles/ecos/packages/hal/arm/xscale/uE250/current/src/uE250_plx.c,v
retrieving revision 1.1
diff -u -5 -p -b -r1.1 uE250_plx.c
--- hal/arm/xscale/uE250/current/src/uE250_plx.c 21 Feb 2003 18:17:34 -0000 1.1
+++ hal/arm/xscale/uE250/current/src/uE250_plx.c 25 Feb 2003 23:34:31 -0000
@@ -6,11 +6,10 @@
//
//==========================================================================
//####ECOSGPLCOPYRIGHTBEGIN####
// -------------------------------------------
// This file is part of eCos, the Embedded Configurable Operating System.
-// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
// Copyright (C) 2003 Gary Thomas <gary at mind dot be>
//
// eCos 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; either version 2 or (at your option) any later version.
@@ -97,10 +96,11 @@ static struct plx_init {
{ 0x78,0x0 },
{ 0x7c,0x0 },
{ 0xf0,0xffff8000 },
{ 0xf4,0x40008001 },
{ 0xf8,0x00000243 },
+ { 0x900, 0x68 },
{ 0xFFFFFFFF,0}, // End marker
};
#ifdef CYGSEM_HAL_LOAD_VGA_FPGA
static unsigned char uE250_plx_bitstream[] = {
@@ -132,10 +132,24 @@ _show_pci_device(cyg_pci_device_id devid
dev_info.base_size[i], dev_info.base_map[i]);
}
}
#endif
+static /*__inline__*/ void
+write_fdc37c672_configreg(cyg_uint8 regno, cyg_uint8 data)
+{
+ localbus_writeb(regno, FDC37C672_INDEX);
+ localbus_writeb(data, FDC37C672_DATA);
+}
+
+static /*__inline__*/ cyg_uint8
+read_fdc37c672_configreg(cyg_uint8 regno)
+{
+ localbus_writeb(regno, FDC37C672_INDEX);
+ return localbus_readb(FDC37C672_DATA) & 0xff;
+}
+
/**
* Sets up the Base Address Registers of the PLX 9080
*/
void
initialize_plx_bridge(void)
@@ -171,20 +185,52 @@ initialize_plx_bridge(void)
CYG_PCI_CFG_COMMAND_IO | CYG_PCI_CFG_COMMAND_MEMORY);
// See what was assigned - for later use
cyg_pci_get_device_info(plx_dev, &dev_info);
_plx_config_addr = dev_info.base_map[0] + LOCALBUS_CONFIG_OFFSET;
- _plx_localbus_addr = dev_info.base_map[3] + LOCALBUS_OFFSET;
+ _plx_localbus_addr = dev_info.base_map[3];
// A little commercial plug :-)
localbus_writeb('M', ASCII_DISPLAY_BASE+8);
localbus_writeb('I', ASCII_DISPLAY_BASE+12);
localbus_writeb('N', ASCII_DISPLAY_BASE+16);
localbus_writeb('D', ASCII_DISPLAY_BASE+20);
+ // Configure SMSC FDC36c672 Super I/O controller
+
+ localbus_writeb(0x55,FDC37C672_CONFIG); // Enter FDC37C672 configuration mode
+
+ write_fdc37c672_configreg(7, 3); // parallel port to IRQ 7, IO 0x378
+ write_fdc37c672_configreg(0x30, 1);
+ write_fdc37c672_configreg(0x70, 7);
+ write_fdc37c672_configreg(0x60, 0x3);
+ write_fdc37c672_configreg(0x61, 0x78);
+
+ write_fdc37c672_configreg(7, 4); // first serial port to IRQ4, IO 0x3f8
+ write_fdc37c672_configreg(0x30, 1);
+ write_fdc37c672_configreg(0x70, 4);
+ write_fdc37c672_configreg(0x60, 0x3);
+ write_fdc37c672_configreg(0x61, 0xf8);
+
+ write_fdc37c672_configreg(7, 5); // second serial port to IRQ5, IO 0x2f8
+ write_fdc37c672_configreg(0x30, 1);
+ write_fdc37c672_configreg(0x70, 3);
+ write_fdc37c672_configreg(0x60, 0x2);
+ write_fdc37c672_configreg(0x61, 0xf8);
+
+ write_fdc37c672_configreg(7, 7); // PS/2 Keyboard/mouse to IRQ 1/5, IO 0x60
+ write_fdc37c672_configreg(0x30, 1);
+ write_fdc37c672_configreg(0x70, 1);
+ write_fdc37c672_configreg(0x72, 5);
+
+ localbus_writeb(0xAA,FDC37C672_CONFIG); // Leave FDC37C672 configuration mode
+
#ifdef CYGSEM_HAL_LOAD_VGA_FPGA
load_vga(uE250_plx_bitstream, sizeof(uE250_plx_bitstream));
+#endif
+#ifdef CYGSEM_UE250_VGA_COMM
+ vga_comm_init(dev_info.base_map[2]);
#endif
} else {
diag_printf("Can't find PLX controller!\n");
}
}
Index: hal/arm/xscale/uE250/current/src/vga_support.c
===================================================================
RCS file: hal/arm/xscale/uE250/current/src/vga_support.c
diff -N hal/arm/xscale/uE250/current/src/vga_support.c
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ hal/arm/xscale/uE250/current/src/vga_support.c 25 Feb 2003 23:42:26 -0000
@@ -0,0 +1,1449 @@
+//==========================================================================
+//
+// vga_support.c
+//
+// NMI uE250/uPCI - VGA support
+//
+//==========================================================================
+//####ECOSGPLCOPYRIGHTBEGIN####
+// -------------------------------------------
+// This file is part of eCos, the Embedded Configurable Operating System.
+// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
+// Copyright (C) 2003 Gary Thomas <gary at mind dot be>
+//
+// eCos 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; either version 2 or (at your option) any later version.
+//
+// eCos 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 eCos; if not, write to the Free Software Foundation, Inc.,
+// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+//
+// As a special exception, if other files instantiate templates or use macros
+// or inline functions from this file, or you compile this file and link it
+// with other works to produce a work based on this file, this file does not
+// by itself cause the resulting work to be covered by the GNU General Public
+// License. However the source code for this file must still be made available
+// in accordance with section (3) of the GNU General Public License.
+//
+// This exception does not invalidate any other reasons why a work based on
+// this file might be covered by the GNU General Public License.
+//
+// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
+// at http://sources.redhat.com/ecos/ecos-license/
+// -------------------------------------------
+//####ECOSGPLCOPYRIGHTEND####
+//==========================================================================
+//#####DESCRIPTIONBEGIN####
+//
+// Author(s): gthomas
+// Contributors: gthomas
+// Date: 2001-11-03
+// Description: Simple VGA support
+//####DESCRIPTIONEND####
+
+#include <pkgconf/hal.h>
+
+#include <cyg/infra/diag.h>
+#include <cyg/hal/hal_io.h> // IO macros
+#include <cyg/hal/hal_if.h> // Virtual vector support
+#include <cyg/hal/hal_arch.h> // Register state info
+#include <cyg/hal/hal_intr.h> // HAL interrupt macros
+
+#include <cyg/hal/vga_support.h>
+#include <cyg/hal/hal_cache.h>
+
+#include <cyg/hal/plx.h> // Localbus I/O
+
+#include <string.h>
+
+#ifdef CYGPKG_ISOINFRA
+# include <pkgconf/isoinfra.h>
+# ifdef CYGINT_ISO_STDIO_FORMATTED_IO
+# include <stdio.h> // sscanf
+# endif
+#endif
+
+#ifndef FALSE
+#define FALSE 0
+#define TRUE 1
+#endif
+
+// Logical layout
+#define VGA_WIDTH 640
+#define VGA_HEIGHT 480
+#define VGA_DEPTH 8
+
+static int bg = 0;
+static int fg = 1;
+
+static struct vga_info vga;
+
+struct VGA_ctlr {
+ unsigned short rev;
+ unsigned char enable;
+ unsigned char _fill1[13];
+ struct ADV471 {
+ unsigned short write_addr;
+ unsigned short data;
+ unsigned short pixel_read_mask;
+ unsigned short read_addr;
+ unsigned short overlay_data;
+ unsigned short _fill2[2];
+ unsigned short overlay_read_addr;
+ } clut;
+ unsigned char _fill3[0x100000-0x20];
+ unsigned char fb[1];
+};
+
+// Compute the location for a pixel within the framebuffer
+static cyg_uint8 *
+vga_fb(int row, int col)
+{
+ cyg_uint8 *res = (cyg_uint8 *)((char *)vga.fb+(row*vga.rlen)+(col*vga.stride));
+ return res;
+}
+
+void
+vga_on(bool enable)
+{
+#if 0
+ static bool on = false;
+
+ if (enable) {
+ if (!on) {
+ (*vga.on)();
+ }
+ on = true;
+ } else {
+ (*vga.off)();
+ }
+#endif
+}
+
+// Initialize VGA hardware
+
+static void
+vga_set_cmap(volatile struct VGA_ctlr *ctlr, int index,
+ int red, int green, int blue)
+{
+ if (index > 255) {
+ // Invalid index
+ return;
+ }
+ ctlr->clut.write_addr = index; // Select
+ ctlr->clut.data = red>>2;
+ ctlr->clut.data = green>>2;
+ ctlr->clut.data = blue>>2;
+}
+
+void
+vga_init(cyg_uint32 *addr)
+{
+ volatile struct VGA_ctlr *ctlr;
+
+ vga.ctlr = (struct VGA_ctlr *)ctlr = (struct VGA_ctlr *)addr;
+ vga.fb = ctlr->fb;
+ vga.bpp = VGA_DEPTH;
+ vga.height = VGA_HEIGHT;
+ vga.width = VGA_WIDTH;
+ vga.rlen = VGA_WIDTH;
+ vga.stride = 1;
+ vga.access_size = 1;
+ vga_set_cmap(ctlr, 0, 0x00, 0x00, 0x00); // 0 -> black
+ vga_set_cmap(ctlr, 1, 0xFF, 0xFF, 0xFF); // 1 -> white
+// diag_printf("VGA init at %p/%p\n", vga.ctlr, vga.fb);
+ ctlr->enable = 1;
+}
+
+// Get information about the frame buffer
+int
+vga_getinfo(struct vga_info *info)
+{
+ if (vga.bpp == 0) {
+ return 0; // VGA not initialized
+ }
+ *info = vga;
+ return 1; // Information valid
+}
+
+// Clear screen
+void
+vga_clear(void)
+{
+#if 0
+ cyg_uint32 *fb_row0, *fb_rown;
+ cyg_uint32 _bg = (bg<<16)|bg;
+
+ fb_row0 = vga_fb(0, 0);
+ fb_rown = vga_fb(vga_height, 0);
+ while (fb_row0 != fb_rown) {
+ *fb_row0++ = _bg;
+ }
+#endif
+}
+
+#ifdef CYGSEM_UE250_VGA_COMM
+
+//
+// Additional support for VGA/Keyboard as 'console' device
+//
+
+#ifdef CYGOPT_UE250_VGA_COMM_LOGO
+#include "banner.xpm"
+#endif
+#include "font.h"
+
+// Virtual screen info
+static int curX = 0; // Last used position
+static int curY = 0;
+//static int width = VGA_WIDTH / (FONT_WIDTH*NIBBLES_PER_PIXEL);
+//static int height = VGA_HEIGHT / (FONT_HEIGHT*SCREEN_SCALE);
+
+#define SCREEN_PAN 20
+#define SCREEN_WIDTH 80
+#define SCREEN_HEIGHT (VGA_HEIGHT/FONT_HEIGHT)
+#define VISIBLE_SCREEN_WIDTH (VGA_WIDTH/FONT_WIDTH)
+#define VISIBLE_SCREEN_HEIGHT (VGA_HEIGHT/FONT_HEIGHT)
+static char screen[SCREEN_HEIGHT][SCREEN_WIDTH];
+static int screen_height = SCREEN_HEIGHT;
+static int screen_width = SCREEN_WIDTH;
+static int screen_pan = 0;
+
+// Usable area on screen [logical pixel rows]
+static int screen_start = 0;
+static int screen_end = VGA_HEIGHT/FONT_HEIGHT;
+
+static bool cursor_enable = true;
+
+// Functions
+static void vga_drawc(cyg_uint8 c, int x, int y);
+
+static __inline__ void
+set_pixel(int row, int col, unsigned char val)
+{
+ unsigned char *pix = (unsigned char *)vga_fb(row, col);
+ *pix = val;
+}
+
+#ifdef CYGOPT_UE250_VGA_COMM_LOGO
+static int
+_hexdigit(char c)
+{
+ if ((c >= '0') && (c <= '9')) {
+ return c - '0';
+ } else {
+ if ((c >= 'A') && (c <= 'F')) {
+ return (c - 'A') + 0x0A;
+ } else {
+ if ((c >= 'a') && (c <= 'f')) {
+ return (c - 'a') + 0x0a;
+ }
+ }
+ }
+
+ return 0;
+}
+
+static int
+_hex(char *cp)
+{
+ return (_hexdigit(*cp)<<4) | _hexdigit(*(cp+1));
+}
+
+static void
+parse_color(char *cp, int *red, int *green, int *blue)
+{
+ *red = *green = *blue = 0xFF;
+ while (*cp && (*cp != 'c')) cp++;
+ if (cp) {
+ cp += 2;
+ if (*cp == '#') {
+ *red = _hex(cp+1);
+ *green = _hex(cp+3);
+ *blue = _hex(cp+5);
+ }
+ }
+}
+
+#ifndef CYGINT_ISO_STDIO_FORMATTED_IO
+static int
+get_int(unsigned char **_cp)
+{
+ char *cp = *_cp;
+ char c;
+ int val = 0;
+
+ while ((c = *cp++) && (c != ' ')) {
+ if ((c >= '0') && (c <= '9')) {
+ val = val * 10 + (c - '0');
+ } else {
+ return -1;
+ }
+ }
+ *_cp = cp;
+ return val;
+}
+#endif
+
+static int
+show_xpm(char *xpm[], int screen_pos)
+{
+ int i, row, col, offset;
+ unsigned char *cp;
+ int nrows, ncols, nclrs, cwid;
+ short color_index;
+ int red, green, blue;
+//#define HORRIBLY_SLOW_COLOR_MAPPING
+#ifdef HORRIBLY_SLOW_COLOR_MAPPING
+ bool color_match;
+ short cmap[256][2];
+ int j;
+#else
+ // Caution - this is very GIMP specific
+ short cmap[256][3]; // Enough room for 256 colors
+ short cmap_col, cmap_row;
+ unsigned char std_cmap[] = " .+";
+#endif
+
+ cp = xpm[0];
+#ifdef CYGINT_ISO_STDIO_FORMATTED_IO
+ if (sscanf(cp, "%d %d %d %d", &ncols, &nrows, &nclrs, &cwid) != 4) {
+#else
+ if (((ncols = get_int(&cp)) < 0) ||
+ ((nrows = get_int(&cp)) < 0) ||
+ ((nclrs = get_int(&cp)) < 0) ||
+ ((cwid = get_int(&cp)) < 0)) {
+
+#endif
+ diag_printf("Can't parse XPM data, sorry\n");
+ return 0;
+ }
+// diag_printf("%d rows, %d cols, %d colors %d chars/pixel\n", nrows, ncols, nclrs, cwid);
+ if (cwid > 2) {
+ diag_printf("Color map is too wide - %d\n", cwid);
+ return 0;
+ }
+
+ for (i = 0; i < 256; i++) {
+#ifdef HORRIBLY_SLOW_COLOR_MAPPING
+ cmap[i][0] = 0; cmap[i][1] = 0;
+#else
+ cmap[i][0] = 0; cmap[i][1] = 0; cmap[i][2] = 0;
+#endif
+ }
+ color_index = 0;
+ for (i = 0; i < nclrs; i++) {
+ cp = xpm[i+1];
+#ifdef HORRIBLY_SLOW_COLOR_MAPPING
+ for (j = 0; j < cwid; j++) {
+ cmap[color_index][j] = cp[j];
+ }
+#else
+ if (cwid == 1) {
+ cmap_col = 0;
+ } else {
+ for (cmap_col = 0; cmap_col < 3; cmap_col++) {
+ if (cp[1] == std_cmap[cmap_col]) {
+ break;
+ }
+ }
+ }
+ cmap_row = *cp;
+ cmap[cmap_row][cmap_col] = color_index;
+#endif
+ parse_color(cp+cwid, &red, &green, &blue);
+// diag_printf("Color[%d] = %02x/%02x/%02x\n", color_index, red, green, blue);
+ vga_set_cmap(vga.ctlr, color_index+2, red, green, blue);
+ color_index++;
+ }
+
+#ifdef CYGOPT_UE250_VGA_COMM_LOGO_TOP
+ offset = screen_pos;
+#else
+ offset = screen_pos-nrows;
+#endif
+ for (row = 0; row < nrows; row++) {
+ cp = xpm[nclrs+1+row];
+ for (col = 0; col < ncols; col++) {
+#ifdef HORRIBLY_SLOW_COLOR_MAPPING
+ // Horrible, but portable, way to map colors
+ for (color_index = 0; color_index < nclrs; color_index++) {
+ color_match = true;
+ for (j = 0; j < cwid; j++) {
+ if (cmap[color_index][j] != cp[j]) {
+ color_match = false;
+ }
+ }
+ if (color_match) {
+ break;
+ }
+ }
+#else
+ if (cwid == 1) {
+ cmap_col = 0;
+ } else {
+ for (cmap_col = 0; cmap_col < 3; cmap_col++) {
+ if (cp[1] == std_cmap[cmap_col]) {
+ break;
+ }
+ }
+ }
+ cmap_row = *cp;
+ color_index = cmap[cmap_row][cmap_col];
+#endif
+ set_pixel(row+offset, col, color_index+2);
+ cp += cwid;
+ }
+ }
+#ifdef CYGOPT_UE250_VGA_COMM_LOGO_TOP
+ screen_start = (nrows + (FONT_HEIGHT-1))/FONT_HEIGHT;
+ screen_end = VGA_HEIGHT/FONT_HEIGHT;
+ return offset+nrows;
+#else
+ screen_start = 0;
+ screen_height = offset / FONT_HEIGHT;
+ screen_end = screen_height;
+ return offset;
+#endif
+}
+#endif
+
+void
+vga_screen_clear(void)
+{
+ int row, col;
+#ifdef CYGOPT_UE250_VGA_COMM_LOGO
+ int pos;
+#endif
+
+ for (row = 0; row < screen_height; row++) {
+ for (col = 0; col < screen_width; col++) {
+ screen[row][col] = ' ';
+ vga_drawc(' ', col, row);
+ }
+ }
+#ifdef CYGOPT_UE250_VGA_COMM_LOGO
+ // Note: Row 0 seems to wrap incorrectly
+#ifdef CYGOPT_UE250_VGA_COMM_LOGO_TOP
+ pos = 0;
+#else
+ pos = (VGA_HEIGHT-1);
+#endif
+ show_xpm(banner_xpm, pos);
+#endif // CYGOPT_UE250_VGA_COMM_LOGO
+ curX = 0; curY = screen_start;
+ if (cursor_enable) {
+ vga_drawc(CURSOR_ON, curX-screen_pan, curY);
+ }
+}
+
+// Position cursor
+void
+vga_moveto(int X, int Y)
+{
+ if (cursor_enable) {
+ vga_drawc(screen[curY][curX], curX-screen_pan, curY);
+ }
+ if (X < 0) X = 0;
+ if (X >= screen_width) X = screen_width-1;
+ curX = X;
+ if (Y < screen_start) Y = screen_start;
+ if (Y >= screen_height) Y = screen_height-1;
+ curY = Y;
+ if (cursor_enable) {
+ vga_drawc(CURSOR_ON, curX-screen_pan, curY);
+ }
+}
+
+static unsigned long _bitmap[] = {
+#ifdef FONT_LEFT_TO_RIGHT
+ 0x00000000, 0x01000000, 0x00010000, 0x01010000,
+ 0x00000100, 0x01000100, 0x00010100, 0x01010100,
+ 0x00000001, 0x01000001, 0x00010001, 0x01010001,
+ 0x00000101, 0x01000101, 0x00010101, 0x01010101,
+#else
+ 0x00000000, 0x00000001, 0x00000100, 0x00000101,
+ 0x00010000, 0x00010001, 0x00010100, 0x00010101,
+ 0x01000000, 0x01000001, 0x01000100, 0x01000101,
+ 0x01010000, 0x01010001, 0x01010100, 0x01010101
+#endif
+};
+
+// Render a character at position (X,Y) with current background/foreground
+static void
+vga_drawc(cyg_uint8 c, int x, int y)
+{
+ cyg_uint8 bits;
+ int l, p;
+ int xoff, yoff;
+ unsigned long *pix;
+
+ if ((x < 0) || (x >= VISIBLE_SCREEN_WIDTH) ||
+ (y < 0) || (y >= screen_height)) return;
+ for (l = 0; l < FONT_HEIGHT; l++) {
+ bits = font_table[c-FIRST_CHAR][l];
+ yoff = y*FONT_HEIGHT + l;
+ xoff = x*FONT_WIDTH;
+#if 0 // Render font characters one bit at a time
+ for (p = 0; p < FONT_WIDTH; p++) {
+#ifdef FONT_LEFT_TO_RIGHT
+ set_pixel(yoff, xoff + p, (bits & 0x80) ? fg : bg);
+ bits <<= 1;
+#else
+ set_pixel(yoff, xoff + p, (bits & 0x01) ? fg : bg);
+ bits >>= 1;
+#endif
+ }
+#else // Render characters 4 bits at a time
+ pix = (unsigned long *)vga_fb(yoff, xoff);
+#ifdef FONT_LEFT_TO_RIGHT
+ *pix++ = _bitmap[(bits & 0xF0) >> 4];
+ *pix++ = _bitmap[(bits & 0x0F)];
+#else
+ *pix++ = _bitmap[(bits & 0x0F)];
+ *pix++ = _bitmap[(bits & 0xF0) >> 4];
+#endif
+#endif
+ }
+}
+
+static void
+vga_refresh(void)
+{
+ int row, col;
+
+ for (row = screen_start; row < screen_height; row++) {
+ for (col = 0; col < VISIBLE_SCREEN_WIDTH; col++) {
+ if ((col+screen_pan) < screen_width) {
+ vga_drawc(screen[row][col+screen_pan], col, row);
+ } else {
+ vga_drawc(' ', col, row);
+ }
+ }
+ }
+ if (cursor_enable) {
+ vga_drawc(CURSOR_ON, curX-screen_pan, curY);
+ }
+}
+
+static void
+vga_scroll(void)
+{
+ int col;
+ cyg_uint8 *c1;
+ cyg_uint32 *lc0, *lc1, *lcn;
+ cyg_uint32 *fb_row0, *fb_row1, *fb_rown;
+
+ // First scroll up the virtual screen
+#if ((SCREEN_WIDTH%4) != 0)
+#error Scroll code optimized for screen with multiple of 4 columns
+#endif
+ lc0 = (cyg_uint32 *)&screen[0][0];
+ lc1 = (cyg_uint32 *)&screen[1][0];
+ lcn = (cyg_uint32 *)&screen[screen_height][0];
+ while (lc1 != lcn) {
+ *lc0++ = *lc1++;
+ }
+ c1 = &screen[screen_height-1][0];
+ for (col = 0; col < screen_width; col++) {
+ *c1++ = 0x20;
+ }
+#if 0 // Scrolling like this is *relly* slow
+ fb_row0 = (cyg_uint32 *)vga_fb(screen_start*FONT_HEIGHT, 0);
+ fb_row1 = (cyg_uint32 *)vga_fb((screen_start+1)*FONT_HEIGHT, 0);
+ fb_rown = (cyg_uint32 *)vga_fb(screen_end*FONT_HEIGHT, 0);
+#if 0
+ while (fb_row1 != fb_rown) {
+ *fb_row0++ = *fb_row1++;
+ }
+#else
+ // Optimized ARM assembly "move" code
+ asm __volatile(
+ "mov r0,%0;"
+ "mov r1,%1;"
+ "mov r2,%2;"
+ "10: ldmia r1!,{r3-r6};"
+ "stmia r0!,{r3-r6};"
+ "ldmia r1!,{r3-r6};"
+ "stmia r0!,{r3-r6};"
+ "cmp r1,r2;"
+ "bne 10b"
+ :
+ : "r"(fb_row0), "r"(fb_row1), "r"(fb_rown)
+ : "r0","r1","r2","r3","r4","r5","r6"
+ );
+#endif
+ // Erase bottom line
+ for (col = 0; col < screen_width; col++) {
+ vga_drawc(' ', col, screen_end-1);
+ }
+#else // Clear & redraw is faster!
+ vga_refresh();
+#endif
+}
+
+// Draw one character at the current position
+void
+vga_putc(cyg_uint8 c)
+{
+ if (cursor_enable) {
+ vga_drawc(screen[curY][curX], curX-screen_pan, curY);
+ }
+ switch (c) {
+ case '\r':
+ curX = 0;
+ break;
+ case '\n':
+ curY++;
+ break;
+ case '\b':
+ curX--;
+ if (curX < 0) {
+ curY--;
+ if (curY < 0) curY = 0;
+ curX = screen_width-1;
+ }
+ break;
+ default:
+ if (((int)c < FIRST_CHAR) || ((int)c > LAST_CHAR)) c = '.';
+ screen[curY][curX] = c;
+ vga_drawc(c, curX-screen_pan, curY);
+ curX++;
+ if (curX == screen_width) {
+ curY++;
+ curX = 0;
+ }
+ }
+ if (curY >= screen_height) {
+ vga_scroll();
+ curY = (screen_height-1);
+ }
+ if (cursor_enable) {
+ vga_drawc(CURSOR_ON, curX-screen_pan, curY);
+ }
+}
+
+// Basic VGA 'printf()' support
+
+#include <stdarg.h>
+
+#define is_digit(c) ((c >= '0') && (c <= '9'))
+
+static int
+_cvt(unsigned long val, char *buf, long radix, char *digits)
+{
+ char temp[80];
+ char *cp = temp;
+ int length = 0;
+
+ if (val == 0) {
+ /* Special case */
+ *cp++ = '0';
+ } else {
+ while (val) {
+ *cp++ = digits[val % radix];
+ val /= radix;
+ }
+ }
+ while (cp != temp) {
+ *buf++ = *--cp;
+ length++;
+ }
+ *buf = '\0';
+ return (length);
+}
+
+static int
+vga_vprintf(void (*putc)(cyg_uint8), const char *fmt0, va_list ap)
+{
+ char c, sign, *cp;
+ int left_prec, right_prec, zero_fill, length, pad, pad_on_right;
+ char buf[32];
+ long val;
+
+ while ((c = *fmt0++)) {
+ cp = buf;
+ length = 0;
+ if (c == '%') {
+ c = *fmt0++;
+ left_prec = right_prec = pad_on_right = 0;
+ if (c == '-') {
+ c = *fmt0++;
+ pad_on_right++;
+ }
+ if (c == '0') {
+ zero_fill = TRUE;
+ c = *fmt0++;
+ } else {
+ zero_fill = FALSE;
+ }
+ while (is_digit(c)) {
+ left_prec = (left_prec * 10) + (c - '0');
+ c = *fmt0++;
+ }
+ if (c == '.') {
+ c = *fmt0++;
+ zero_fill++;
+ while (is_digit(c)) {
+ right_prec = (right_prec * 10) + (c - '0');
+ c = *fmt0++;
+ }
+ } else {
+ right_prec = left_prec;
+ }
+ sign = '\0';
+ switch (c) {
+ case 'd':
+ case 'x':
+ case 'X':
+ val = va_arg(ap, long);
+ switch (c) {
+ case 'd':
+ if (val < 0) {
+ sign = '-';
+ val = -val;
+ }
+ length = _cvt(val, buf, 10, "0123456789");
+ break;
+ case 'x':
+ length = _cvt(val, buf, 16, "0123456789abcdef");
+ break;
+ case 'X':
+ length = _cvt(val, buf, 16, "0123456789ABCDEF");
+ break;
+ }
+ break;
+ case 's':
+ cp = va_arg(ap, char *);
+ length = strlen(cp);
+ break;
+ case 'c':
+ c = va_arg(ap, long /*char*/);
+ (*putc)(c);
+ continue;
+ default:
+ (*putc)('?');
+ }
+ pad = left_prec - length;
+ if (sign != '\0') {
+ pad--;
+ }
+ if (zero_fill) {
+ c = '0';
+ if (sign != '\0') {
+ (*putc)(sign);
+ sign = '\0';
+ }
+ } else {
+ c = ' ';
+ }
+ if (!pad_on_right) {
+ while (pad-- > 0) {
+ (*putc)(c);
+ }
+ }
+ if (sign != '\0') {
+ (*putc)(sign);
+ }
+ while (length-- > 0) {
+ (*putc)(c = *cp++);
+ if (c == '\n') {
+ (*putc)('\r');
+ }
+ }
+ if (pad_on_right) {
+ while (pad-- > 0) {
+ (*putc)(' ');
+ }
+ }
+ } else {
+ (*putc)(c);
+ if (c == '\n') {
+ (*putc)('\r');
+ }
+ }
+ }
+
+ // FIXME
+ return 0;
+}
+
+int
+_vga_printf(char const *fmt, ...)
+{
+ int ret;
+ va_list ap;
+
+ va_start(ap, fmt);
+ ret = vga_vprintf(vga_putc, fmt, ap);
+ va_end(ap);
+ return (ret);
+}
+
+//
+// Support VGA/keyboard (PS2) as a virtual I/O channel
+// Adapted from i386/pcmb_screen.c
+//
+
+
+//-----------------------------------------------------------------------------
+// Keyboard definitions
+
+#define KBDATAPORT 0x0060 // data I/O port
+#define KBCMDPORT 0x0064 // command port (write)
+#define KBSTATPORT 0x0064 // status port (read)
+
+#define KBINRDY 0x01
+#define KBOUTRDY 0x02
+#define KBTXTO 0x40 // Transmit timeout - nothing there
+#define KBTEST 0xAB
+
+// Scan codes
+
+#define LSHIFT 0x2a
+#define RSHIFT 0x36
+#define CTRL 0x1d
+#define ALT 0x38
+#define CAPS 0x3a
+#define NUMS 0x45
+
+#define BREAK 0x80
+
+// Bits for KBFlags
+
+#define KBNormal 0x0000
+#define KBShift 0x0001
+#define KBCtrl 0x0002
+#define KBAlt 0x0004
+#define KBIndex 0x0007 // mask for the above
+
+#define KBExtend 0x0010
+#define KBAck 0x0020
+#define KBResend 0x0040
+#define KBShiftL (0x0080 | KBShift)
+#define KBShiftR (0x0100 | KBShift)
+#define KBCtrlL (0x0200 | KBCtrl)
+#define KBCtrlR (0x0400 | KBCtrl)
+#define KBAltL (0x0800 | KBAlt)
+#define KBAltR (0x1000 | KBAlt)
+#define KBCapsLock 0x2000
+#define KBNumLock 0x4000
+
+#define KBArrowUp 0x48
+#define KBArrowRight 0x4D
+#define KBArrowLeft 0x4B
+#define KBArrowDown 0x50
+
+//-----------------------------------------------------------------------------
+// Keyboard Variables
+
+static int KBFlags = 0;
+
+static CYG_BYTE KBPending = 0xFF;
+
+static CYG_BYTE KBScanTable[128][4] = {
+// Normal Shift Control Alt
+// 0x00
+ { 0xFF, 0xFF, 0xFF, 0xFF, },
+ { 0x1b, 0x1b, 0x1b, 0xFF, },
+ { '1', '!', 0xFF, 0xFF, },
+ { '2', '"', 0xFF, 0xFF, },
+ { '3', '#', 0xFF, 0xFF, },
+ { '4', '$', 0xFF, 0xFF, },
+ { '5', '%', 0xFF, 0xFF, },
+ { '6', '^', 0xFF, 0xFF, },
+ { '7', '&', 0xFF, 0xFF, },
+ { '8', '*', 0xFF, 0xFF, },
+ { '9', '(', 0xFF, 0xFF, },
+ { '0', ')', 0xFF, 0xFF, },
+ { '-', '_', 0xFF, 0xFF, },
+ { '=', '+', 0xFF, 0xFF, },
+ { '\b', '\b', 0xFF, 0xFF, },
+ { '\t', '\t', 0xFF, 0xFF, },
+// 0x10
+ { 'q', 'Q', 0x11, 0xFF, },
+ { 'w', 'W', 0x17, 0xFF, },
+ { 'e', 'E', 0x05, 0xFF, },
+ { 'r', 'R', 0x12, 0xFF, },
+ { 't', 'T', 0x14, 0xFF, },
+ { 'y', 'Y', 0x19, 0xFF, },
+ { 'u', 'U', 0x15, 0xFF, },
+ { 'i', 'I', 0x09, 0xFF, },
+ { 'o', 'O', 0x0F, 0xFF, },
+ { 'p', 'P', 0x10, 0xFF, },
+ { '[', '{', 0x1b, 0xFF, },
+ { ']', '}', 0x1d, 0xFF, },
+ { '\r', '\r', '\n', 0xFF, },
+ { 0xFF, 0xFF, 0xFF, 0xFF, },
+ { 'a', 'A', 0x01, 0xFF, },
+ { 's', 'S', 0x13, 0xFF, },
+// 0x20
+ { 'd', 'D', 0x04, 0xFF, },
+ { 'f', 'F', 0x06, 0xFF, },
+ { 'g', 'G', 0x07, 0xFF, },
+ { 'h', 'H', 0x08, 0xFF, },
+ { 'j', 'J', 0x0a, 0xFF, },
+ { 'k', 'K', 0x0b, 0xFF, },
+ { 'l', 'L', 0x0c, 0xFF, },
+ { ';', ':', 0xFF, 0xFF, },
+ { 0x27, '@', 0xFF, 0xFF, },
+ { '#', '~', 0xFF, 0xFF, },
+ { '`', '~', 0xFF, 0xFF, },
+ { '\\', '|', 0x1C, 0xFF, },
+ { 'z', 'Z', 0x1A, 0xFF, },
+ { 'x', 'X', 0x18, 0xFF, },
+ { 'c', 'C', 0x03, 0xFF, },
+ { 'v', 'V', 0x16, 0xFF, },
+// 0x30
+ { 'b', 'B', 0x02, 0xFF, },
+ { 'n', 'N', 0x0E, 0xFF, },
+ { 'm', 'M', 0x0D, 0xFF, },
+ { ',', '<', 0xFF, 0xFF, },
+ { '.', '>', 0xFF, 0xFF, },
+ { '/', '?', 0xFF, 0xFF, },
+ { 0xFF, 0xFF, 0xFF, 0xFF, },
+ { 0xFF, 0xFF, 0xFF, 0xFF, },
+ { 0xFF, 0xFF, 0xFF, 0xFF, },
+ { ' ', ' ', ' ', ' ', },
+ { 0xFF, 0xFF, 0xFF, 0xFF, },
+ { 0xF1, 0xE1, 0xFF, 0xFF, },
+ { 0xF2, 0xE2, 0xFF, 0xFF, },
+ { 0xF3, 0xE3, 0xFF, 0xFF, },
+ { 0xF4, 0xE4, 0xFF, 0xFF, },
+ { 0xF5, 0xE5, 0xFF, 0xFF, },
+// 0x40
+ { 0xFF, 0xFF, 0xFF, 0xFF, },
+ { 0xFF, 0xFF, 0xFF, 0xFF, },
+ { 0xFF, 0xFF, 0xFF, 0xFF, },
+ { 0xFF, 0xFF, 0xFF, 0xFF, },
+ { 0xFF, 0xFF, 0xFF, 0xFF, },
+ { 0xFF, 0xFF, 0xFF, 0xFF, },
+ { 0xFF, 0xFF, 0xFF, 0xFF, },
+ { 0xFF, 0xFF, 0xFF, 0xFF, },
+
+ { 0x15, 0x15, 0x15, 0x15, },
+ { 0x10, 0x10, 0x10, 0x10, },
+ { 0xFF, 0xFF, 0xFF, 0xFF, },
+ { 0xFF, 0xFF, 0xFF, 0xFF, },
+ { 0xFF, 0xFF, 0xFF, 0xFF, },
+ { 0xFF, 0xFF, 0xFF, 0xFF, },
+ { 0xFF, 0xFF, 0xFF, 0xFF, },
+ { 0xFF, 0xFF, 0xFF, 0xFF, },
+// 0x50
+ { 0x04, 0x04, 0x04, 0x04, },
+ { 0x0e, 0x0e, 0x0e, 0x0e, },
+ { 0xFF, 0xFF, 0xFF, 0xFF, },
+ { 0xFF, 0xFF, 0xFF, 0xFF, },
+ { 0xFF, 0xFF, 0xFF, 0xFF, },
+ { 0xFF, 0xFF, 0xFF, 0xFF, },
+ { 0xFF, 0xFF, 0xFF, 0xFF, },
+ { 0xFF, 0xFF, 0xFF, 0xFF, },
+ { 0xFF, 0xFF, 0xFF, 0xFF, },
+ { 0xFF, 0xFF, 0xFF, 0xFF, },
+ { 0xFF, 0xFF, 0xFF, 0xFF, },
+ { 0xFF, 0xFF, 0xFF, 0xFF, },
+ { 0xFF, 0xFF, 0xFF, 0xFF, },
+ { 0xFF, 0xFF, 0xFF, 0xFF, },
+ { 0xFF, 0xFF, 0xFF, 0xFF, },
+ { 0xFF, 0xFF, 0xFF, 0xFF, },
+// 0x60
+ { 0xFF, 0xFF, 0xFF, 0xFF, },
+ { 0xFF, 0xFF, 0xFF, 0xFF, },
+ { 0xFF, 0xFF, 0xFF, 0xFF, },
+ { 0xFF, 0xFF, 0xFF, 0xFF, },
+ { 0xFF, 0xFF, 0xFF, 0xFF, },
+ { 0xFF, 0xFF, 0xFF, 0xFF, },
+ { 0xFF, 0xFF, 0xFF, 0xFF, },
+ { 0xFF, 0xFF, 0xFF, 0xFF, },
+ { 0xFF, 0xFF, 0xFF, 0xFF, },
+ { 0xFF, 0xFF, 0xFF, 0xFF, },
+ { 0xFF, 0xFF, 0xFF, 0xFF, },
+ { 0xFF, 0xFF, 0xFF, 0xFF, },
+ { 0xFF, 0xFF, 0xFF, 0xFF, },
+ { 0xFF, 0xFF, 0xFF, 0xFF, },
+ { 0xFF, 0xFF, 0xFF, 0xFF, },
+ { 0xFF, 0xFF, 0xFF, 0xFF, },
+// 0x70
+ { 0xFF, 0xFF, 0xFF, 0xFF, },
+ { 0xFF, 0xFF, 0xFF, 0xFF, },
+ { 0xFF, 0xFF, 0xFF, 0xFF, },
+ { 0xFF, 0xFF, 0xFF, 0xFF, },
+ { 0xFF, 0xFF, 0xFF, 0xFF, },
+ { 0xFF, 0xFF, 0xFF, 0xFF, },
+ { 0xFF, 0xFF, 0xFF, 0xFF, },
+ { 0xFF, 0xFF, 0xFF, 0xFF, },
+ { 0xFF, 0xFF, 0xFF, 0xFF, },
+ { 0xFF, 0xFF, 0xFF, 0xFF, },
+ { 0xFF, 0xFF, 0xFF, 0xFF, },
+ { 0xFF, 0xFF, 0xFF, 0xFF, },
+ { 0xFF, 0xFF, 0xFF, 0xFF, },
+ { 0xFF, 0xFF, 0xFF, 0xFF, },
+ { 0xFF, 0xFF, 0xFF, 0xFF, },
+ { 0xFF, 0xFF, 0xFF, 0xFF, },
+};
+
+static int KBIndexTab[8] = { 0, 1, 2, 2, 3, 3, 3, 3 };
+
+//-----------------------------------------------------------------------------
+
+static __inline__ cyg_uint8
+inb(cyg_uint32 port)
+{
+ cyg_uint8 val;
+ val = localbus_readl(port<<2);
+ return val;
+}
+
+static __inline__ void
+outb(cyg_uint32 port, cyg_uint8 val)
+{
+ localbus_writel(val, port<<2);
+}
+
+static cyg_bool
+KeyboardInit(void)
+{
+ unsigned char c, s;
+
+ /* flush input queue */
+ while ((inb(KBSTATPORT) & KBINRDY)) {
+ (void)inb(KBDATAPORT);
+ }
+
+ /* Send self-test - controller local */
+ while (inb(KBSTATPORT) & KBOUTRDY) c = inb(KBDATAPORT);
+ outb(KBCMDPORT,0xAA);
+ while ((inb(KBSTATPORT) & KBINRDY) == 0) ; /* wait input ready */
+ if ((c = inb(KBDATAPORT)) != 0x55) {
+#ifdef DEBUG_KBD_INIT
+ diag_printf("Keyboard self test failed - result: %x\n", c);
+#endif
+ return false;
+ }
+
+ /* Enable interrupts and keyboard controller */
+ while (inb(KBSTATPORT) & KBOUTRDY) ;
+ outb(KBCMDPORT,0x60);
+ while (inb(KBSTATPORT) & KBOUTRDY) ;
+ outb(KBCMDPORT,0x45);
+ CYGACC_CALL_IF_DELAY_US(10000); // 10ms
+
+ while (inb(KBSTATPORT) & KBOUTRDY) ;
+ outb(KBCMDPORT,0xAE); // Enable keyboard
+
+ /* See if a keyboard is connected */
+ while (inb(KBSTATPORT) & KBOUTRDY) ;
+ outb(KBDATAPORT,0xFF);
+ while (((s = inb(KBSTATPORT)) & (KBINRDY|KBTXTO)) == 0) ; /* wait input ready */
+ if ((s & KBTXTO) || ((c = inb(KBDATAPORT)) != 0xFA)) {
+#ifdef DEBUG_KBD_INIT
+ diag_printf("Keyboard reset failed - no ACK: %x, stat: %x\n", c, s);
+#endif
+ return false;
+ }
+ while (((s = inb(KBSTATPORT)) & KBINRDY) == 0) ; /* wait input ready */
+ if ((s & KBTXTO) || ((c = inb(KBDATAPORT)) != 0xAA)) {
+#ifdef DEBUG_KBD_INIT
+ diag_printf("Keyboard reset failed - bad code: %x, stat: %x\n", c, s);
+#endif
+ return false;
+ }
+
+ // Set scan mode
+ while (inb(KBSTATPORT) & KBOUTRDY) ;
+ outb(KBCMDPORT,0x20);
+ while ((inb(KBSTATPORT) & KBINRDY) == 0) ; /* wait input ready */
+ if (! (inb(KBDATAPORT) & 0x40)) {
+ /*
+ * Quote from PS/2 System Reference Manual:
+ *
+ * "Address hex 0060 and address hex 0064 should be
+ * written only when the input-buffer-full bit and
+ * output-buffer-full bit in the Controller Status
+ * register are set 0." (KBINRDY and KBOUTRDY)
+ */
+
+ while (inb(KBSTATPORT) & (KBINRDY | KBOUTRDY)) ;
+ outb(KBDATAPORT,0xF0);
+ while (inb(KBSTATPORT) & (KBINRDY | KBOUTRDY)) ;
+ outb(KBDATAPORT,0x01);
+ }
+
+ KBFlags = 0;
+ return true;
+} /* KeyboardInit */
+
+//-----------------------------------------------------------------------------
+
+static CYG_BYTE
+KeyboardAscii(CYG_BYTE scancode)
+{
+ CYG_BYTE ascii = 0xFF;
+
+ // Start by handling all shift/ctl keys:
+
+ switch( scancode ) {
+ case 0xe0:
+ KBFlags |= KBExtend;
+ return 0xFF;
+
+ case 0xfa:
+ KBFlags |= KBAck;
+ return 0xFF;
+
+ case 0xfe:
+ KBFlags |= KBResend;
+ return 0xFF;
+
+ case LSHIFT:
+ KBFlags |= KBShiftL;
+ return 0xFF;
+
+ case LSHIFT | BREAK:
+ KBFlags &= ~KBShiftL;
+ return 0xFF;
+
+ case RSHIFT:
+ KBFlags |= KBShiftR;
+ return 0xFF;
+
+ case RSHIFT | BREAK:
+ KBFlags &= ~KBShiftR;
+ return 0xFF;
+
+ case CTRL:
+ if( KBFlags & KBExtend )
+ {
+ KBFlags |= KBCtrlR;
+ KBFlags &= ~KBExtend;
+ }
+ else KBFlags |= KBCtrlL;
+ return 0xFF;
+
+ case CTRL | BREAK:
+ if( KBFlags & KBExtend )
+ {
+ KBFlags &= ~KBCtrlR;
+ KBFlags &= ~KBExtend;
+ }
+ else KBFlags &= ~KBCtrlL;
+ return 0xFF;
+
+
+ case ALT:
+ if( KBFlags & KBExtend )
+ {
+ KBFlags |= KBAltR;
+ KBFlags &= ~KBExtend;
+ }
+ else KBFlags |= KBAltL;
+ return 0xFF;
+
+ case ALT | BREAK:
+ if( KBFlags & KBExtend )
+ {
+ KBFlags &= ~KBAltR;
+ KBFlags &= ~KBExtend;
+ }
+ else KBFlags &= ~KBAltL;
+ return 0xFF;
+
+ case CAPS:
+ KBFlags ^= KBCapsLock;
+ case CAPS | BREAK:
+ return 0xFF;
+
+ case NUMS:
+ KBFlags ^= KBNumLock;
+ case NUMS | BREAK:
+ return 0xFF;
+
+ case KBArrowUp:
+ case KBArrowDown:
+ screen_pan = 0;
+ vga_refresh();
+ break;
+ case KBArrowLeft:
+ screen_pan -= SCREEN_PAN;
+ if (screen_pan < 0) screen_pan = 0;
+ vga_refresh();
+ break;
+ case KBArrowRight:
+ screen_pan += SCREEN_PAN;
+ if (screen_pan > (SCREEN_WIDTH-SCREEN_PAN))
+ screen_pan = SCREEN_WIDTH-SCREEN_PAN;
+ vga_refresh();
+ break;
+
+ }
+
+ // Clear Extend flag if set
+ KBFlags &= ~KBExtend;
+
+ // Ignore all other BREAK codes
+ if( scancode & 0x80 ) return 0xFF;
+
+ // Here the scancode is for something we can turn
+ // into an ASCII value
+
+ ascii = KBScanTable[scancode & 0x7F][KBIndexTab[KBFlags & KBIndex]];
+
+ return ascii;
+
+} /* KeyboardAscii */
+
+//-----------------------------------------------------------------------------
+
+static int
+KeyboardTest(void)
+{
+ // If there is a pending character, return True
+ if( KBPending != 0xFF ) return true;
+
+ // If there is something waiting at the port, get it
+ for(;;) {
+ CYG_BYTE stat, code;
+ CYG_BYTE c;
+
+ stat = inb(KBSTATPORT);
+
+ if( (stat & KBINRDY) == 0 )
+ break;
+
+ code = inb(KBDATAPORT);
+
+ // Translate to ASCII
+ c = KeyboardAscii(code);
+
+ // if it is a real ASCII char, save it and
+ // return True.
+ if( c != 0xFF ) {
+ KBPending = c;
+ return true;
+ }
+ }
+
+ // Otherwise return False
+ return false;
+
+} /* KeyboardTest */
+
+char
+KeyboardChar(void)
+{
+ char c = KBPending;
+ KBPending = 0xFF;
+ return c;
+}
+
+static int _timeout = 500;
+
+static cyg_bool
+vga_comm_getc_nonblock(void* __ch_data, cyg_uint8* ch)
+{
+ if( !KeyboardTest() )
+ return false;
+ *ch = KBPending;
+ KBPending = 0xFF;
+ return true;
+}
+
+static cyg_uint8
+vga_comm_getc(void* __ch_data)
+{
+ cyg_uint8 ch;
+
+ while (!vga_comm_getc_nonblock(__ch_data, &ch)) ;
+ return ch;
+}
+
+static void
+vga_comm_putc(void* __ch_data, cyg_uint8 c)
+{
+ vga_putc(c);
+}
+
+static void
+vga_comm_write(void* __ch_data, const cyg_uint8* __buf, cyg_uint32 __len)
+{
+#if 0
+ CYGARC_HAL_SAVE_GP();
+
+ while(__len-- > 0)
+ vga_comm_putc(__ch_data, *__buf++);
+
+ CYGARC_HAL_RESTORE_GP();
+#endif
+}
+
+static void
+vga_comm_read(void* __ch_data, cyg_uint8* __buf, cyg_uint32 __len)
+{
+#if 0
+ CYGARC_HAL_SAVE_GP();
+
+ while(__len-- > 0)
+ *__buf++ = vga_comm_getc(__ch_data);
+
+ CYGARC_HAL_RESTORE_GP();
+#endif
+}
+
+static cyg_bool
+vga_comm_getc_timeout(void* __ch_data, cyg_uint8* ch)
+{
+ int delay_count;
+ cyg_bool res;
+
+ delay_count = _timeout * 2; // delay in .5 ms steps
+ for(;;) {
+ res = vga_comm_getc_nonblock(__ch_data, ch);
+ if (res || 0 == delay_count--)
+ break;
+ CYGACC_CALL_IF_DELAY_US(500);
+ }
+ return res;
+}
+
+static int
+vga_comm_control(void *__ch_data, __comm_control_cmd_t __func, ...)
+{
+ static int vector = 0;
+ int ret = -1;
+ static int irq_state = 0;
+
+ CYGARC_HAL_SAVE_GP();
+
+ switch (__func) {
+ case __COMMCTL_IRQ_ENABLE:
+ ret = irq_state;
+ irq_state = 1;
+ break;
+ case __COMMCTL_IRQ_DISABLE:
+ ret = irq_state;
+ irq_state = 0;
+ break;
+ case __COMMCTL_DBG_ISR_VECTOR:
+ ret = vector;
+ break;
+ case __COMMCTL_SET_TIMEOUT:
+ {
+ va_list ap;
+
+ va_start(ap, __func);
+
+ ret = _timeout;
+ _timeout = va_arg(ap, cyg_uint32);
+
+ va_end(ap);
+ break;
+ }
+ case __COMMCTL_FLUSH_OUTPUT:
+ ret = 0;
+ break;
+ default:
+ break;
+ }
+ CYGARC_HAL_RESTORE_GP();
+ return ret;
+}
+
+static int
+vga_comm_isr(void *__ch_data, int* __ctrlc,
+ CYG_ADDRWORD __vector, CYG_ADDRWORD __data)
+{
+#if 0
+ char ch;
+
+ cyg_drv_interrupt_acknowledge(__vector);
+ *__ctrlc = 0;
+ if (vga_comm_getc_nonblock(__ch_data, &ch)) {
+ if (ch == 0x03) {
+ *__ctrlc = 1;
+ }
+ }
+ return CYG_ISR_HANDLED;
+#else
+ return 0;
+#endif
+}
+
+void
+vga_comm_init(cyg_uint32 *addr)
+{
+ static int init = 0;
+
+ if (!init) {
+ hal_virtual_comm_table_t* comm;
+ int cur = CYGACC_CALL_IF_SET_CONSOLE_COMM(CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT);
+
+ init = 1;
+ if (!KeyboardInit()) {
+ // No keyboard - no VGA/CRT display
+ return;
+ }
+
+ // Initialize screen
+ cursor_enable = true;
+ vga_init(addr);
+ vga_on(true);
+ vga_screen_clear();
+
+ // Setup procs in the vector table
+ CYGACC_CALL_IF_SET_CONSOLE_COMM(1); // FIXME - should be controlled by CDL
+ comm = CYGACC_CALL_IF_CONSOLE_PROCS();
+ //CYGACC_COMM_IF_CH_DATA_SET(*comm, chan);
+ CYGACC_COMM_IF_WRITE_SET(*comm, vga_comm_write);
+ CYGACC_COMM_IF_READ_SET(*comm, vga_comm_read);
+ CYGACC_COMM_IF_PUTC_SET(*comm, vga_comm_putc);
+ CYGACC_COMM_IF_GETC_SET(*comm, vga_comm_getc);
+ CYGACC_COMM_IF_CONTROL_SET(*comm, vga_comm_control);
+ CYGACC_COMM_IF_DBG_ISR_SET(*comm, vga_comm_isr);
+ CYGACC_COMM_IF_GETC_TIMEOUT_SET(*comm, vga_comm_getc_timeout);
+
+ // Restore original console
+ CYGACC_CALL_IF_SET_CONSOLE_COMM(cur);
+ }
+}
+
+#ifdef CYGPKG_REDBOOT
+#include <redboot.h>
+
+// Get here when RedBoot is idle. If it's been long enough, then
+// dim the VGA. The problem is - how to determine other activities
+// so at this doesn't get in the way. In the default case, this will
+// be called from RedBoot every 10ms (CYGNUM_REDBOOT_CLI_IDLE_TIMEOUT)
+
+#define MAX_IDLE_TIME (30*100)
+
+static void
+idle(bool is_idle)
+{
+ static int idle_time = 0;
+ static bool was_idled = false;
+
+ if (is_idle) {
+ if (!was_idled) {
+ if (++idle_time == MAX_IDLE_TIME) {
+ was_idled = true;
+ vga_on(false);
+ }
+ }
+ } else {
+ idle_time = 0;
+ if (was_idled) {
+ was_idled = false;
+ vga_on(true);
+ }
+ }
+}
+
+RedBoot_idle(idle, RedBoot_AFTER_NETIO);
+#endif
+#endif
Index: hal/arm/xscale/uE250/current/src/xilinx-load.c
===================================================================
RCS file: /misc/cvsfiles/ecos/packages/hal/arm/xscale/uE250/current/src/xilinx-load.c,v
retrieving revision 1.1
diff -u -5 -p -b -r1.1 xilinx-load.c
--- hal/arm/xscale/uE250/current/src/xilinx-load.c 21 Feb 2003 18:17:34 -0000 1.1
+++ hal/arm/xscale/uE250/current/src/xilinx-load.c 25 Feb 2003 23:34:29 -0000
@@ -6,11 +6,10 @@
//
//==========================================================================
//####ECOSGPLCOPYRIGHTBEGIN####
// -------------------------------------------
// This file is part of eCos, the Embedded Configurable Operating System.
-// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
// Copyright (C) 2003 Gary Thomas <gary at mind dot be>
//
// eCos 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; either version 2 or (at your option) any later version.
--
------------------------------------------------------------
Gary Thomas |
MLB Associates | Consulting for the
+1 (970) 229-1963 | Embedded world
http://www.mlbassoc.com/ |
email: <gary at mlbassoc dot com> |
gpg: http://www.chez-thomas.org/gary/gpg_key.asc
------------------------------------------------------------